-
Notifications
You must be signed in to change notification settings - Fork 9
/
pyproject.toml
126 lines (120 loc) · 3.2 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
114
115
116
117
118
119
120
121
122
123
124
125
126
[tool.poetry]
name = "apollo"
version = "2024.10"
description = "A robust data collection and analysis tool to document political processes"
authors = ["Tim Akinbo <[email protected]>"]
license = "GPL-3.0-only"
readme = "README.md"
repository = "https://github.com/nditech/apollo"
keywords = ["elections", "political-parties", "election-quick-count", "pvt", "election-analysis", "election-data", "elections-toolkit"]
[tool.poetry.dependencies]
python = "~3.11.10"
aniso8601 = "0.82"
Arpeggio = "1.7.1"
awesome-slugify = "1.6.5"
boto3 = "1.16.8"
cachetools = "^5.5.0"
celery = {extras = ["redis"], version = "^5.4.0"}
filedepot = "^0.11.0"
Flask = "^3.0.3"
Flask-Admin = "^1.6.1"
flask-apispec = "^0.11.4"
Flask-Assets = "^2.1.0"
Flask-Cors = "^5.0.0"
Flask-HTTPAuth = "2.7.0"
Flask-JWT-Extended = "^4.6.0"
Flask-Mail = "^0.10.0"
flask-menu = {git = "https://github.com/marvinscham/flask-menu.git", rev = "2405838c455b16bc77c99af991e763d21b8c6bb9"}
Flask-Migrate = "^4.0.7"
Flask-Principal = "0.4.0"
flask-redis = "0.4.0"
Flask-Script = "2.0.6"
Flask-Security = {extras = ["common"], version = "^5.5.2"}
Flask-SQLAlchemy = "^3.1.1"
Flask-SSLify = "0.1.4"
Flask-Webpack = "0.1.0"
Flask-WTF = "^1.2.1"
GeoAlchemy2 = "^0.15.2"
geojson = "^3.1.0"
gevent = "^24.2.1"
GitPython = "^3.1.43"
gunicorn = "^23.0.0"
lxml = "^5.3.0"
marshmallow-sqlalchemy = "^0.27.0"
netifaces = "0.10.9"
networkx = "^3.3"
numpy = "^2.1.1"
pandas = "^2.2.2"
parsimonious = "^0.10.0"
Parsley = "1.3"
pillow = "^10.4.0"
prettyconf = "^2.2.1"
psutil = "5.6.6"
psycopg2-binary = "^2.9.9"
python-dateutil = "^2.9.0.post0"
python-editor = "1.0.3"
python-magic = "^0.4.27"
pytz = "^2024.2"
qrcode = "6.1"
requests = "^2.32.3"
shapely = "^2.0.6"
six = "1.11.0"
sqlalchemy-json = "^0.7.0"
SQLAlchemy-Utils = "^0.41.2"
tablib = "0.13.0"
Unidecode = "0.4.21"
whitenoise = "3.3.1"
wrapt = "^1.16.0"
WTForms = "^3.1.2"
WTForms-Alchemy = "^0.18.0"
xlwt = "1.3.0"
greenlet = "^3.1.0"
pyxform = "^2.1.0"
Authlib = "^1.3.2"
cryptography = "^43.0.1"
apispec = "^4.0.0"
flask-babel = "^4.0.0"
flask-reuploaded = "^1.4.0"
loginpass = "^0.5"
sentry-sdk = {extras = ["celery", "flask"], version = "^2.14.0"}
bleach = "^6.1.0"
prometheus-flask-exporter = "^0.23.1"
loguru = "^0.7.2"
[tool.poetry.group.dev.dependencies]
Flask-DebugToolbar = "^0.16.0"
mimesis = "^18.0.0"
pytest = "^8.3.3"
selenium = "^4.25.0"
chromedriver-autoinstaller = "^0.6.4"
pytest-flask = "^1.3.0"
ruff = "^0.6.6"
pre-commit = "^3.8.0"
pytest-mock = "^3.14.0"
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"N", # PEP8 naming convetions
"D" # pydocstyle
]
ignore = [
"C901", # too complex
"W191", # indentation contains tabs
"D401", # imperative mood
"D100", # missing docstring in public module
"D101", # missing docstring in public class
"D102", # missing docstring in public method
"N802", # function name should be lower case
"N806" # variable name should be lower case
]
[tool.ruff.lint.pydocstyle]
convention = "google"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"