[tool.poetry] name = "cashu" version = "0.16.0" description = "Ecash wallet and mint" authors = ["calle "] license = "MIT" [tool.poetry.dependencies] python = "^3.8.1" SQLAlchemy = {version = "1.4.52", extras = ["asyncio"]} click = "^8.1.7" pydantic = "^1.10.2" bech32 = "^1.2.0" fastapi = "^0.104.1" environs = "^9.5.0" uvicorn = "0.23.2" loguru = "^0.7.0" ecdsa = "^0.18.0" bitstring = "^3.1.9" secp256k1 = "^0.14.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" httpx = {extras = ["socks"], version = "^0.25.1"} bip32 = "^4.0" mnemonic = "^0.20" bolt11 = "^2.0.5" pre-commit = "^3.5.0" websockets = "^12.0" slowapi = "^0.1.9" cbor2 = "^5.6.2" asyncpg = "^0.29.0" aiosqlite = "^0.20.0" grpcio = "^1.65.1" googleapis-common-protos = "^1.63.2" mypy-protobuf = "^3.6.0" types-protobuf = "^5.27.0.20240626" grpcio-tools = "^1.65.1" [tool.poetry.group.dev.dependencies] pytest-asyncio = "^0.21.1" pytest-cov = "^4.0.0" pytest = "^7.4.0" pre-commit = "^3.3.3" fastapi-profiler = "^1.2.0" respx = "^0.20.2" ruff = "^0.2.1" mypy = "^1.8.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.ruff] line-length = 88 show-fixes = true [tool.ruff.lint] # (`I`) means isorting extend-select = ["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]+?))$" [tool.ruff.lint.mccabe] # Unlike Flake8, default to a complexity level of 10. max-complexity = 10