[project] name = "lnbits-nostrclient" version = "0.0.0" requires-python = ">=3.10,<3.13" description = "LNbits, free and open-source Lightning wallet and accounts system." authors = [{ name = "Alan Bits", email = "alan@lnbits.com" }] urls = { Homepage = "https://lnbits.com", Repository = "https://github.com/lnbits/nostrclient" } dependencies = [ "lnbits>1" ] [tool.poetry] package-mode = false [tool.uv] dev-dependencies = [ "black", "pytest-asyncio", "pytest", "mypy", "pre-commit", "ruff", "pytest-md", "types-cffi", ] [tool.mypy] exclude = "(nostr/*)" plugins = ["pydantic.mypy"] [[tool.mypy.overrides]] module = [ "nostr.*", "secp256k1.*", ] follow_imports = "skip" ignore_missing_imports = "True" [tool.pydantic-mypy] init_forbid_extra = true init_typed = true warn_required_dynamic_aliases = true warn_untyped_fields = true [tool.pytest.ini_options] log_cli = false testpaths = [ "tests" ] [tool.black] line-length = 88 [tool.ruff] # Same as Black. + 10% rule of black line-length = 88 exclude = [ "nostr", ] [tool.ruff.lint] # Enable: # F - pyflakes # E - pycodestyle errors # W - pycodestyle warnings # I - isort # A - flake8-builtins # C - mccabe # N - naming # UP - pyupgrade # RUF - ruff # B - bugbear select = ["F", "E", "W", "I", "A", "C", "N", "UP", "RUF", "B"] ignore = ["C901"] # Allow autofix for all enabled rules (when `--fix`) is provided. fixable = ["ALL"] unfixable = [] # Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" # needed for pydantic [tool.ruff.lint.pep8-naming] classmethod-decorators = [ "root_validator", ] # Ignore unused imports in __init__.py files. # [tool.ruff.lint.extend-per-file-ignores] # "__init__.py" = ["F401", "F403"] # [tool.ruff.lint.mccabe] # max-complexity = 10 [tool.ruff.lint.flake8-bugbear] # Allow default arguments like, e.g., `data: List[str] = fastapi.Query(None)`. extend-immutable-calls = [ "fastapi.Depends", "fastapi.Query", ]