pyproject.toml (94 lines of code) (raw):
[tool.ruff]
extend-exclude = [
"__pycache__",
]
[tool.ruff.lint]
select = [
# pycodestyle
"E", "W",
# flake8
"F",
# isort
"I",
# pytest style
"PT",
# eradicate commented code
"ERA",
# ruff lint
"RUF",
]
ignore = [
# `format` will wrap lines.
"E501",
]
[tool.ruff.lint.isort]
lines-after-imports = 2
[tool.pytest.ini_options]
# https://docs.pytest.org/en/6.2.x/usage.html
# -ra: shows test summary for all EXCEPT passed and passed with output
# --showlocals: show local variables in tracebacks
# --tb=native: traceback printing with Python standard library formatting
addopts = "-ra --showlocals --tb=native"
sensitive_url = ".mozaws.net"
asyncio_mode = "strict"
[tool.coverage]
# https://github.com/nedbat/coveragepy
[tool.coverage.run]
omit = [
'*/.local/*',
'/usr/*',
'*/.venv/*',
'*/.tox/*',
'*/virtualenvs/*',
]
[tool.coverage.report]
exclude_lines = [
"# noqa",
"raise NotImplementedError",
"pragma: no cover",
"def __repr__",
"if .debug:",
"raise NotImplementedError",
"if __name__ == .__main__.:",
"logger.",
"from",
"import"
]
[tool.poetry]
name = "remote-settings"
version = "0"
description = "Easily manage evergreen settings data in Firefox"
authors = ["Contactless <postmaster@localhost>"]
license = "MPL"
readme = "README.rst"
[tool.poetry.dependencies]
python = ">=3.11, <3.14"
canonicaljson-rs = "0.7.1"
cryptography = "44.0.3"
ecdsa = "0.19.1"
kinto = {version = "^23.0.0", extras = ["postgresql","memcached","monitoring"]}
kinto-attachment = "7.0.0"
kinto-emailer = "3.0.4"
requests-hawk = "1.2.1"
uwsgi = "2.0.29"
[tool.poetry.group.kinto-remote-settings.dependencies]
kinto-remote-settings = {path = "./kinto-remote-settings", develop = true}
[tool.poetry.group.cronjobs]
optional = true
[tool.poetry.group.cronjobs.dependencies]
cronjobs = {path = "./cronjobs", develop = true}
[tool.poetry.group.dev.dependencies]
pytest = "8.3.5"
webtest = "3.0.4"
coverage = "7.8.0"
detect-secrets = "^1.5.0"
ruff = "^0.11.8"
responses = "^0.25.7"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
docutils = "0.21.2"
sphinx = "8.2.3"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"