[tool.poetry] name = "lnbits" version = "0.9.7" description = "LNbits, free and open-source Lightning wallet and accounts system." authors = ["Alan Bits "] [tool.poetry.build] generate-setup-file = false script = "tools/build.py" [tool.poetry.dependencies] python = "^3.10 | ^3.9 | ^3.8 | ^3.7" aiofiles = "0.8.0" asgiref = "3.4.1" attrs = "22.2.0" bech32 = "1.2.0" bitstring = "3.1.9" certifi = "2022.12.7" charset-normalizer = "2.0.12" click = "8.0.4" ecdsa = "0.18.0" embit = "0.4.9" fastapi = "0.83.0" h11 = "0.12.0" httpcore = "0.15.0" httptools = "0.4.0" httpx = "0.23.0" idna = "3.4" importlib-metadata = "5.2.0" jinja2 = "3.0.1" lnurl = "0.3.6" markupsafe = "2.0.1" marshmallow = "3.19.0" outcome = "1.2.0" psycopg2-binary = "2.9.1" pycryptodomex = "3.16.0" pydantic = "1.10.4" pypng = "0.0.21" pyqrcode = "1.2.1" pyScss = "1.4.0" pyyaml = "5.4.1" represent = "1.6.0.post0" rfc3986 = "1.5.0" secp256k1 = "0.14.0" shortuuid = "1.0.1" six = "1.16.0" sniffio = "1.3.0" sqlalchemy = "1.3.24" sqlalchemy-aio = "0.17.0" sse-starlette = "0.6.2" typing-extensions = "4.4.0" uvicorn = "0.18.3" uvloop = "0.16.0" watchgod = "0.7" websockets = "10.0" zipp = "3.11.0" loguru = "0.6.0" cffi = "1.15.1" websocket-client = "1.3.3" grpcio = "1.51.1" protobuf = "4.21.12" Cerberus = "1.3.4" async-timeout = "4.0.2" pyln-client = "0.11.1" boltz-client = "0.1.3" cashu = "0.9.0" [tool.poetry.dev-dependencies] isort = "^5.10.1" pytest = "^7.1.2" mock = "^4.0.3" black = "^22.6.0" pytest-asyncio = "^0.19.0" pytest-cov = "^3.0.0" mypy = "^0.971" types-protobuf = "^3.19.22" flake8 = { version = "^6.0.0", python = ">=3.8.1" } pylint = { version = "^2.15.10", python = ">=3.7.2" } [build-system] requires = ["poetry-core>=1.0.0", "pyScss"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] lnbits = "lnbits.server:main" [tool.isort] profile = "black" [tool.pyright] include = [ "lnbits" ] exclude = [ "lnbits/wallets/lnd_grpc_files", ] [tool.mypy] files = "lnbits" exclude = """(?x)( ^lnbits/wallets/lnd_grpc_files. )""" [[tool.mypy.overrides]] module = [ "embit.*", "secp256k1.*", "uvicorn.*", "sqlalchemy.*", "sqlalchemy_aio.*", "websocket.*", "websockets.*", "pyqrcode.*", "cashu.*", "shortuuid.*", "grpc.*", "lnurl.*", "bitstring.*", "ecdsa.*", "psycopg2.*", "pyngrok.*", ] ignore_missing_imports = "True" [tool.pytest.ini_options] addopts = "--durations=1 -s --cov=lnbits --cov-report=xml" testpaths = [ "tests" ] [tool.pylint.'MESSAGES CONTROL'] max-line-length = 300 disable = "all" enable = [ "assignment-from-none", "chained-comparison", "consider-merging-isinstance", "consider-using-dict-comprehension", "consider-using-dict-items", "consider-using-f-string", "consider-using-in", "dangerous-default-value", "inconsistent-return-statements", "lost-exception", "pointless-string-statement", "simplifiable-if-statement", "super-init-not-called", "superfluous-parens", "unused-variable", "use-list-literal", "useless-else-on-loop", "useless-object-inheritance", ] [tool.pylint.MASTER] ignore-paths = [ "^lnbits/wallets/lnd_grpc_files/.*$", ] fail-under = 10.0 jobs = 0