-
Notifications
You must be signed in to change notification settings - Fork 10
/
pyproject.toml
111 lines (107 loc) · 3.11 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
[tool.poetry]
name = "agir"
version = "0"
description = ""
authors = ["La France insoumise <[email protected]>"]
license = "AGPL-3.0"
[tool.poetry.dependencies]
python = "^3.9"
# Django et extensions
django = ">=3.0,<4.0"
## config helpers
dj-database-url = "==1.2.*" # for easing up database settings
dj-email-url = "==1.0.*" # for easing up SMTP settings
django-cors-headers = "==3.*" # configuring CORS Headers
## model and form fields
django-countries = "==7.*" # country fields
django-phonenumber-field = "==7.*" # phone number field
phonenumbers = "==8.13.8" # optional requirement of django-phonenumber-field
django-stdimage = "==6.*" # better image field with handling of variations
django-dynamic-filenames = "==1.*" # better handling of upload path for file fields
unicode-slugify = "==0.1.*" # optional requirement of django-dynamic-filenames
## additional features
django-crispy-forms = "==1.*" # better forms
django-otp = "==1.*" # 2FA in admin
django-filter = "==22.*" # add useful filters
django-oauth-toolkit = "==1.*" # add OAuth server
rules = "==3.*" # add useful authorization rules
django-reversion = "==5.*" # versioning of models
## Django Rest Framework
djangorestframework = "==3.*,>=3.10"
djangorestframework-gis = "==0.17"
## adapters for third-party systems
django-redis = "==5.*"
psycopg2 = "*"
django-prometheus = "==2.*"
# celery
celery = "==5.*"
celery-prometheus-exporter = "==1.*"
# redis
redis = ">=3.2.0"
hiredis = "==2.*"
# HTTP
requests = "==2.*"
# HTML
bleach = "==5.*" # sanitize HTML
"html2text" = "==2020.*" # transforms HTML to text (used for plain text versions of HTML emails)
markdown = "==3.*" # convert markdown text to HTML (should be deprecated)
# image handling
Pillow = ">=7.1.0"
# command line helpers
tqdm = "*"
# third party techs
prometheus-client = "==0.16.*"
cysystemd = "==1.*"
ovh = "*"
nuntius = "2.4.3"
# parsing and formats
ics = "*" # calendar format
iso8601 = "*" # parse ISO8601 dates
django-anymail = "==9.*"
boto3 = "*"
num2words = "*"
sepaxml = "==2.*"
social-auth-app-django = "==4.*"
# data wrangling
glom = "*"
pyrogram = "==2.*"
tgcrypto = "*"
tenacity = "*"
pandas = "==1.*"
data-france = "^0.14.7"
beautifultable = "==1.1.*"
scipy = "==1.*"
PyYAML = "==6.*"
django-admin-rangefilter = "*"
faker = "*"
django-silk = "*"
sentry-sdk = "*"
django-push-notifications = {version = "^3.1.0", extras = ["FCM", "WP"]}
pywebpush = "*"
social-auth-core = "4.0.3"
django-storages = "^1.13.2"
qrcode = {extras = ["pil"], version = "^7.4"}
xlsxwriter = "*"
trio = "^0.22.0"
asks = "^3.0.0"
Django = "^3.2"
pydantic = "^1.10.7"
lxml = "^4.9.2"
gspread = "^5.7.0"
nested-multipart-parser = "^1.5.0"
emoji = "^2.8.0"
weasyprint = "^60.2"
openpyxl = "^3.1.5"
schwifty = "^2024.9.0"
[tool.poetry.group.dev.dependencies]
ipython = "*"
black = "==24.4.2"
coverage = "*"
django-debug-toolbar = "*"
redislite = "==6.2.805324" # used for testing - locked to 6.2.805324 version to avoid breaking "run-tests" GitHub action workflow
pympler = "*"
hypothesis = {extras = ["django"], version = "^6.70.0"}
flower = "*"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"