-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
113 lines (102 loc) · 2.82 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[project]
name = "rp-sidekick"
version = "1.14.1"
description = ""
authors = [
{name = "Praekelt Foundation", email = "[email protected]"},
]
license = {text = "BSD"}
readme = "README.rst"
requires-python = "<4.0,>=3.10"
dependencies = [
"celery<6.0.0,>=5.2.3",
"django<5.0.0,>=4.2.15",
"django-environ<1.0.0,>=0.4.5",
"django-extensions<4.0.0,>=3.1.5",
"django-phonenumber-field<4.0.0,>=3.0.1",
"django-prometheus<3.0.0,>=2.2.0",
"djangorestframework<4.0.0,>=3.15.2",
"json2html<2.0.0,>=1.3.0",
"phonenumbers<9.0.0,>=8.13.45",
"psycopg2-binary<3.0.0,>=2.9.9",
"rapidpro-python==2.6.1",
"redis<5.0.0,>=4.5.4",
"whitenoise<5.0.0,>=4.1.4",
"raven<7.0.0,>=6.10.0",
"hashids<2.0.0,>=1.3.1",
"django-filter<3.0.0,>=2.4.0",
"sentry-sdk<3.0.0,>=2.8.0",
"dj-database-url<1.0.0,>=0.5.0",
"jsonschema<5.0.0,>=4.21.1",
"boto3<2.0.0,>=1.35.35",
]
[project.urls]
repository = "http://github.com/praekeltfoundation/rp-sidekick"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = [
"config",
"msisdn_utils",
"randomisation",
"rp_dtone",
"rp_interceptors",
"rp_transferto",
"rp_yal",
"sidekick",
]
[dependency-groups]
dev = [
"ruff<1.0.0,>=0.6.9",
"pytest-django<5.0.0,>=4.9.0",
"pytest-cov<6.0.0,>=5.0.0",
"responses<1.0.0,>=0.25.3",
"freezegun<2.0.0,>=1.5.1",
"recommonmark<1.0.0,>=0.7.1",
"sphinx<8.0.0",
"sphinx-rtd-theme<4.0.0,>=3.0.0",
"moto<6.0.0,>=5.0.16",
]
[tool.pytest.ini_options]
python_files = "test*.py"
addopts = "--verbose --ds=config.settings.test"
[tool.ruff]
extend-exclude = [
"*/migrations/*.py",
"docs/conf.py",
]
[tool.ruff.lint]
select = [
"E", "F", "W", # pycodestyle + pyflakes == flake8 - mccabe
"I", # isort
"UP", # pyupgrade
"S", # flake8-bandit
"B", # flake8-bugbear
"C4", # flake8-comprehensions
# "DJ", # flake8-django
"PIE", # flake8-pie
# "PT", # flake8-pytest-style
"SIM", # flake8-simplify
"PTH", # flake8-use-pathlib
"RUF", # ruff-specific rules
]
ignore = [
"E501", # TODO: Something about these long lines.
"S113", # TODO: Add request timeouts.
"PTH118", # TODO: Switch to pathlib
"RUF012", # We usually want immutable instance attributes
]
[tool.ruff.lint.per-file-ignores]
"**/tests/**" = [
"S101", # It's okay to use `assert` in tests.
]
# TODO: Move this somewhere sensible?
"**/tests.py" = [
"S101", # It's okay to use `assert` in tests.
]
"**/config/settings/{test,dev}.py" = [
"S104", # It's okay to bind to all interfaces in tests
"F405", # Its okay to import * in settings
"S105", # Its okay to have hardcoded secrets in test config
]