Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 43 additions & 43 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ classifiers = [
"Typing :: Typed",
]
dependencies = [
"pydantic>=2.13.3",
"pydantic>=2.13.5",
"pyyaml>=6.0.3",
]

Expand All @@ -38,40 +38,40 @@ Issues = "https://github.com/fireflyframework/fireflyframework-pyfly/issues"

[project.optional-dependencies]
web = [
"starlette>=1.0.0",
"uvicorn[standard]>=0.46.0",
"python-multipart>=0.0.27",
"starlette>=1.6.0",
"uvicorn[standard]>=0.52.4",
"python-multipart>=0.0.32",
]
data-relational = [
"sqlalchemy[asyncio]>=2.0.49",
"alembic>=1.18.4",
"sqlalchemy[asyncio]>=2.0.52",
"alembic>=1.19.2",
"aiosqlite>=0.22.1",
]
testing = [
"jsonpath-ng>=1.8.0",
]
argon2 = [
"argon2-cffi>=23.1.0", # Argon2PasswordEncoder (OWASP-preferred password hashing)
"argon2-cffi>=25.1.0", # Argon2PasswordEncoder (OWASP-preferred password hashing)
]
testcontainers = [
"testcontainers>=4.0.0",
"pika>=1.3.0", # testcontainers' RabbitMqContainer imports pika for its readiness probe
"testcontainers>=4.15.0",
"pika>=1.4.4", # testcontainers' RabbitMqContainer imports pika for its readiness probe
]
data-document = [
"beanie>=2.1.0",
"beanie>=2.2.0",
]
postgresql = [
"asyncpg>=0.31.0",
]
eda = [
"aiokafka>=0.14.0",
"aio-pika>=9.6.2",
"aio-pika>=10.0.1",
]
fastapi = [
"fastapi>=0.136.1",
"fastapi>=0.141.1",
]
granian = [
"granian>=2.7.4",
"granian>=2.8.2",
]
hypercorn = [
"hypercorn>=0.18.0",
Expand All @@ -80,25 +80,25 @@ kafka = [
"aiokafka>=0.14.0",
]
rabbitmq = [
"aio-pika>=9.6.2",
"aio-pika>=10.0.1",
]
redis = [
"redis[hiredis]>=7.4.0",
"redis[hiredis]>=8.1.0",
]
cache = [
"redis[hiredis]>=7.4.0",
"redis[hiredis]>=8.1.0",
]
client = [
"httpx>=0.28.1",
]
config-server-git = [
"GitPython>=3.1",
"GitPython>=3.1.61",
]
grpc = [
"grpcio>=1.60.0",
"grpcio>=1.83.1",
]
websocket = [
"websockets>=12.0",
"websockets>=17.1",
]
idp-azure = [
"httpx>=0.28.1",
Expand All @@ -107,45 +107,45 @@ idp-keycloak = [
"httpx>=0.28.1",
]
idp-cognito = [
"boto3>=1.34.0",
"boto3>=1.43.89",
]
ecm-aws = [
"boto3>=1.34.0",
"boto3>=1.43.89",
]
ecm-azure = [
"azure-storage-blob>=12.19.0",
"azure-storage-blob>=12.30.1",
]
observability = [
"prometheus-client>=0.25.0",
"opentelemetry-api>=1.41.1",
"opentelemetry-sdk>=1.41.1",
"opentelemetry-instrumentation-starlette>=0.62b1",
"structlog>=25.5.0",
"prometheus-client>=0.26.0",
"opentelemetry-api>=1.44.0",
"opentelemetry-sdk>=1.44.0",
"opentelemetry-instrumentation-starlette>=0.65b0",
"structlog>=26.1.0",
]
scheduling = [
"croniter>=6.2.2",
"croniter>=6.2.4",
]
pii = [
"presidio-analyzer>=2.2",
"presidio-anonymizer>=2.2",
"presidio-analyzer>=2.2.364",
"presidio-anonymizer>=2.2.364",
]
security = [
"pyjwt[crypto]>=2.12.1",
"pyjwt[crypto]>=2.13.0",
"bcrypt>=5.0.0",
"cryptography>=48.0.0",
"pyotp>=2.9.0",
"cryptography>=50.0.1",
"pyotp>=2.10.0",
]
notifications = [
"jinja2>=3.1.6",
]
cli = [
"click>=8.3.3",
"click>=8.5.0",
"rich>=15.0.0",
"jinja2>=3.1.6",
"questionary>=2.1.1",
]
shell = [
"click>=8.3.3",
"click>=8.5.0",
]
web-fast = [
"pyfly[web,granian]",
Expand All @@ -161,21 +161,21 @@ full = [

[dependency-groups]
dev = [
"pytest>=9.0.3",
"pytest-asyncio>=1.3.0",
"pytest>=9.1.1",
"pytest-asyncio>=1.4.0",
"pytest-cov>=7.1.0",
"coverage[toml]>=7.13.5",
"mypy>=1.20.2",
"ruff>=0.15.12",
"coverage[toml]>=7.16.0",
"mypy>=2.3.1",
"ruff>=0.16.6",
"mongomock-motor>=0.0.36",
"jsonpath-ng>=1.8.0",
"respx>=0.21.0",
"aiosmtpd>=1.4",
"respx>=0.23.1",
"aiosmtpd>=1.4.6",
# The OTLP exporter is the DEFAULT tracing exporter (auto_configuration selects it as soon as an
# endpoint is configured), yet it appears in no extra, so nothing in CI ever imported it and the
# whole OTLP path — including how the endpoint is built — went unexercised. It is a dev dependency
# rather than a new runtime one: applications choose their exporter and pay for it deliberately.
"opentelemetry-exporter-otlp-proto-http>=1.41.1",
"opentelemetry-exporter-otlp-proto-http>=1.44.0",
]

[project.entry-points."pyfly.auto_configuration"]
Expand Down
2 changes: 1 addition & 1 deletion requirements-docs.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Documentation site toolchain (PyFly GitHub Pages).
# Used by scripts/build_site.py and the GitHub Actions Pages workflow.
# pip install -r requirements-docs.txt
mkdocs-material>=9.5,<10
mkdocs-material>=9.7.7,<10
Loading