118 lines
2.7 KiB
TOML
118 lines
2.7 KiB
TOML
[tool.poetry]
|
|
name = "brewman"
|
|
version = "12.1.0"
|
|
description = "Accounting plus inventory management for a restaurant."
|
|
authors = ["tanshu <git@tanshu.com>"]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.12"
|
|
uvicorn = {extras = ["standard"], version = "^0.30.0"}
|
|
fastapi = {extras = ["all"], version = "^0.111.0"}
|
|
python-jose = {extras = ["cryptography"], version = "^3.3.0"}
|
|
passlib = {extras = ["bcrypt"], version = "^1.7.4"}
|
|
psycopg = {extras = ["binary", "pool"], version = "^3.1.19"}
|
|
SQLAlchemy = "^2.0.30"
|
|
python-multipart = "^0.0.9"
|
|
PyJWT = "^2.8.0"
|
|
alembic = "^1.13.1"
|
|
itsdangerous = "^2.2.0"
|
|
python-dotenv = "^1.0.1"
|
|
pydantic = {extras = ["dotenv"], version = "^2.7.2"}
|
|
starlette = "^0.37.2"
|
|
pandas = "^2.2.2"
|
|
arq = "^0.26.0"
|
|
openpyxl = "^3.1.3"
|
|
gunicorn = "^22.0.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pre-commit = "^3.7.1"
|
|
mypy = "^1.10.0"
|
|
types-python-jose = "^3.3.4.20240106"
|
|
ruff = "^0.4.6"
|
|
bandit = "^1.7.8"
|
|
# safety = "^3.2.0"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
# Assume Python 3.11.
|
|
target-version = "py311"
|
|
exclude = [
|
|
".eggs",
|
|
".git",
|
|
".hg",
|
|
".mypy_cache",
|
|
".tox",
|
|
".venv",
|
|
"_build",
|
|
"buck-out",
|
|
"build",
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
|
|
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
|
|
# McCabe complexity (`C901`) by default.
|
|
# select = ["E4", "E7", "E9", "F"]
|
|
select = [
|
|
# pycodestyle
|
|
"E",
|
|
# Pyflakes
|
|
"F",
|
|
# pyupgrade
|
|
"UP",
|
|
# flake8-bugbear
|
|
# "B",
|
|
# flake8-simplify
|
|
"SIM",
|
|
# isort
|
|
"I",
|
|
]
|
|
ignore = ["E203", "E501"]
|
|
|
|
# Allow fix for all enabled rules (when `--fix`) is provided.
|
|
fixable = ["ALL"]
|
|
|
|
# Avoid trying to fix flake8-bugbear (`B`) violations.
|
|
unfixable = ["B", "F401"]
|
|
|
|
[tool.ruff.lint.isort]
|
|
# include-trailing-comma = true
|
|
lines-after-imports = 2
|
|
lines-between-types = 1
|
|
# use-parentheses = true
|
|
|
|
[tool.ruff.format]
|
|
# Like Black, use double quotes for strings.
|
|
quote-style = "double"
|
|
|
|
# Like Black, indent with spaces, rather than tabs.
|
|
indent-style = "space"
|
|
|
|
# Like Black, respect magic trailing commas.
|
|
skip-magic-trailing-comma = false
|
|
|
|
# Like Black, automatically detect the appropriate line ending.
|
|
line-ending = "auto"
|
|
|
|
[tool.mypy]
|
|
# --strict
|
|
disallow_any_generics = true
|
|
disallow_subclassing_any = true
|
|
disallow_untyped_calls = true
|
|
disallow_untyped_defs = true
|
|
disallow_incomplete_defs = true
|
|
check_untyped_defs = true
|
|
disallow_untyped_decorators = true
|
|
no_implicit_optional = true
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = true
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|
|
strict_equality = true
|
|
plugins = ["sqlalchemy.ext.mypy.plugin"]
|
|
# --strict end
|