[tool.poetry]
name = "notifications-api"
package-mode = false
version = "0.1.0"
description = "Notify.gov backend"
authors = ["Your Name <you@example.com>"]
readme = "README.md"


[tool.poetry.dependencies]
python = "^3.13.2"
alembic = "==1.18.4"
amqp = "==5.3.1"
beautifulsoup4 = "==4.14.3"
boto3 = "^1.38.27"
botocore = "^1.38.27"
cachetools = "==7.0.1"
celery = {version = "==5.6.2", extras = ["redis"]}
certifi = ">=2022.12.7"
cffi = "==2.0.0"
charset-normalizer = "^3.4.4"
click = "==8.3.1"
click-didyoumean = "==0.3.1"
click-plugins = "==1.1.1.2"
click-repl = "==0.3.0"
deprecated = "==1.3.1"
dulwich = "^1.2.5"
gevent = "==25.5.1"
expiringdict = "==1.2.2"
flask = "~=3.1"
flask-bcrypt = "==1.0.1"
flask-migrate = "==4.1.0"
flask-redis = "==0.4.0"
flask-sqlalchemy = "^3.1.1"
gunicorn = {version = "==25.1.0", extras = ["gevent"]}
iso8601 = "==2.1.0"
jsonschema = {version = "==4.26.0", extras = ["format"]}
lxml = "==6.1.0"
marshmallow = "^4.2.2"
marshmallow-sqlalchemy = "^1.4.2"
newrelic = "^11.5.0"
packaging = "==26.0"
poetry-dotenv-plugin = "==0.2.0"
psycopg2-binary = "==2.9.11"
pyjwt = "==2.13.0"
python-dotenv = "==1.2.2"
sqlalchemy = "==2.0.47"
werkzeug = "^3.1.5"
faker = "^40.5.1"
async-timeout = "^5.0.1"
bleach = "^6.3.0"
geojson = "^3.2.0"
numpy = "^2.4.2"
ordered-set = "^4.1.0"
phonenumbers = "^9.0.24"
python-json-logger = "^4.0.0"
regex = "^2026.2.19"
shapely = "^2.1.2"
smartypants = "^2.0.1"
mistune = "^3.2.1"
blinker = "^1.9.0"
cryptography = "^46.0.7"
idna = "^3.15"
jmespath = "^1.1.0"
markupsafe = "^3.0.3"
mako = "^1.3.12"
pycparser = "^3.0"
python-dateutil = "^2.9.0.post0"
pyyaml = "^6.0.3"
s3transfer = "^0.16.0"
six = "^1.16.0"
urllib3 = "^2.6.3"
webencodings = "^0.5.1"
itsdangerous = "^2.2.0"
jinja2 = "^3.1.6"
redis = "^6.4.0"
requests = "^2.33.0"
virtualenv = "^21.1.0"
marshmallow-enum = "^1.5.1"
awscli = "^1.44.38"
typing-extensions = "^4.15.0"
aiohttp = "^3.13.4"
pytest = "^9.0.2"
filelock = ">=3.20.3"
pyasn1 = ">=0.6.3"
jaraco-context = ">=6.1.0"
wheel = ">=0.46.2"


[tool.poetry.group.dev.dependencies]
bandit = "*"
black = "^26.3.1"
cyclonedx-python-lib = "^11.6.0"
cloudfoundry-client = "*"
exceptiongroup = "==1.3.1"
flake8 = "^7.3.0"
flake8-bugbear = "^25.11.29"
freezegun = "^1.5.5"
hypothesis = "^6.151.9"
honcho = "*"
isort = "^8.0.0"
jinja2-cli = {version = "==1.0.0", extras = ["yaml"]}
moto = "==5.1.21"
pip-audit = "*"
pre-commit = "^4.5.1"
pytest = "^9.0.2"
pytest-env = "^1.5.0"
pytest-mock = "^3.15.1"
pytest-cov = "^7.0.0"
pytest-xdist = "^3.8.0"
radon = "^6.0.1"
requests-mock = "^1.11.0"
setuptools = "^82.0.0"
sqlalchemy-utils = "^0.41.2"
vulture = "^2.10"
detect-secrets = "^1.5.0"
poetry-dotenv-plugin = "^0.2.0"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.poetry.plugins."poetry.application.plugin"]
dotenv = "poetry_dotenv_plugin.plugin:PoetryDotenvPlugin"
