LICENSE
README.md
pyproject.toml
src/safir.egg-info/PKG-INFO
src/safir.egg-info/SOURCES.txt
src/safir.egg-info/dependency_links.txt
src/safir.egg-info/requires.txt
src/safir.egg-info/top_level.txt
src/safir/asyncio/__init__.py
src/safir/asyncio/_multiqueue.py
src/safir/asyncio/_run.py
src/safir/asyncio/py.typed
src/safir/click/__init__.py
src/safir/click/_help.py
src/safir/click/py.typed
src/safir/database/__init__.py
src/safir/database/_alembic.py
src/safir/database/_connection.py
src/safir/database/_datetime.py
src/safir/database/_initialize.py
src/safir/database/_pagination.py
src/safir/database/_retry.py
src/safir/database/py.typed
src/safir/datetime/__init__.py
src/safir/datetime/_current.py
src/safir/datetime/_format.py
src/safir/datetime/_parse.py
src/safir/datetime/py.typed
src/safir/dependencies/__init__.py
src/safir/dependencies/arq.py
src/safir/dependencies/db_session.py
src/safir/dependencies/gafaelfawr.py
src/safir/dependencies/http_client.py
src/safir/dependencies/logger.py
src/safir/dependencies/metrics.py
src/safir/dependencies/py.typed
src/safir/fastapi/__init__.py
src/safir/fastapi/_errors.py
src/safir/fastapi/py.typed
src/safir/gcs/__init__.py
src/safir/gcs/_signing.py
src/safir/gcs/py.typed
src/safir/github/__init__.py
src/safir/github/_client.py
src/safir/github/models.py
src/safir/github/py.typed
src/safir/github/webhooks.py
src/safir/kafka/__init__.py
src/safir/kafka/_exceptions.py
src/safir/kafka/_kafka_config.py
src/safir/kafka/_manager.py
src/safir/kafka/_schema_registry_config.py
src/safir/kafka/py.typed
src/safir/kubernetes/__init__.py
src/safir/kubernetes/_init.py
src/safir/kubernetes/py.typed
src/safir/metadata/__init__.py
src/safir/metadata/_models.py
src/safir/metadata/_retrieve.py
src/safir/metadata/py.typed
src/safir/metrics/__init__.py
src/safir/metrics/_config.py
src/safir/metrics/_constants.py
src/safir/metrics/_event_manager.py
src/safir/metrics/_exceptions.py
src/safir/metrics/_models.py
src/safir/metrics/_testing.py
src/safir/metrics/py.typed
src/safir/middleware/__init__.py
src/safir/middleware/ivoa.py
src/safir/middleware/py.typed
src/safir/middleware/x_forwarded.py
src/safir/models/__init__.py
src/safir/models/_errors.py
src/safir/models/py.typed
src/safir/pydantic/__init__.py
src/safir/pydantic/_camel.py
src/safir/pydantic/_types.py
src/safir/pydantic/_validators.py
src/safir/pydantic/py.typed
src/safir/redis/__init__.py
src/safir/redis/_storage.py
src/safir/redis/py.typed
src/safir/sentry/__init__.py
src/safir/sentry/_exceptions.py
src/safir/sentry/_helpers.py
src/safir/sentry/py.typed
src/safir/slack/__init__.py
src/safir/slack/blockkit.py
src/safir/slack/py.typed
src/safir/slack/webhook.py
src/safir/testing/__init__.py
src/safir/testing/gcs.py
src/safir/testing/kubernetes.py
src/safir/testing/py.typed
src/safir/testing/sentry.py
src/safir/testing/slack.py
src/safir/testing/uvicorn.py
src/safir/testing/uws.py
src/safir/uws/__init__.py
src/safir/uws/_app.py
src/safir/uws/_config.py
src/safir/uws/_constants.py
src/safir/uws/_dependencies.py
src/safir/uws/_exceptions.py
src/safir/uws/_handlers.py
src/safir/uws/_models.py
src/safir/uws/_responses.py
src/safir/uws/_results.py
src/safir/uws/_service.py
src/safir/uws/_storage.py
src/safir/uws/_workers.py
src/safir/uws/py.typed
src/safir/uws/templates/error.xml
tests/__init__.py
tests/arq_test.py
tests/asyncio_test.py
tests/click_test.py
tests/conftest.py
tests/constants.py
tests/database_test.py
tests/datetime_test.py
tests/fastapi_test.py
tests/gcs_test.py
tests/kubernetes_test.py
tests/logging_test.py
tests/metadata_test.py
tests/models_test.py
tests/pydantic_test.py
tests/redis_test.py
tests/sentry_test.py
tests/data/database/docker-compose.yaml
tests/data/database/v1/README.md
tests/data/database/v1/alembic.ini
tests/data/database/v1/alembic/env.py
tests/data/database/v1/alembic/script.py.mako
tests/data/database/v1/alembic/versions/20240910_2304_a6e49b57e3c9_v1_schema.py
tests/data/database/v2/README.md
tests/data/database/v2/alembic.ini
tests/data/database/v2/alembic/env.py
tests/data/database/v2/alembic/script.py.mako
tests/data/database/v2/alembic/versions/20240910_2304_a6e49b57e3c9_v1_schema.py
tests/data/database/v2/alembic/versions/20240910_2316_e843cec7e694_v2_schema.py
tests/dependencies/__init__.py
tests/dependencies/arq_test.py
tests/dependencies/db_session_test.py
tests/dependencies/gafaelfawr_test.py
tests/dependencies/http_client_test.py
tests/dependencies/logger_test.py
tests/github/__init__.py
tests/github/webhooks_test.py
tests/github/data/webhooks/check_run_created.json
tests/github/data/webhooks/check_suite_completed.json
tests/github/data/webhooks/installation.json
tests/github/data/webhooks/installation_repositories.json
tests/github/data/webhooks/pull_request_event.json
tests/github/data/webhooks/push_event.json
tests/kafka/__init__.py
tests/kafka/kafka_config_test.py
tests/kafka/schema_manager_test.py
tests/metrics/__init__.py
tests/metrics/config_test.py
tests/metrics/event_manager_test.py
tests/metrics/mock_publisher_test.py
tests/middleware/__init__.py
tests/middleware/ivoa_test.py
tests/middleware/x_forwarded_test.py
tests/slack/__init__.py
tests/slack/blockkit_test.py
tests/slack/webhook_test.py
tests/support/__init__.py
tests/support/alembic.py
tests/support/schema_registry.py
tests/support/uws.py
tests/support/kafka/__init__.py
tests/support/kafka/container.py
tests/support/kafka/data/generate-kafka-secrets.bash
tests/testing/__init__.py
tests/testing/conftest.py
tests/testing/gcs_test.py
tests/testing/kubernetes_test.py
tests/uws/__init__.py
tests/uws/conftest.py
tests/uws/errors_test.py
tests/uws/exceptions_test.py
tests/uws/job_api_test.py
tests/uws/job_error_test.py
tests/uws/job_list_test.py
tests/uws/long_polling_test.py
tests/uws/vosi_test.py
tests/uws/workers_test.py