[tool.poetry] name = "cashu" version = "0.14.0" description = "Ecash wallet and mint" authors = ["calle "] license = "MIT" [tool.poetry.dependencies] python = "^3.8.1" SQLAlchemy = "^1.3.24" click = "^8.1.7" pydantic = "^1.10.2" bech32 = "^1.2.0" fastapi = "0.103.0" environs = "^9.5.0" uvicorn = "0.23.2" loguru = "^0.7.0" ecdsa = "^0.18.0" bitstring = "^3.1.9" secp256k1 = "^0.14.0" sqlalchemy-aio = "^0.17.0" h11 = "^0.14.0" cryptography = "^41.0.3" websocket-client = "^1.3.3" pycryptodomex = "^3.16.0" setuptools = "^68.1.2" wheel = "^0.41.1" importlib-metadata = "^6.8.0" psycopg2-binary = { version = "^2.9.7", optional = true } httpx = {extras = ["socks"], version = "^0.25.1"} bip32 = "^3.4" mnemonic = "^0.20" bolt11 = "^2.0.5" [tool.poetry.extras] pgsql = ["psycopg2-binary"] [tool.poetry.group.dev.dependencies] mypy = "^1.5.1" black = "^23.7.0" pytest-asyncio = "^0.21.1" pytest-cov = "^4.0.0" pytest = "^7.4.0" ruff = "^0.0.284" pre-commit = "^3.3.3" fastapi-profiler = "^1.2.0" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] mint = "cashu.mint.main:main" cashu = "cashu.wallet.cli.cli:cli" wallet-test = "tests.test_wallet:test" [tool.black] line-length = 88 # previously experimental-string-processing = true # this should autoformat string properly but does not work preview = true [tool.ruff] # Same as Black. but black has a 10% overflow rule line-length = 150 # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. # (`I`) means isorting select = ["E", "F", "I"] ignore = [] # Allow autofix for all enabled rules (when `--fix`) is provided. fixable = ["ALL"] unfixable = [] # Exclude a variety of commonly ignored directories. exclude = [ "cashu/nostr", "cashu/core/bolt11.py", ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", ] # Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" # Assume Python 3.8 # target-version = "py38" [tool.ruff.mccabe] # Unlike Flake8, default to a complexity level of 10. max-complexity = 10