Django>=5.2
django-modelcluster<7.0,>=6.5
django-permissionedforms<1.0,>=0.1
django-taggit<7,>=5.0
django-treebeard<6.0,>=4.8
djangorestframework<4.0,>=3.18.0
django-ninja<2.0,>=1.4
pydantic<3,>=2
django-filter>=23.3
draftjs_exporter<8.0,>=7.1.0
Pillow>=9.1.0
beautifulsoup4<5,>=4.13.3
Willow[heif]<2,>=1.11.0
requests<3.0,>=2.11.1
openpyxl<4.0,>=3.0.10
anyascii>=0.1.5
telepath<1,>=0.3.1
laces<0.2,>=0.1
django-tasks<0.13,>=0.9
modelsearch<1.4,>=1.3.2
swapper<2,>=1.4

[docs]
pyenchant<4,>=3.3.0
sphinxcontrib-spelling<9,>=8
Sphinx>=7.3
sphinx-autobuild>=0.6.0
sphinx-wagtail-theme<7,>=6.5.0
myst_parser<6,>=4.0.0
sphinx_llm>=0.2.1
sphinxcontrib-openapi>=0.9.0
sphinxcontrib-httpdomain>=1.5.0

[testing]
Jinja2<3.2,>=3.0
boto3<2,>=1.28
freezegun>=0.3.8
azure-identity<2,>=1
azure-mgmt-cdn<15,>=12
azure-mgmt-frontdoor<3,>=1
azure-mgmt-subscription<4,>=2
django-pattern-library>=0.7
responses<1,>=0.25
coverage>=3.7.0
doc8==2.0.0
ruff==0.16.1
ty==0.0.66
django-stubs==6.0.7
semgrep==1.172.0
curlylint==0.13.1
djhtml==3.0.11
polib<2.0,>=1.1
factory-boy>=3.2
tblib<4.0,>=3.0
