lnbits-legend/pyproject.toml

174 lines
3.3 KiB
TOML
Raw Normal View History

2022-07-08 10:22:35 +02:00
[tool.poetry]
name = "lnbits"
version = "0.11.0"
2023-01-10 12:25:11 +01:00
description = "LNbits, free and open-source Lightning wallet and accounts system."
2023-01-12 15:47:42 +01:00
authors = ["Alan Bits <alan@lnbits.com>"]
2022-07-08 10:22:35 +02:00
[tool.poetry.dependencies]
python = "^3.10 | ^3.9"
2022-07-08 10:22:35 +02:00
bech32 = "1.2.0"
bitstring = "3.1.9"
click = "8.0.4"
ecdsa = "0.18.0"
2023-07-21 10:42:35 +02:00
embit = "^0.7.0"
2022-12-01 12:28:28 +01:00
fastapi = "0.83.0"
httpx = "0.23.0"
jinja2 = "3.0.1"
2022-07-08 10:22:35 +02:00
lnurl = "0.3.6"
psycopg2-binary = "2.9.1"
pydantic = "1.10.4"
2022-07-08 10:22:35 +02:00
pyqrcode = "1.2.1"
shortuuid = "1.0.11"
sqlalchemy = "1.3.24"
sqlalchemy-aio = "0.17.0"
2022-07-08 10:22:35 +02:00
sse-starlette = "0.6.2"
2023-01-26 13:51:12 +01:00
typing-extensions = "4.4.0"
uvicorn = "0.18.3"
2022-07-08 10:22:35 +02:00
uvloop = "0.16.0"
websockets = "10.0"
loguru = "0.6.0"
grpcio = "1.51.1"
protobuf = "4.21.12"
2023-01-26 13:51:12 +01:00
Cerberus = "1.3.4"
async-timeout = "4.0.2"
pyln-client = "23.8"
cashu = "0.9.0"
slowapi = "^0.1.7"
[FEAT] Push notification integration into core (#1393) * push notification integration into core added missing component fixed bell working on all pages - made pubkey global template env var - had to move `get_push_notification_pubkey` to `helpers.py` because of circular reference with `tasks.py` formay trying to fix mypy added py-vapid to requirements Trying to fix stub mypy issue * removed key files * webpush key pair is saved in db `webpush_settings` * removed lnaddress extension changes * support for multi user account subscriptions, subscriptions are stored user based fixed syntax error fixed syntax error removed unused line * fixed subscribed user storage with local storage, no get request required * method is singular now * cleanup unsubscribed or expired push subscriptions fixed flake8 errors fixed poetry errors * updating to latest lnbits formatting, rebase error fix * remove unused? * revert * relock * remove * do not create settings table use adminsettings mypy fix * cleanup old code * catch case when client tries to recreate existing webpush subscription e.g. on cleared local storage * show notification bell on user related pages only * use local storage with one key like array, some refactoring * fixed crud import * fixed too long line * removed unused imports * ruff * make webpush editable * fixed privkey encoding * fix ruff * fix migration --------- Co-authored-by: schneimi <admin@schneimi.de> Co-authored-by: schneimi <dev@schneimi.de> Co-authored-by: dni ⚡ <office@dnilabs.com>
2023-09-11 15:48:49 +02:00
pywebpush = "^1.14.0"
[tool.poetry.group.dev.dependencies]
pytest = "^7.1.2"
black = "^23.7.0"
pytest-asyncio = "^0.19.0"
pytest-cov = "^4.1.0"
mypy = "^1.5.1"
types-protobuf = "^3.19.22"
pre-commit = "^3.2.2"
types-mock = "^5.0.0.6"
openapi-spec-validator = "^0.5.5"
ruff = "^0.0.284"
2022-07-08 10:22:35 +02:00
[build-system]
requires = ["poetry-core>=1.0.0"]
2022-07-08 10:22:35 +02:00
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
lnbits = "lnbits.server:main"
lnbits-cli = "lnbits.commands:main"
[tool.pyright]
include = [
"lnbits"
]
exclude = [
"lnbits/wallets/lnd_grpc_files",
"lnbits/extensions",
"lnbits/upgrades",
]
[tool.mypy]
files = "lnbits"
exclude = [
"^lnbits/wallets/lnd_grpc_files",
"^lnbits/extensions",
"^lnbits/upgrades",
]
[[tool.mypy.overrides]]
module = [
"embit.*",
"secp256k1.*",
"uvicorn.*",
"sqlalchemy.*",
"sqlalchemy_aio.*",
"websocket.*",
"websockets.*",
"pyqrcode.*",
"shortuuid.*",
"grpc.*",
"lnurl.*",
"bitstring.*",
"ecdsa.*",
"psycopg2.*",
2023-01-11 12:40:02 +01:00
"pyngrok.*",
"pyln.client.*",
[FEAT] Push notification integration into core (#1393) * push notification integration into core added missing component fixed bell working on all pages - made pubkey global template env var - had to move `get_push_notification_pubkey` to `helpers.py` because of circular reference with `tasks.py` formay trying to fix mypy added py-vapid to requirements Trying to fix stub mypy issue * removed key files * webpush key pair is saved in db `webpush_settings` * removed lnaddress extension changes * support for multi user account subscriptions, subscriptions are stored user based fixed syntax error fixed syntax error removed unused line * fixed subscribed user storage with local storage, no get request required * method is singular now * cleanup unsubscribed or expired push subscriptions fixed flake8 errors fixed poetry errors * updating to latest lnbits formatting, rebase error fix * remove unused? * revert * relock * remove * do not create settings table use adminsettings mypy fix * cleanup old code * catch case when client tries to recreate existing webpush subscription e.g. on cleared local storage * show notification bell on user related pages only * use local storage with one key like array, some refactoring * fixed crud import * fixed too long line * removed unused imports * ruff * make webpush editable * fixed privkey encoding * fix ruff * fix migration --------- Co-authored-by: schneimi <admin@schneimi.de> Co-authored-by: schneimi <dev@schneimi.de> Co-authored-by: dni ⚡ <office@dnilabs.com>
2023-09-11 15:48:49 +02:00
"py_vapid.*",
"pywebpush.*",
]
ignore_missing_imports = "True"
[tool.pytest.ini_options]
log_cli = false
addopts = "--durations=1 -s --cov=lnbits --cov-report=xml"
testpaths = [
"tests"
]
[tool.black]
line-length = 88
# use upcoming new features
# preview = true
extend-exclude = """(
lnbits/static
| lnbits/extensions
| lnbits/upgrades
| lnbits/wallets/lnd_grpc_files
)"""
[tool.ruff]
# Same as Black. + 10% rule of black
line-length = 88
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
# (`I`) is for `isort`.
select = ["E", "F", "I"]
ignore = [
"E402", # Module level import not at top of file
]
# Allow autofix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
# Exclude a variety of commonly ignored directories.
exclude = [
"lnbits/static",
"lnbits/extensions",
"lnbits/wallets/lnd_grpc_files",
".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
# target-version = "py39"
# Ignore unused imports in __init__.py files.
[tool.ruff.extend-per-file-ignores]
"__init__.py" = ["F401", "F403"]
[tool.ruff.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10