syncstorage-rs/pyproject.toml
2026-03-30 17:27:33 -04:00

86 lines
2.8 KiB
TOML

[project]
name = "syncstorage-rs"
version = "0.1.0"
description = "Python dependencies for the root of the syncstorage-rs project"
authors = [
{name = "Taddes",email = "tkorris@mozilla.com"}
]
license = "Mozilla Public License Version 2.0"
readme = "README.md"
requires-python = ">=3.12"
[tool.poetry]
package-mode = false
[tool.poetry.dependencies]
cryptography = "^46.0.5"
pyfxa = "^0.8.1"
tokenlib = "^2.0.0"
[tool.poetry.group.tokenserver-unit-tests.dependencies]
cryptography = "46.0.5"
hawkauthlib = "^2.0.0"
konfig = "^1.1"
mysqlclient = "^2.2.7"
psutil = "^7.0.0"
pyjwt = "^2.10.1"
pyramid = "^1.10.8"
pyramid-hawkauth = "^2.0.0"
pyfxa = "0.8.1"
pytest = "^8.4.0"
requests = "^2.32.4"
simplejson = "^3.20.1"
sqlalchemy = "^1.4.46"
tokenlib = "^2.0.0"
webtest = "^3.0.6"
wsgiproxy2 = "^0.5.1"
[tool.poetry.group.dev.dependencies]
mypy = "^1.19.1"
pydocstyle = "^6.3.0"
ruff = "^0.15.6"
black = "^26.3.1"
bandit = "^1.9.4"
isort = "^8.0.1"
[tool.pydocstyle]
match = ".*\\.py"
convention = "pep257"
# Error Code Ref: https://www.pydocstyle.org/en/stable/error_codes.html
# D212 Multi-line docstring summary should start at the first line
add-select = ["D212"]
# D105 Docstrings for magic methods
# D107 Docstrings for __init__
# D203 as it conflicts with D211 https://github.com/PyCQA/pydocstyle/issues/141
# D205 1 blank line required between summary line and description, awkward spacing
# D400 First line should end with a period, doesn't work when sentence spans 2 lines
add-ignore = ["D105","D107","D203", "D205", "D400"]
[tool.bandit]
# B101: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html
# B104: https://bandit.readthedocs.io/en/latest/plugins/b104_hardcoded_bind_all_interfaces.html
# B105: https://bandit.readthedocs.io/en/latest/plugins/b105_hardcoded_password_string.html — test fixture secrets only
# B106: https://bandit.readthedocs.io/en/latest/plugins/b106_hardcoded_password_funcarg.html — test fixture secrets only
# B311: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b311-random
# B404: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_imports.html#b404-import-subprocess
# B603: https://bandit.readthedocs.io/en/latest/plugins/b603_subprocess_without_shell_equals_true.html — subprocess on trusted internal binary path
skips = ["B101", "B104", "B105", "B106", "B311", "B404", "B603"]
[tool.mypy]
python_version = "3.12"
disable_error_code = "attr-defined"
disallow_untyped_calls = false
follow_imports = "normal"
ignore_missing_imports = true
pretty = true
show_error_codes = true
strict_optional = true
warn_no_return = true
warn_redundant_casts = true
warn_return_any = true
warn_unused_ignores = true
warn_unreachable = true
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"