svc-infra 0.1.595__py3-none-any.whl → 1.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of svc-infra might be problematic. Click here for more details.
- svc_infra/__init__.py +58 -2
- svc_infra/apf_payments/models.py +68 -38
- svc_infra/apf_payments/provider/__init__.py +2 -2
- svc_infra/apf_payments/provider/aiydan.py +39 -23
- svc_infra/apf_payments/provider/base.py +8 -3
- svc_infra/apf_payments/provider/registry.py +3 -5
- svc_infra/apf_payments/provider/stripe.py +74 -52
- svc_infra/apf_payments/schemas.py +84 -83
- svc_infra/apf_payments/service.py +27 -16
- svc_infra/apf_payments/settings.py +12 -11
- svc_infra/api/__init__.py +61 -0
- svc_infra/api/fastapi/__init__.py +34 -0
- svc_infra/api/fastapi/admin/__init__.py +3 -0
- svc_infra/api/fastapi/admin/add.py +240 -0
- svc_infra/api/fastapi/apf_payments/router.py +94 -73
- svc_infra/api/fastapi/apf_payments/setup.py +10 -9
- svc_infra/api/fastapi/auth/__init__.py +65 -0
- svc_infra/api/fastapi/auth/_cookies.py +1 -3
- svc_infra/api/fastapi/auth/add.py +14 -15
- svc_infra/api/fastapi/auth/gaurd.py +32 -20
- svc_infra/api/fastapi/auth/mfa/models.py +3 -4
- svc_infra/api/fastapi/auth/mfa/pre_auth.py +13 -9
- svc_infra/api/fastapi/auth/mfa/router.py +9 -8
- svc_infra/api/fastapi/auth/mfa/security.py +4 -7
- svc_infra/api/fastapi/auth/mfa/utils.py +5 -3
- svc_infra/api/fastapi/auth/policy.py +0 -1
- svc_infra/api/fastapi/auth/providers.py +3 -3
- svc_infra/api/fastapi/auth/routers/apikey_router.py +19 -21
- svc_infra/api/fastapi/auth/routers/oauth_router.py +98 -52
- svc_infra/api/fastapi/auth/routers/session_router.py +6 -5
- svc_infra/api/fastapi/auth/security.py +25 -15
- svc_infra/api/fastapi/auth/sender.py +5 -0
- svc_infra/api/fastapi/auth/settings.py +18 -19
- svc_infra/api/fastapi/auth/state.py +5 -4
- svc_infra/api/fastapi/auth/ws_security.py +275 -0
- svc_infra/api/fastapi/billing/router.py +71 -0
- svc_infra/api/fastapi/billing/setup.py +19 -0
- svc_infra/api/fastapi/cache/add.py +9 -5
- svc_infra/api/fastapi/db/__init__.py +5 -1
- svc_infra/api/fastapi/db/http.py +10 -9
- svc_infra/api/fastapi/db/nosql/__init__.py +39 -1
- svc_infra/api/fastapi/db/nosql/mongo/add.py +35 -30
- svc_infra/api/fastapi/db/nosql/mongo/crud_router.py +39 -21
- svc_infra/api/fastapi/db/sql/__init__.py +5 -1
- svc_infra/api/fastapi/db/sql/add.py +62 -25
- svc_infra/api/fastapi/db/sql/crud_router.py +205 -30
- svc_infra/api/fastapi/db/sql/session.py +19 -2
- svc_infra/api/fastapi/db/sql/users.py +18 -9
- svc_infra/api/fastapi/dependencies/ratelimit.py +76 -14
- svc_infra/api/fastapi/docs/add.py +163 -0
- svc_infra/api/fastapi/docs/landing.py +6 -6
- svc_infra/api/fastapi/docs/scoped.py +75 -36
- svc_infra/api/fastapi/dual/__init__.py +12 -2
- svc_infra/api/fastapi/dual/dualize.py +2 -2
- svc_infra/api/fastapi/dual/protected.py +123 -10
- svc_infra/api/fastapi/dual/public.py +25 -0
- svc_infra/api/fastapi/dual/router.py +18 -8
- svc_infra/api/fastapi/dx.py +33 -2
- svc_infra/api/fastapi/ease.py +59 -7
- svc_infra/api/fastapi/http/concurrency.py +2 -1
- svc_infra/api/fastapi/http/conditional.py +2 -2
- svc_infra/api/fastapi/middleware/debug.py +4 -1
- svc_infra/api/fastapi/middleware/errors/exceptions.py +2 -5
- svc_infra/api/fastapi/middleware/errors/handlers.py +50 -10
- svc_infra/api/fastapi/middleware/graceful_shutdown.py +95 -0
- svc_infra/api/fastapi/middleware/idempotency.py +190 -68
- svc_infra/api/fastapi/middleware/idempotency_store.py +187 -0
- svc_infra/api/fastapi/middleware/optimistic_lock.py +39 -0
- svc_infra/api/fastapi/middleware/ratelimit.py +125 -28
- svc_infra/api/fastapi/middleware/ratelimit_store.py +45 -13
- svc_infra/api/fastapi/middleware/request_id.py +24 -10
- svc_infra/api/fastapi/middleware/request_size_limit.py +3 -3
- svc_infra/api/fastapi/middleware/timeout.py +176 -0
- svc_infra/api/fastapi/object_router.py +1060 -0
- svc_infra/api/fastapi/openapi/apply.py +4 -3
- svc_infra/api/fastapi/openapi/conventions.py +13 -6
- svc_infra/api/fastapi/openapi/mutators.py +144 -17
- svc_infra/api/fastapi/openapi/pipeline.py +2 -2
- svc_infra/api/fastapi/openapi/responses.py +4 -6
- svc_infra/api/fastapi/openapi/security.py +1 -1
- svc_infra/api/fastapi/ops/add.py +73 -0
- svc_infra/api/fastapi/pagination.py +47 -32
- svc_infra/api/fastapi/routers/__init__.py +16 -10
- svc_infra/api/fastapi/routers/ping.py +1 -0
- svc_infra/api/fastapi/setup.py +167 -54
- svc_infra/api/fastapi/tenancy/add.py +20 -0
- svc_infra/api/fastapi/tenancy/context.py +113 -0
- svc_infra/api/fastapi/versioned.py +102 -0
- svc_infra/app/README.md +5 -5
- svc_infra/app/__init__.py +3 -1
- svc_infra/app/env.py +70 -4
- svc_infra/app/logging/add.py +10 -2
- svc_infra/app/logging/filter.py +1 -1
- svc_infra/app/logging/formats.py +13 -5
- svc_infra/app/root.py +3 -3
- svc_infra/billing/__init__.py +40 -0
- svc_infra/billing/async_service.py +167 -0
- svc_infra/billing/jobs.py +231 -0
- svc_infra/billing/models.py +146 -0
- svc_infra/billing/quotas.py +101 -0
- svc_infra/billing/schemas.py +34 -0
- svc_infra/bundled_docs/README.md +5 -0
- svc_infra/bundled_docs/__init__.py +1 -0
- svc_infra/bundled_docs/getting-started.md +6 -0
- svc_infra/cache/__init__.py +21 -5
- svc_infra/cache/add.py +167 -0
- svc_infra/cache/backend.py +9 -7
- svc_infra/cache/decorators.py +75 -20
- svc_infra/cache/demo.py +2 -2
- svc_infra/cache/keys.py +26 -6
- svc_infra/cache/recache.py +26 -27
- svc_infra/cache/resources.py +6 -5
- svc_infra/cache/tags.py +19 -44
- svc_infra/cache/ttl.py +2 -3
- svc_infra/cache/utils.py +4 -3
- svc_infra/cli/__init__.py +44 -8
- svc_infra/cli/__main__.py +4 -0
- svc_infra/cli/cmds/__init__.py +39 -2
- svc_infra/cli/cmds/db/nosql/mongo/mongo_cmds.py +18 -14
- svc_infra/cli/cmds/db/nosql/mongo/mongo_scaffold_cmds.py +9 -10
- svc_infra/cli/cmds/db/ops_cmds.py +267 -0
- svc_infra/cli/cmds/db/sql/alembic_cmds.py +97 -29
- svc_infra/cli/cmds/db/sql/sql_export_cmds.py +80 -0
- svc_infra/cli/cmds/db/sql/sql_scaffold_cmds.py +13 -13
- svc_infra/cli/cmds/docs/docs_cmds.py +139 -0
- svc_infra/cli/cmds/dx/__init__.py +12 -0
- svc_infra/cli/cmds/dx/dx_cmds.py +110 -0
- svc_infra/cli/cmds/health/__init__.py +179 -0
- svc_infra/cli/cmds/health/health_cmds.py +8 -0
- svc_infra/cli/cmds/help.py +4 -0
- svc_infra/cli/cmds/jobs/__init__.py +1 -0
- svc_infra/cli/cmds/jobs/jobs_cmds.py +42 -0
- svc_infra/cli/cmds/obs/obs_cmds.py +31 -13
- svc_infra/cli/cmds/sdk/__init__.py +0 -0
- svc_infra/cli/cmds/sdk/sdk_cmds.py +102 -0
- svc_infra/cli/foundation/runner.py +4 -5
- svc_infra/cli/foundation/typer_bootstrap.py +1 -2
- svc_infra/data/__init__.py +83 -0
- svc_infra/data/add.py +61 -0
- svc_infra/data/backup.py +56 -0
- svc_infra/data/erasure.py +46 -0
- svc_infra/data/fixtures.py +42 -0
- svc_infra/data/retention.py +56 -0
- svc_infra/db/__init__.py +15 -0
- svc_infra/db/crud_schema.py +14 -13
- svc_infra/db/inbox.py +67 -0
- svc_infra/db/nosql/__init__.py +2 -0
- svc_infra/db/nosql/constants.py +1 -1
- svc_infra/db/nosql/core.py +19 -5
- svc_infra/db/nosql/indexes.py +12 -9
- svc_infra/db/nosql/management.py +4 -4
- svc_infra/db/nosql/mongo/README.md +13 -13
- svc_infra/db/nosql/mongo/client.py +21 -4
- svc_infra/db/nosql/mongo/settings.py +1 -1
- svc_infra/db/nosql/repository.py +46 -27
- svc_infra/db/nosql/resource.py +28 -16
- svc_infra/db/nosql/scaffold.py +14 -12
- svc_infra/db/nosql/service.py +2 -1
- svc_infra/db/nosql/service_with_hooks.py +4 -3
- svc_infra/db/nosql/utils.py +4 -4
- svc_infra/db/ops.py +380 -0
- svc_infra/db/outbox.py +105 -0
- svc_infra/db/sql/apikey.py +34 -15
- svc_infra/db/sql/authref.py +8 -6
- svc_infra/db/sql/constants.py +5 -1
- svc_infra/db/sql/core.py +13 -13
- svc_infra/db/sql/management.py +5 -6
- svc_infra/db/sql/repository.py +92 -26
- svc_infra/db/sql/resource.py +18 -12
- svc_infra/db/sql/scaffold.py +11 -11
- svc_infra/db/sql/service.py +2 -1
- svc_infra/db/sql/service_with_hooks.py +4 -3
- svc_infra/db/sql/templates/models_schemas/auth/models.py.tmpl +7 -56
- svc_infra/db/sql/templates/setup/env_async.py.tmpl +34 -12
- svc_infra/db/sql/templates/setup/env_sync.py.tmpl +29 -7
- svc_infra/db/sql/tenant.py +80 -0
- svc_infra/db/sql/uniq.py +8 -7
- svc_infra/db/sql/uniq_hooks.py +12 -11
- svc_infra/db/sql/utils.py +105 -47
- svc_infra/db/sql/versioning.py +14 -0
- svc_infra/db/utils.py +3 -3
- svc_infra/deploy/__init__.py +531 -0
- svc_infra/documents/__init__.py +100 -0
- svc_infra/documents/add.py +263 -0
- svc_infra/documents/ease.py +233 -0
- svc_infra/documents/models.py +114 -0
- svc_infra/documents/storage.py +262 -0
- svc_infra/dx/__init__.py +58 -0
- svc_infra/dx/add.py +63 -0
- svc_infra/dx/changelog.py +74 -0
- svc_infra/dx/checks.py +68 -0
- svc_infra/exceptions.py +141 -0
- svc_infra/health/__init__.py +863 -0
- svc_infra/http/__init__.py +13 -0
- svc_infra/http/client.py +101 -0
- svc_infra/jobs/__init__.py +79 -0
- svc_infra/jobs/builtins/outbox_processor.py +38 -0
- svc_infra/jobs/builtins/webhook_delivery.py +93 -0
- svc_infra/jobs/easy.py +33 -0
- svc_infra/jobs/loader.py +49 -0
- svc_infra/jobs/queue.py +106 -0
- svc_infra/jobs/redis_queue.py +242 -0
- svc_infra/jobs/runner.py +75 -0
- svc_infra/jobs/scheduler.py +53 -0
- svc_infra/jobs/worker.py +40 -0
- svc_infra/loaders/__init__.py +186 -0
- svc_infra/loaders/base.py +143 -0
- svc_infra/loaders/github.py +309 -0
- svc_infra/loaders/models.py +147 -0
- svc_infra/loaders/url.py +229 -0
- svc_infra/logging/__init__.py +375 -0
- svc_infra/mcp/__init__.py +82 -0
- svc_infra/mcp/svc_infra_mcp.py +91 -33
- svc_infra/obs/README.md +2 -0
- svc_infra/obs/add.py +68 -11
- svc_infra/obs/cloud_dash.py +2 -1
- svc_infra/obs/grafana/dashboards/http-overview.json +45 -0
- svc_infra/obs/metrics/__init__.py +6 -7
- svc_infra/obs/metrics/asgi.py +8 -7
- svc_infra/obs/metrics/base.py +13 -13
- svc_infra/obs/metrics/http.py +3 -3
- svc_infra/obs/metrics/sqlalchemy.py +14 -13
- svc_infra/obs/metrics.py +9 -8
- svc_infra/resilience/__init__.py +44 -0
- svc_infra/resilience/circuit_breaker.py +328 -0
- svc_infra/resilience/retry.py +289 -0
- svc_infra/security/__init__.py +167 -0
- svc_infra/security/add.py +213 -0
- svc_infra/security/audit.py +97 -18
- svc_infra/security/audit_service.py +10 -9
- svc_infra/security/headers.py +15 -2
- svc_infra/security/hibp.py +14 -7
- svc_infra/security/jwt_rotation.py +78 -29
- svc_infra/security/lockout.py +23 -16
- svc_infra/security/models.py +77 -44
- svc_infra/security/oauth_models.py +73 -0
- svc_infra/security/org_invites.py +12 -12
- svc_infra/security/passwords.py +3 -3
- svc_infra/security/permissions.py +31 -7
- svc_infra/security/session.py +7 -8
- svc_infra/security/signed_cookies.py +26 -6
- svc_infra/storage/__init__.py +93 -0
- svc_infra/storage/add.py +250 -0
- svc_infra/storage/backends/__init__.py +11 -0
- svc_infra/storage/backends/local.py +331 -0
- svc_infra/storage/backends/memory.py +213 -0
- svc_infra/storage/backends/s3.py +334 -0
- svc_infra/storage/base.py +239 -0
- svc_infra/storage/easy.py +181 -0
- svc_infra/storage/settings.py +193 -0
- svc_infra/testing/__init__.py +682 -0
- svc_infra/utils.py +170 -5
- svc_infra/webhooks/__init__.py +69 -0
- svc_infra/webhooks/add.py +327 -0
- svc_infra/webhooks/encryption.py +115 -0
- svc_infra/webhooks/fastapi.py +37 -0
- svc_infra/webhooks/router.py +55 -0
- svc_infra/webhooks/service.py +69 -0
- svc_infra/webhooks/signing.py +34 -0
- svc_infra/websocket/__init__.py +79 -0
- svc_infra/websocket/add.py +139 -0
- svc_infra/websocket/client.py +283 -0
- svc_infra/websocket/config.py +57 -0
- svc_infra/websocket/easy.py +76 -0
- svc_infra/websocket/exceptions.py +61 -0
- svc_infra/websocket/manager.py +343 -0
- svc_infra/websocket/models.py +49 -0
- svc_infra-1.1.0.dist-info/LICENSE +21 -0
- svc_infra-1.1.0.dist-info/METADATA +362 -0
- svc_infra-1.1.0.dist-info/RECORD +364 -0
- svc_infra-0.1.595.dist-info/METADATA +0 -80
- svc_infra-0.1.595.dist-info/RECORD +0 -253
- {svc_infra-0.1.595.dist-info → svc_infra-1.1.0.dist-info}/WHEEL +0 -0
- {svc_infra-0.1.595.dist-info → svc_infra-1.1.0.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
svc_infra/__init__.py,sha256=KRlsNkhDjm5IEpISSLR7oeiuvSXDk-Pf2aLIg7wUCX8,1287
|
|
2
|
+
svc_infra/apf_payments/README.md,sha256=wqJrJcCkWIFMS0d1pUhYGt6NmgnxmYJcHFnUnm8Bf1Y,23321
|
|
3
|
+
svc_infra/apf_payments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
svc_infra/apf_payments/alembic.py,sha256=XJIcCDOoaO1EeJbSx_qK9o4cBi430qyo5gECtjHIojw,299
|
|
5
|
+
svc_infra/apf_payments/models.py,sha256=kaSTfnUCKorLKNyHspHj-jGSpmVvUu5EFMF9k6cSSKI,14372
|
|
6
|
+
svc_infra/apf_payments/provider/__init__.py,sha256=mZdg0VZMWsjFrrauq9MqLrnZUYb1DWo_w-YT8v4KD1Q,114
|
|
7
|
+
svc_infra/apf_payments/provider/aiydan.py,sha256=bEgJHehEAUgzRocNXVyXBFiPNX5PLAMMwsLT_pt8q5I,32167
|
|
8
|
+
svc_infra/apf_payments/provider/base.py,sha256=6UOif53jC5qiDQ3dbS9ZobUjvEJWf9Y-49dtE9PTwuw,7706
|
|
9
|
+
svc_infra/apf_payments/provider/registry.py,sha256=hpBozmYMfnGZH_CqpwpDGoHWpjFvL2b9hF0tjbujaH4,837
|
|
10
|
+
svc_infra/apf_payments/provider/stripe.py,sha256=xRS_tZ7hSx8aMeJhmTClbIpIElVd9ObZZ-45uw7WvhU,35055
|
|
11
|
+
svc_infra/apf_payments/schemas.py,sha256=VJ8wj42t-aZN1URBYfA5qIDdTgbJyq6a4tKZRTATgLs,8461
|
|
12
|
+
svc_infra/apf_payments/service.py,sha256=SgaWklSkRGfN7GTzXK0KM7OUKIF41fz3oStRqoO9P7c,35042
|
|
13
|
+
svc_infra/apf_payments/settings.py,sha256=8jx9dtwRZjyCEVrLq2yaqPPb09ekUzlNKqO4a0Cwpn8,1995
|
|
14
|
+
svc_infra/api/__init__.py,sha256=6xTqVENYenTfdj5JvqHL_0HFieB94_ETE8wFklSvmPM,1221
|
|
15
|
+
svc_infra/api/fastapi/__init__.py,sha256=QLbpXF1B9_iAzpR4NTda-mYzdfATiSoqfrV-p52uPzI,1535
|
|
16
|
+
svc_infra/api/fastapi/admin/__init__.py,sha256=AmuCHI5EQRCqwM40Gs1245z7MTcYZkg5xuoaplCExko,82
|
|
17
|
+
svc_infra/api/fastapi/admin/add.py,sha256=Q0DbuLuFhAa9lKXTV1iLdAvc09xkfIG2ls49Mngi6nY,8908
|
|
18
|
+
svc_infra/api/fastapi/apf_payments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
svc_infra/api/fastapi/apf_payments/router.py,sha256=Q7C7JQC_2JITFBfQI16axaoDm_v2I75F2oJOqV_x08w,36795
|
|
20
|
+
svc_infra/api/fastapi/apf_payments/setup.py,sha256=sZOldU6_YLvSBrViLljxi4j1K5GKd2gOPEKS_RtaNXM,2677
|
|
21
|
+
svc_infra/api/fastapi/auth/__init__.py,sha256=QbYlodQCnd8k9yPzNVR1JK9H7yhwmGIkNZ_EqlyC9sg,1659
|
|
22
|
+
svc_infra/api/fastapi/auth/_cookies.py,sha256=WyL_A0dhXqpIbhWKcYAReyzC3ISBiSQJhnhpwiC_qYk,1335
|
|
23
|
+
svc_infra/api/fastapi/auth/add.py,sha256=cx5l15lhLKI4eaAxZaCohUB1NJm7PBS821myIAQuufs,10108
|
|
24
|
+
svc_infra/api/fastapi/auth/gaurd.py,sha256=V_0bJOxKBLwJisUTougCrDROLXFvv5hw81TMgcoyg1M,9131
|
|
25
|
+
svc_infra/api/fastapi/auth/mfa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
svc_infra/api/fastapi/auth/mfa/models.py,sha256=OysOf9OlBO8UlKVYZEWWsvuMElu8Z1mCmYY5NHFzWx8,1195
|
|
27
|
+
svc_infra/api/fastapi/auth/mfa/pre_auth.py,sha256=vgPpwMcjXT-OEuTjnvNAX3QqCJdlPL5iaYYHPGrohqQ,1603
|
|
28
|
+
svc_infra/api/fastapi/auth/mfa/router.py,sha256=f8INaH0AzFNkCELyiXssAH9qiA1KnlZdGQnv8DIaKXw,12695
|
|
29
|
+
svc_infra/api/fastapi/auth/mfa/security.py,sha256=7WYCe6Nql1KA96klaU5PqZiWlFwpvlAQdBWfaN7Z1qQ,1043
|
|
30
|
+
svc_infra/api/fastapi/auth/mfa/utils.py,sha256=CUtI5VVpXq2zHdSP0VLwggnHtbI1ols4bGpC5QDsYUE,1023
|
|
31
|
+
svc_infra/api/fastapi/auth/mfa/verify.py,sha256=LVdfGj12s1LcA0T6Lq8S_ulxkyxlnN4WOeOFSm-tvPY,2862
|
|
32
|
+
svc_infra/api/fastapi/auth/policy.py,sha256=BLPQxkDW-271lBzRgARdHqQ9dvEOIQ-iYUvHPjV9Vwo,862
|
|
33
|
+
svc_infra/api/fastapi/auth/providers.py,sha256=-dlj471MfIAaqDsw-kiyteq1fPHHkwwWWG9vizSfxjg,3211
|
|
34
|
+
svc_infra/api/fastapi/auth/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
svc_infra/api/fastapi/auth/routers/account.py,sha256=IzLCk9e6ST8oorI8GWTuU0bfPyGvONqAjxadoE6L6Fg,1614
|
|
36
|
+
svc_infra/api/fastapi/auth/routers/apikey_router.py,sha256=Up99XNn9gwIng0J_bVrN7S0S5arxCNy5RALWB1DsQIs,5308
|
|
37
|
+
svc_infra/api/fastapi/auth/routers/oauth_router.py,sha256=n81u8ZWafVSmIM92T46wy5M-Pr1iMAWEmsA1-OoX9Uo,28301
|
|
38
|
+
svc_infra/api/fastapi/auth/routers/session_router.py,sha256=5lP0evEoNpJlUGocQ-hTJoskb7PUm_TfEdOlHikv7I4,2338
|
|
39
|
+
svc_infra/api/fastapi/auth/security.py,sha256=tTSvEa77Y7fzjuh3tc9qeU7bmfMqoBfFD5guPdxLQig,6625
|
|
40
|
+
svc_infra/api/fastapi/auth/sender.py,sha256=7kbyS9nKWiC1_YGuGc9s1uBkAHszdvDHe6Glaj-bZPE,1964
|
|
41
|
+
svc_infra/api/fastapi/auth/settings.py,sha256=Br3iMBaXFAkQNl1Id5LOMr4CCkKDwp9OWZWI1v9ABe4,3391
|
|
42
|
+
svc_infra/api/fastapi/auth/state.py,sha256=SHQRucZ00epSqKCcBvPRpwqW_PaQQBSYS6EHmIBJWKU,1078
|
|
43
|
+
svc_infra/api/fastapi/auth/ws_security.py,sha256=zHUfsPkCcDxOv8rk_FjLzIQC5zy492XOPCDXxxBVffI,8595
|
|
44
|
+
svc_infra/api/fastapi/billing/router.py,sha256=NmQ8W_acwVRpr0kZmAzLg9IA-hDXAXBHIXdNRZCRJ0k,2160
|
|
45
|
+
svc_infra/api/fastapi/billing/setup.py,sha256=N4_yvNdvCt2l2OUmREUdUAClGwLUvCwqN1IHgY99ZMI,621
|
|
46
|
+
svc_infra/api/fastapi/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
+
svc_infra/api/fastapi/cache/add.py,sha256=eIgv8zP1Zp5Bg0i1ZeDIJlP9wtnOePx7x0e0LaEtpCM,429
|
|
48
|
+
svc_infra/api/fastapi/db/__init__.py,sha256=xsKiQESWKLFV3rC-Gif35rlvY-J8J4aeJ1NsH98gk3Q,372
|
|
49
|
+
svc_infra/api/fastapi/db/http.py,sha256=ZmXpkr35KUGnH42gavmgHxrCxlO_iyPklEn3GoBihJ0,2271
|
|
50
|
+
svc_infra/api/fastapi/db/nosql/__init__.py,sha256=eyGkD3jofKNp_TeLFGafsKnYqbtMvlovZ1-CXrR-YIk,1407
|
|
51
|
+
svc_infra/api/fastapi/db/nosql/mongo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
+
svc_infra/api/fastapi/db/nosql/mongo/add.py,sha256=lhDG4HkBxz6CLbZJJhnVQ0GEGXJCPps2lQ3wB3xgv10,4553
|
|
53
|
+
svc_infra/api/fastapi/db/nosql/mongo/crud_router.py,sha256=FVvJ5Aal6_ABWKW0O9KmHhDW7GuiRSQ9fFndcnoLkXY,4607
|
|
54
|
+
svc_infra/api/fastapi/db/nosql/mongo/health.py,sha256=OM4_Pig3IRSrBhz2yHweIhGlSBrW1bubY_mDt5uyORA,507
|
|
55
|
+
svc_infra/api/fastapi/db/sql/README.md,sha256=uF_k4wbNSeWR6JF_8evWkeSFidBEXMXcIiYyR6sEv48,3082
|
|
56
|
+
svc_infra/api/fastapi/db/sql/__init__.py,sha256=pwB1IAl0A6pjetq_CqJRpkdVIrsqIyjkW2KWTsCk3_Y,272
|
|
57
|
+
svc_infra/api/fastapi/db/sql/add.py,sha256=20GmhD-sqtRAda3GcfLpY7fGC-R2e-viFm7EJXzqT6I,5437
|
|
58
|
+
svc_infra/api/fastapi/db/sql/crud_router.py,sha256=C3dx34jrlF6g4FDt4ZmYDiQmjA91agozMVsWNKOVVJM,11572
|
|
59
|
+
svc_infra/api/fastapi/db/sql/health.py,sha256=ELLgQerooHHnvZRhGueSAc4QJsb3C4RojUGIu_U-hA4,792
|
|
60
|
+
svc_infra/api/fastapi/db/sql/session.py,sha256=DzlL2zaHCanRtcDaq4u51aiZdvNVpKl9Azv5SBn_hGk,2587
|
|
61
|
+
svc_infra/api/fastapi/db/sql/users.py,sha256=uibTsrx5GrFT7q4qs1oD8MMyEXZeKY7GDLh1WTpKBYI,5533
|
|
62
|
+
svc_infra/api/fastapi/dependencies/ratelimit.py,sha256=zUNKMTLggc-3B2M5Tn4ucrNTPRVcn-_XCiJ1KIeOXmE,4053
|
|
63
|
+
svc_infra/api/fastapi/docs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
|
+
svc_infra/api/fastapi/docs/add.py,sha256=aa1KWzy6u2GLy4fdnA_68vz2BgMetTglOdHXut1d9E8,5737
|
|
65
|
+
svc_infra/api/fastapi/docs/landing.py,sha256=mHxX06KCHNBwXMWTENuzLautNitRiqDp_5S4pZAFKs8,4604
|
|
66
|
+
svc_infra/api/fastapi/docs/scoped.py,sha256=eOB3dPwUf1W5iZhSHUbamLHqZbEsXgO5pMytgGTdTaI,8888
|
|
67
|
+
svc_infra/api/fastapi/dual/__init__.py,sha256=8KtRm6OireWBWwM8-nlYUieISqRDGflobFL86LKkGZI,885
|
|
68
|
+
svc_infra/api/fastapi/dual/dualize.py,sha256=YhJox9fGKYH-ljXs2JoQC4AYRmJvoV_BsN2V8RBDjXo,3812
|
|
69
|
+
svc_infra/api/fastapi/dual/protected.py,sha256=yXHfFQxxhwxrOatfG6T4QUTuokgwTwNjy1iy-Tyoiw8,6810
|
|
70
|
+
svc_infra/api/fastapi/dual/public.py,sha256=2G1dW9S9CY-CJfpsZBUhYlop1LLVlUdTipZTFt1icIc,1438
|
|
71
|
+
svc_infra/api/fastapi/dual/router.py,sha256=8G02BSV9vBOSVAk0MqLCXb9u0N1DXOO4ffjrbIAhLfE,6448
|
|
72
|
+
svc_infra/api/fastapi/dual/utils.py,sha256=frkZtxGVyT0oUCveqpxSRrcRwercXYs3wjhTjh8av2g,272
|
|
73
|
+
svc_infra/api/fastapi/dx.py,sha256=5IudyA7DfvqrzF3c3aOWGRz3oGiHNbLwGHx8eu_yuv8,4836
|
|
74
|
+
svc_infra/api/fastapi/ease.py,sha256=0OmcsjgQHlWVcoXZSpwb6H6qYwvNtd8YjAB63wjLqtE,10239
|
|
75
|
+
svc_infra/api/fastapi/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
|
+
svc_infra/api/fastapi/http/concurrency.py,sha256=8HMtlBy_UBBcG0hI0dOtMRSusD7cIB1iUGVinmA9ipo,543
|
|
77
|
+
svc_infra/api/fastapi/http/conditional.py,sha256=gWpEblkq-hEVszPa0BV8W0GRc5Bblq8y_BgecNAvMr8,1103
|
|
78
|
+
svc_infra/api/fastapi/http/deprecation.py,sha256=dW8NrReVzeIqyOSBJvyImDBUM9y-0PRvZz55YJsBI2Q,715
|
|
79
|
+
svc_infra/api/fastapi/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
|
+
svc_infra/api/fastapi/middleware/debug.py,sha256=h7bfbgHHThBW0sra8C10kubsv6ixcipA_jeYBDvIS_o,656
|
|
81
|
+
svc_infra/api/fastapi/middleware/errors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
|
+
svc_infra/api/fastapi/middleware/errors/catchall.py,sha256=TG0W71UCDbfgLNdIaIv6mBSwZA_etMp5GquwKcAwYbI,1842
|
|
83
|
+
svc_infra/api/fastapi/middleware/errors/exceptions.py,sha256=TaFqg3IHGqH6U1AJM33tuJYaYYa2BHvD_IhnMY0l-hg,443
|
|
84
|
+
svc_infra/api/fastapi/middleware/errors/handlers.py,sha256=33c402V-8Dyjec3rjswch2RoD72wfEIgDmCReYYcat0,8611
|
|
85
|
+
svc_infra/api/fastapi/middleware/graceful_shutdown.py,sha256=hw8pfFuc8iyezYhaSMdgY2VP0okf6B4-ODzhNLQmLew,3053
|
|
86
|
+
svc_infra/api/fastapi/middleware/idempotency.py,sha256=tAvkRuKkuPJ8sgyNKul7hdDYhWbD-fKoXRmqUkPv4s4,7815
|
|
87
|
+
svc_infra/api/fastapi/middleware/idempotency_store.py,sha256=bKAnlZbJsaXbZkFNdMFDOBFUftpIuANGYINan_Vr424,5482
|
|
88
|
+
svc_infra/api/fastapi/middleware/optimistic_lock.py,sha256=U7kEN51vLeG6_c2jHSI9_UxOvC3jk-ZZe4Zh6T1SUTo,1303
|
|
89
|
+
svc_infra/api/fastapi/middleware/ratelimit.py,sha256=J6wifeZW9nJn-WWufveEwifk9dFou3-MAjEaO8F5ru4,6252
|
|
90
|
+
svc_infra/api/fastapi/middleware/ratelimit_store.py,sha256=zj0YwLn41gYLObH08cHI3-vtk6idmAfseebDOCEu8ug,3628
|
|
91
|
+
svc_infra/api/fastapi/middleware/request_id.py,sha256=OV9Jh_p8U_foC8oz4pbpP9x5gPMhv9iC6fkkIeRRCS8,1371
|
|
92
|
+
svc_infra/api/fastapi/middleware/request_size_limit.py,sha256=KfP3c-mcR3qu2NZMO2gbj513FdN7WAvnuZ1y7n73tc4,1256
|
|
93
|
+
svc_infra/api/fastapi/middleware/timeout.py,sha256=vXZYX4kdOJsr8pNLusovY_azlC3v2DaI4Ob_-DiKZmw,6535
|
|
94
|
+
svc_infra/api/fastapi/object_router.py,sha256=_Uk8KEeSSmfbdz3Wfi3ns1xEpftBBmKyPdjhqzDzkow,32805
|
|
95
|
+
svc_infra/api/fastapi/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
|
+
svc_infra/api/fastapi/openapi/apply.py,sha256=3muK0UPrOSXLKHhZfpjoD1ae3cSL5V5pyxTVUVX9NXU,1726
|
|
97
|
+
svc_infra/api/fastapi/openapi/conventions.py,sha256=1-80AhOHM_tn66hA0VsqIyqCQTWqhXGpmdA7TIdOPrs,7247
|
|
98
|
+
svc_infra/api/fastapi/openapi/models.py,sha256=MmXMpPZQjZygajfIHaL4_3q0zluPtpRevsSyOIiE83Y,2562
|
|
99
|
+
svc_infra/api/fastapi/openapi/mutators.py,sha256=2DofQzXmV_oYWtGRyPpxqf1-yc4aVQZ6zPPvyT3AFEg,55680
|
|
100
|
+
svc_infra/api/fastapi/openapi/pipeline.py,sha256=OvkUrqAUepQobbEYOF_KTiPmY1n_cF4Og_8ZiKNZzgo,686
|
|
101
|
+
svc_infra/api/fastapi/openapi/responses.py,sha256=XnNPqsGXc1iCLIxM0UFKXI-T-DW3qMU0uTzgJQiHH6I,1068
|
|
102
|
+
svc_infra/api/fastapi/openapi/security.py,sha256=YCYjrlSWojtLgG0mC48v0LJdPUD_CrDOUwE4PkBCsiw,1255
|
|
103
|
+
svc_infra/api/fastapi/ops/add.py,sha256=NIjIQ26PB49z3pFUdyJ8mePww8sUR2MUaBknm3-BZE4,2457
|
|
104
|
+
svc_infra/api/fastapi/pagination.py,sha256=8Y8e3Qt9NTDMDonUdL-w2kucuTxHowcBUafKjiItfrI,11210
|
|
105
|
+
svc_infra/api/fastapi/paths/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
|
+
svc_infra/api/fastapi/paths/auth.py,sha256=hy9N0QFQnpv7dBOuHStui5eP9oIGHrawa0sADIVVD64,553
|
|
107
|
+
svc_infra/api/fastapi/paths/generic.py,sha256=z2hAYoanpxXCksHLJyo5_GsnmmQEgslM5CaG3kVsy0E,38
|
|
108
|
+
svc_infra/api/fastapi/paths/prefix.py,sha256=I1xEt1lKDlOPn2Oa-y_1B-Q8JCwAPpu3_F_1YUHu_Sc,45
|
|
109
|
+
svc_infra/api/fastapi/paths/user.py,sha256=z8xv_A3dPhG366ezJU1c839oHbU3tEg06rbx3HUUuL0,323
|
|
110
|
+
svc_infra/api/fastapi/routers/__init__.py,sha256=Pxc4J5ijF_u0NJJhBBxYnibAVx1zak2R-ONMRPpso18,9232
|
|
111
|
+
svc_infra/api/fastapi/routers/ping.py,sha256=71DGaklMAkCL8g_NHdQk9LXG7C_cVem1p8qtapGtnBk,576
|
|
112
|
+
svc_infra/api/fastapi/setup.py,sha256=-mmv6-3K9caQofXLdRNkQGnCHTwo3SWYV6xwsBiJZjY,13755
|
|
113
|
+
svc_infra/api/fastapi/tenancy/add.py,sha256=yqlxOYXH45hx7NNWJyizX8tzrnEy7-feD4fLPqPJvmA,523
|
|
114
|
+
svc_infra/api/fastapi/tenancy/context.py,sha256=J_DTiO-fkF0-SxsYkUD76bamWpkRMV4MpwOFAwzK8ow,3274
|
|
115
|
+
svc_infra/api/fastapi/versioned.py,sha256=mpmwPE90xVKYtRcaPGFjsbqMQEJzuG51WSTL87HtHEM,3268
|
|
116
|
+
svc_infra/app/README.md,sha256=MqnKTVjE9txaqlcl41wAv34hWhNfc_fJXCqCTsEWNdk,5070
|
|
117
|
+
svc_infra/app/__init__.py,sha256=IZNV7Y5FxR8BVs6AfiNcXlrPXeVlGLgUwsuqhwaLb30,293
|
|
118
|
+
svc_infra/app/env.py,sha256=wtr6dyqPbk2n7p3L-rZQIIUMN4eyDBAY3O1XolE8gJ0,6435
|
|
119
|
+
svc_infra/app/logging/__init__.py,sha256=Nbu2wWySPztxvjW73yIdIi5NEnVNOrOH1PlaUWYIxIM,116
|
|
120
|
+
svc_infra/app/logging/add.py,sha256=zUBTJozsz5BXylIvGYmQbhwyKq0C0SQPYu_uaz9UqMM,2887
|
|
121
|
+
svc_infra/app/logging/filter.py,sha256=ijZplOAKyEAhpHGnfa8Vy3N52Uhf6KrgvUAWnAQp8ko,2001
|
|
122
|
+
svc_infra/app/logging/formats.py,sha256=-bbRkB9vY2-SI8L3R28ekomO3qamH3HMCtkAdhENohs,4895
|
|
123
|
+
svc_infra/app/root.py,sha256=bzhxFvquTvzHzdwayEMnDZtUP1bCr7PGeQ-4yZashOY,1628
|
|
124
|
+
svc_infra/billing/__init__.py,sha256=DoQiCRxVk1OBgTMz4WGJvEbY-Btdjxo6UI5-zC2h_LM,821
|
|
125
|
+
svc_infra/billing/async_service.py,sha256=2oPwwqQ-SM0v2i7M8U1726cSnQTintD_1FOwh5ThTnM,5296
|
|
126
|
+
svc_infra/billing/jobs.py,sha256=dLcIBmk4fxQzsyAahcNmpdRcMKuYbkJvUB1RKYpDUwk,8344
|
|
127
|
+
svc_infra/billing/models.py,sha256=TatV8B8jvx9rkuXmok2GehR2zZYeQ83I9ql2dycQqa8,6170
|
|
128
|
+
svc_infra/billing/quotas.py,sha256=swnvVstWxCkIJa7iOpl7iqR5qot7EuVJCQ3OpzLQzZ0,3433
|
|
129
|
+
svc_infra/billing/schemas.py,sha256=rcPx1-pJkg0bB9dBvEgWgMYn6xz0TJIZGyBauvIRGmo,896
|
|
130
|
+
svc_infra/bundled_docs/README.md,sha256=FqTieL4ADODxTnig8yehV2KdHX9bASDega52bjp5n70,338
|
|
131
|
+
svc_infra/bundled_docs/__init__.py,sha256=8_jF4fM-3Wf6j_mE4000_9AHcJ3tYZXO9hJY-pBEepM,63
|
|
132
|
+
svc_infra/bundled_docs/getting-started.md,sha256=JaMOgRUK_ajaX4SCtiE3GrhQ81wMwng6y46t0032ftU,210
|
|
133
|
+
svc_infra/cache/README.md,sha256=ZgIpmE0UVlGktp2nXUYv6FKJATCdkR_01v-GGxHN6Ao,10795
|
|
134
|
+
svc_infra/cache/__init__.py,sha256=H46FcW4UwCjOVlcsuRxY_SUJln0wC8y0sJz7MyPpKno,1132
|
|
135
|
+
svc_infra/cache/add.py,sha256=eS7Yq3gnKkd3njeLrr3Tg-JMQQOO6XUZ7IHAJXFuXBo,5975
|
|
136
|
+
svc_infra/cache/backend.py,sha256=cEgpQz18zXgo_ToKSZ_DcGhXD4VAMlULPcrdZDaUwx0,4382
|
|
137
|
+
svc_infra/cache/decorators.py,sha256=JTpANwwKYZ3gO-dSNj1dV5mcuUTUerH8dVZPqFKSaFk,10050
|
|
138
|
+
svc_infra/cache/demo.py,sha256=-e9uG6EG5skmofP-XkCCg0d5NOYXmwqF3tfhmjf3UcY,2505
|
|
139
|
+
svc_infra/cache/keys.py,sha256=NgJnci4rEDen0QNBnIKlooknHOGaYWdVXvM5TeQo_g4,3974
|
|
140
|
+
svc_infra/cache/recache.py,sha256=oXXFUZscMLBLwOxkdHxF-Qjqbts6pvO_kUMnZiZNilE,8607
|
|
141
|
+
svc_infra/cache/resources.py,sha256=YkHRXd7KHZYQR_frrlwbi8qN4EfWUJDSCoIiN6ce3lg,7421
|
|
142
|
+
svc_infra/cache/tags.py,sha256=qa8SXZcnBTbtviwiCcGDUjcB27vWCwjy100L-DMuH-Y,1434
|
|
143
|
+
svc_infra/cache/ttl.py,sha256=GrFn9tmAWa3uzG6tCfFTQTRIhCiTYw4Y34InSWidM_0,1911
|
|
144
|
+
svc_infra/cache/utils.py,sha256=6ZGxIUwWuR2ccj0K27r1FFiyvLoqwVtIyVej2P3sM1A,4865
|
|
145
|
+
svc_infra/cli/__init__.py,sha256=9pXGeex8uLVOGLOFbR9x0OFo0iEZOP5Ld9cL2gM8u0Y,1721
|
|
146
|
+
svc_infra/cli/__main__.py,sha256=5BjNuyet8AY-POwoF5rGt722rHQ7tJ0Vf0UFUfzzi-I,58
|
|
147
|
+
svc_infra/cli/cmds/__init__.py,sha256=dfnmAhH52k5qP9qqcd6zU7KlK3vmOPg-G2CE43vBzus,1876
|
|
148
|
+
svc_infra/cli/cmds/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
149
|
+
svc_infra/cli/cmds/db/nosql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
150
|
+
svc_infra/cli/cmds/db/nosql/mongo/README.md,sha256=0u3XLeoBd0XQzXwwfEiFISMIij11TJ9iOGzrysBvsFk,1788
|
|
151
|
+
svc_infra/cli/cmds/db/nosql/mongo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
|
+
svc_infra/cli/cmds/db/nosql/mongo/mongo_cmds.py,sha256=uUWTmxbeIPxpwd8EK4TcNf_w6A5_2BxaGek4SZJTlhI,6129
|
|
153
|
+
svc_infra/cli/cmds/db/nosql/mongo/mongo_scaffold_cmds.py,sha256=fjPACoiiLKQcr6GSrN7XHN8mSuAXw_bixCwdp1GPIzQ,4210
|
|
154
|
+
svc_infra/cli/cmds/db/ops_cmds.py,sha256=etTCsAx9Mhs35FmfIvrw2ccCwUqxsMC92HdPMGV4RGQ,8333
|
|
155
|
+
svc_infra/cli/cmds/db/sql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
156
|
+
svc_infra/cli/cmds/db/sql/alembic_cmds.py,sha256=5d8FKU4NIL2AlkrJV1PFUpMM80gfIEB0RO9QbpLeaDM,10159
|
|
157
|
+
svc_infra/cli/cmds/db/sql/sql_export_cmds.py,sha256=t3tVGFuDE432ayxvwog794YCXXYGbXbtL0xn4wR-8Ks,2676
|
|
158
|
+
svc_infra/cli/cmds/db/sql/sql_scaffold_cmds.py,sha256=-Tn10fKbyBIcEK3nKVCbsuAppUjLFhL8WXECUJgpII8,4579
|
|
159
|
+
svc_infra/cli/cmds/docs/docs_cmds.py,sha256=vgd96wOnC8sdfQPRm1u_mkfukzrBDd6nQGtAIzgb0qk,4471
|
|
160
|
+
svc_infra/cli/cmds/dx/__init__.py,sha256=wQtl3-kOgoESlpVkjl3YFtqkOnQSIvVsOdutiaZFejM,197
|
|
161
|
+
svc_infra/cli/cmds/dx/dx_cmds.py,sha256=r8UqEGZwjI-1WsguwcOccbQrckSvFV9Ak0FcqtmFCGo,3402
|
|
162
|
+
svc_infra/cli/cmds/health/__init__.py,sha256=ErUkvlEc8iomIfEmt54QgsgSV5uaUSraJdKbz2AETmw,4714
|
|
163
|
+
svc_infra/cli/cmds/health/health_cmds.py,sha256=LvhLmmYdrJ83fq3iPknZB8XsfJ4Ke8-0DJcgQNxwnfI,177
|
|
164
|
+
svc_infra/cli/cmds/help.py,sha256=a_U0MbzBTAs4WHO0e8GcdFwLUA8O5mzVXTxpyelhtiU,906
|
|
165
|
+
svc_infra/cli/cmds/jobs/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
|
|
166
|
+
svc_infra/cli/cmds/jobs/jobs_cmds.py,sha256=p4Xh-40ApEM5KtNMqv6YUMWzpm1hQrT-bgQxQxu8ztU,1221
|
|
167
|
+
svc_infra/cli/cmds/obs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
168
|
+
svc_infra/cli/cmds/obs/obs_cmds.py,sha256=hkzyIV6n9dz3Ccl-DgPltIYcSsy2D6yiclRh9mJeUAI,6881
|
|
169
|
+
svc_infra/cli/cmds/sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
170
|
+
svc_infra/cli/cmds/sdk/sdk_cmds.py,sha256=xzEbhA-L5bXMxf-DFzYXkdITfC4ua1Lt8I9x6PoEax0,2886
|
|
171
|
+
svc_infra/cli/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
172
|
+
svc_infra/cli/foundation/runner.py,sha256=R2T23bEMEyp00BWwVzL8O_nj2LYYFUBYZixTvnYI63Y,1825
|
|
173
|
+
svc_infra/cli/foundation/typer_bootstrap.py,sha256=AwOV27uvTS1PRv7KXsdiHDc-TW_nv4fJlXFVSsmJUzo,954
|
|
174
|
+
svc_infra/data/__init__.py,sha256=f_E17hva9OeAFxOqbCpVtKqm7kH4uWTGFGkhrgL1yrE,2373
|
|
175
|
+
svc_infra/data/add.py,sha256=dbXIxpdy_uBn-RHu9xuJyo5gs0a86avSg7HsLCL1S8E,2227
|
|
176
|
+
svc_infra/data/backup.py,sha256=92MPHMuoEvsJaac-IhvsV_7CAtZOR2eAQxWS-A0_VzM,1626
|
|
177
|
+
svc_infra/data/erasure.py,sha256=ukcx8fTT3_feGCtMgtnFN7C3FibRZAu5ea1uJpTCWrw,1147
|
|
178
|
+
svc_infra/data/fixtures.py,sha256=1uki7TBf_WqoecLbN8pKxAdwHkgU74CvSGygC4QR6_E,1232
|
|
179
|
+
svc_infra/data/retention.py,sha256=IyjUAoJIYzLzNdNwWAshyLKtm3DGGvrDR0kYAjwxPbY,1973
|
|
180
|
+
svc_infra/db/__init__.py,sha256=CcDxjFJUG2Jm5TsiKw7TbtdFgpqplZtDu8piucdjboQ,280
|
|
181
|
+
svc_infra/db/crud_schema.py,sha256=VAD5AXPl_m8slIGEUGb54-NfXsOV-IUlLd2gW2AEEm8,2479
|
|
182
|
+
svc_infra/db/inbox.py,sha256=drxLRLHaMRrCDgo_8wj12do80wDh5ssHV6LGkaM98no,1996
|
|
183
|
+
svc_infra/db/nosql/__init__.py,sha256=0RjFS_tD9BXob9d-kpz4LyfqIc7PNzbeQRjRkiMQDHo,190
|
|
184
|
+
svc_infra/db/nosql/base.py,sha256=p47VVpwWvGNkyWe5RDSmGaUFyZovcyNqirMqoHFQ4QU,230
|
|
185
|
+
svc_infra/db/nosql/constants.py,sha256=drYhERd2q5VEDbmDhK4REZMPGD5VANT7VV6g99s9H74,425
|
|
186
|
+
svc_infra/db/nosql/core.py,sha256=Wf_B09ctGcaC28UIxd2TX3O5FmiUmUmj56AyyuDU4l4,4949
|
|
187
|
+
svc_infra/db/nosql/indexes.py,sha256=OhgzW-AYe_J1oITZkSk6J4IhAVIrxWSzDMRFUbHgIcY,2273
|
|
188
|
+
svc_infra/db/nosql/management.py,sha256=jve8kgx6BUeVt2dXRoBEQM4w39mK0oK78cZJ-sInoF4,3465
|
|
189
|
+
svc_infra/db/nosql/mongo/README.md,sha256=rFGck7VMGOMh9PZ8KkgDbxzZfbsWAoTJg5UWGlvK4oM,11687
|
|
190
|
+
svc_infra/db/nosql/mongo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
191
|
+
svc_infra/db/nosql/mongo/client.py,sha256=nvqzORQdUBvGRw3AYdidHeDQght_cMtgUolh4CbXmcs,1822
|
|
192
|
+
svc_infra/db/nosql/mongo/settings.py,sha256=IJev_Fhu2ltykQBKQBAe8bkML6LAAhUYiXzzlP9jwCw,550
|
|
193
|
+
svc_infra/db/nosql/mongo/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
|
+
svc_infra/db/nosql/mongo/templates/documents.py.tmpl,sha256=QgXaZK9fCzRTdDITijMCvFREPrdwhe_8yfD7ht-AJgs,673
|
|
195
|
+
svc_infra/db/nosql/mongo/templates/resources.py.tmpl,sha256=eVCZ43WvjdrDbXuB2behxuDg8bB2kyeED0c-LpKnjC4,1463
|
|
196
|
+
svc_infra/db/nosql/mongo/templates/schemas.py.tmpl,sha256=ovHotwcEl06pjPDyT2pkWgF19mWIsyO75nFt1qvLsqo,841
|
|
197
|
+
svc_infra/db/nosql/repository.py,sha256=XKYiAnLidQKhwHJ-qG-28Qm6Ltb0I-9dm9m5jFsd0p8,7722
|
|
198
|
+
svc_infra/db/nosql/resource.py,sha256=UZn5rhkdSsPJtoqZZJZGB-C18iOTNqyxc1kZ5FIkY3c,2898
|
|
199
|
+
svc_infra/db/nosql/scaffold.py,sha256=1H-IqD-ewFeiIyUsACb2ob4VhM5e2zayEly_EJ0-vnw,4790
|
|
200
|
+
svc_infra/db/nosql/service.py,sha256=qjFiL-MRETBpbX7kope28lbjGfnYvE4zAvq1_3d2NMM,1751
|
|
201
|
+
svc_infra/db/nosql/service_with_hooks.py,sha256=-QgQTei95HaQ_KD2JSg7BQsrqFuaYoqUzoG2sLqepGY,758
|
|
202
|
+
svc_infra/db/nosql/types.py,sha256=lcyuoZvBHRlGD24WL2HCEG5YmCpwo7qB4VYAckcY-WE,814
|
|
203
|
+
svc_infra/db/nosql/utils.py,sha256=MiwZEI1Kr94Wf3m05ehZ6tGrGNtq7ti9E31SsIRQ34Y,3514
|
|
204
|
+
svc_infra/db/ops.py,sha256=0cdTqsK5TqfKiulBmmo4p-sz86It3Y5q2Q3bGM6LRaY,11594
|
|
205
|
+
svc_infra/db/outbox.py,sha256=9spzmKzQzWUe4S-KNZeFghLdyXS-MA5E_IlpmyFdxuA,3324
|
|
206
|
+
svc_infra/db/sql/README.md,sha256=OI1T7SiY4_f0eTWQGtIeUsgkFqzvloh1vctOm6nvIvU,8581
|
|
207
|
+
svc_infra/db/sql/__init__.py,sha256=PkDutfhzofY0jbE83ZuxbrvXhogvP1tmk5MniyfwQws,159
|
|
208
|
+
svc_infra/db/sql/apikey.py,sha256=OqlcAc_ICL6Q_ZHYwTZ7XGVsmMnvbPKOlw-d2dMLKn8,5215
|
|
209
|
+
svc_infra/db/sql/authref.py,sha256=lJU1AQ7lUrpr-5naaltYrfF07B6WQ6IGhTzaY7Am3cc,2224
|
|
210
|
+
svc_infra/db/sql/base.py,sha256=yeOM4Xo2CtTzsfx0hN8KLFTgOPZp6BrbV7Omz_bZUMg,317
|
|
211
|
+
svc_infra/db/sql/constants.py,sha256=V0nvWUzlzxAhOMoYJggI8OUHThtGBW97CnFmdsHsR0I,1896
|
|
212
|
+
svc_infra/db/sql/core.py,sha256=vyVNVR3u6U03RCD8ctYoBjxbdolR8UNYzsoTf7mxNcs,10851
|
|
213
|
+
svc_infra/db/sql/management.py,sha256=ZE2H2pFdzWjwhlreJdgA31XqMb_ngu_ooFo7g6INr1Q,3616
|
|
214
|
+
svc_infra/db/sql/repository.py,sha256=TsRdrvX6NUCyKG1kFpF7iYupjm9w544551Urvj3gnPI,8009
|
|
215
|
+
svc_infra/db/sql/resource.py,sha256=hEnV5FyLNC75stz-ngBwh-iq8tcQtY2Du2HMFPJpMyU,1173
|
|
216
|
+
svc_infra/db/sql/scaffold.py,sha256=vmH8PRUMR916xdluzerKhDzi6nvL-2K17sqAyJRCN60,9073
|
|
217
|
+
svc_infra/db/sql/service.py,sha256=eua_-PeoggkN-mfi34uP7Nx0kqJw7pVXP1QtqInuP6w,2817
|
|
218
|
+
svc_infra/db/sql/service_with_hooks.py,sha256=zRw0OGwywhv9GcUx8B14gqoEGC3S4mKJQmEXqWIfizU,732
|
|
219
|
+
svc_infra/db/sql/templates/__init__.py,sha256=atHi2TYS0oe8ZzUv2JIMSYdPduuyvu8RcOQASo7SqwM,48
|
|
220
|
+
svc_infra/db/sql/templates/models_schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
221
|
+
svc_infra/db/sql/templates/models_schemas/auth/models.py.tmpl,sha256=ROR13DZETuDOTrIXqb0XIdJeK-FMLkkfMor2lMMw-Kw,7573
|
|
222
|
+
svc_infra/db/sql/templates/models_schemas/auth/schemas.py.tmpl,sha256=EVLGBBtQIlYXz0MN4yqAgbYLw0BdYawpZSFlPiw879g,2872
|
|
223
|
+
svc_infra/db/sql/templates/models_schemas/entity/models.py.tmpl,sha256=cSUAfYgATv2SI0NQoHkn9Bzvt7RbOZ3_V8_p_VQsNMk,4349
|
|
224
|
+
svc_infra/db/sql/templates/models_schemas/entity/schemas.py.tmpl,sha256=xHTXk8u2uiqmQe8XpXjGAPg8pDpdr0rLtsSOC_fo9vo,1032
|
|
225
|
+
svc_infra/db/sql/templates/setup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
|
+
svc_infra/db/sql/templates/setup/alembic.ini.tmpl,sha256=7SHSOyUq9S7XqVdKpWLJW7gIWadv58t4AIooa306gDo,771
|
|
227
|
+
svc_infra/db/sql/templates/setup/env_async.py.tmpl,sha256=yJyf4zw5fHaHOvurfFJb-XEqEArlnOksMNeGWgo-7dc,13908
|
|
228
|
+
svc_infra/db/sql/templates/setup/env_sync.py.tmpl,sha256=EiH8OS9uN-6IUT4p-XtmziqSwbq6-NjoojW9X6o1NSo,15357
|
|
229
|
+
svc_infra/db/sql/templates/setup/script.py.mako.tmpl,sha256=RiEMqF6dTN0S_lSRr90w5K2VtyK0_C81kBPZ02qQDZU,588
|
|
230
|
+
svc_infra/db/sql/tenant.py,sha256=XVCb_OAji5ia48Vxs9Ilf630jbwxjA8ASQ-1Okscy50,2806
|
|
231
|
+
svc_infra/db/sql/types.py,sha256=aDcYS-lEb3Aw9nlc8D67wyS5rmE9ZOkblxPjPFbMM_0,863
|
|
232
|
+
svc_infra/db/sql/uniq.py,sha256=o2PPMue_X9dJIWK-NIK4VyUsB8swu0Q4UaWaniv9X5k,2522
|
|
233
|
+
svc_infra/db/sql/uniq_hooks.py,sha256=-XOgGf2ENhG_lRITLSmsLIzvYNthz4dOZtKlGTaO9Ig,4267
|
|
234
|
+
svc_infra/db/sql/utils.py,sha256=tH8q2jD9xRfx68rVPDMX4Hr7tSPm14zjR017UB6KB6A,34825
|
|
235
|
+
svc_infra/db/sql/versioning.py,sha256=okZu2ad5RAFXNLXJgGpcQvZ5bc6gPjRWzwiBT0rEJJw,400
|
|
236
|
+
svc_infra/db/utils.py,sha256=h9a2HhaYaKqAyFbc0cnxzz45-fjomdFDA_MiORDQ1Ro,791
|
|
237
|
+
svc_infra/deploy/__init__.py,sha256=VvWG3MJYmGec_zfleEE5JoC9QY0JuHvYTzwP-mvMAXM,14792
|
|
238
|
+
svc_infra/documents/__init__.py,sha256=eTzJHwjeKxVG9VyVtECOVlZ2E0EyUQx8w7Ll8FWXHiA,2853
|
|
239
|
+
svc_infra/documents/add.py,sha256=biPfaWPi0o5Tnc-HM0wXUjDHPLrNA2bUnoSTBOOq4Dg,7912
|
|
240
|
+
svc_infra/documents/ease.py,sha256=ySjwRs2pKt0vVDEKVxeryU3MWVozeQ7DMl_v9Z70L-4,6222
|
|
241
|
+
svc_infra/documents/models.py,sha256=5vDbHDacg5f-DrIxMOTNmxFmQqAWG9qzquxJJZoFc88,4359
|
|
242
|
+
svc_infra/documents/storage.py,sha256=j5ihVhGA5w3Yfcw-2STBfPHMZX8Q4_UgAQpzonxmXfI,7312
|
|
243
|
+
svc_infra/dx/__init__.py,sha256=xfuk_5kj4VJdaKt4A03WIpywDJ_b1564cM_eO_EUKS8,1732
|
|
244
|
+
svc_infra/dx/add.py,sha256=FAnLGP0BPm_q_VCEcpUwfj-b0mEse988chh9DHeS7GU,1474
|
|
245
|
+
svc_infra/dx/changelog.py,sha256=OHr5t91L1RGtoq8tsYINM9MVStmD-dXkNIombJ3SmXg,1950
|
|
246
|
+
svc_infra/dx/checks.py,sha256=IiQVOf8gLHR3MP2PaghlGu5AOSsGbWAePqTKSbzc_fs,2330
|
|
247
|
+
svc_infra/exceptions.py,sha256=_-1rIQB6OIbQNflzOHEksB5zF12pmapeklRjnxsQoIE,3852
|
|
248
|
+
svc_infra/health/__init__.py,sha256=jk9YFoij7Xv5jVR1YqjLNvy316QI1GM83QIOQ5MhcIo,27445
|
|
249
|
+
svc_infra/http/__init__.py,sha256=K79-aGyq_JdsxhyxispQlnygvf9LhU0_NJQcFYlWB9I,249
|
|
250
|
+
svc_infra/http/client.py,sha256=-diGdlK_9zWbpGRSOhGNUG5BlcODjwCTm3px4_AvWl0,3593
|
|
251
|
+
svc_infra/jobs/__init__.py,sha256=ZX8Pci_Ooi_NsgNrtQuouoIPC8uUVZSPJyP0X197ZAw,2184
|
|
252
|
+
svc_infra/jobs/builtins/outbox_processor.py,sha256=5cPwM8wEBmAlRbe4lg6imA3RjPa5hbetIq104Dxahcg,1243
|
|
253
|
+
svc_infra/jobs/builtins/webhook_delivery.py,sha256=8wazNyYryHXYMMKwJ9GIhKzxBK6KyS59L6zaMViZVuM,3745
|
|
254
|
+
svc_infra/jobs/easy.py,sha256=tL8UYvpYoqNDo_uLH5LF-7sBSyLEsH_JnBF_xbSU29c,997
|
|
255
|
+
svc_infra/jobs/loader.py,sha256=7oPEndwW4ACDSFf-TI9nT4G542SKYvojAtOmwzJWL_U,1309
|
|
256
|
+
svc_infra/jobs/queue.py,sha256=UTiJNTR7QrgC7fi7wQ16KgxXdEsWpVMj4rThz_5-xTo,3542
|
|
257
|
+
svc_infra/jobs/redis_queue.py,sha256=a7xGif_eVPnqO1lbvzb31OpHqAtgZjx7UAUW_WNVzMs,9887
|
|
258
|
+
svc_infra/jobs/runner.py,sha256=82MElykaLAJx7QleNkjqW17agej-saAw4idf-AGT4Tw,2723
|
|
259
|
+
svc_infra/jobs/scheduler.py,sha256=r9AYhAjXG45gWSXcKNzWe9P6bDgHUIe4gztRYivkyGo,1570
|
|
260
|
+
svc_infra/jobs/worker.py,sha256=OheGmoDDOJ-A5deA9HSOgAlxLT5l8BJYVVM7_-AYaQs,1108
|
|
261
|
+
svc_infra/loaders/__init__.py,sha256=KHhV8kWVskOLCS9KAcmR-VHdjU29u0zGTJcMQTrTIDQ,5523
|
|
262
|
+
svc_infra/loaders/base.py,sha256=g5cRHWkW-muI6qwFk5tsKcGtGdJyxWc6eFF_zJ3WCaY,4381
|
|
263
|
+
svc_infra/loaders/github.py,sha256=1CJaJNJfhOQ1m7G5zQOuigbb5iTYxPVPu83gpH0hh64,11127
|
|
264
|
+
svc_infra/loaders/models.py,sha256=Yb5XVUS8Nv47P1KBkwuq3zED2W-jJ80mVDeSvGbralw,4913
|
|
265
|
+
svc_infra/loaders/url.py,sha256=fetG1XSlHKnyeI3vU3lud24WOjBmhrcHeAk89yHMlTk,8092
|
|
266
|
+
svc_infra/logging/__init__.py,sha256=227LzDeVPA-AnBIQ90p-Zg-a4RX-O9KCwmq-e20dLvk,11200
|
|
267
|
+
svc_infra/mcp/__init__.py,sha256=4ZtUjHZ_z9cMVnqBoScYKfjZJ8xF79Usapz6zEsJ1HQ,2293
|
|
268
|
+
svc_infra/mcp/svc_infra_mcp.py,sha256=SHVFswMFAMaSTMWjzrPDQkvnb-yvWCjrhnF_-JoAv70,3586
|
|
269
|
+
svc_infra/obs/README.md,sha256=pmd6AyFZW3GCCi0sr3uTHrPj5KgAI8rrXw8QPkrf1R8,8021
|
|
270
|
+
svc_infra/obs/__init__.py,sha256=t5DgkiuuhHnfAHChzYqCI1-Fpr68iQ0A1nHOLFIlAuM,75
|
|
271
|
+
svc_infra/obs/add.py,sha256=7EDobhTeDoS9ppqBfvG3Jc5vnezA_F9qZFzOHhuXknc,4178
|
|
272
|
+
svc_infra/obs/cloud_dash.py,sha256=19f_tb9yc-kUSgjF5PZh0lySJ3DnqZlXV56V7f17YbY,4382
|
|
273
|
+
svc_infra/obs/grafana/dashboards/http-overview.json,sha256=WVwkMazdfRAAUdLwGItfzePL9sXuDdhlLVbOLtk1Vic,1042
|
|
274
|
+
svc_infra/obs/metrics/__init__.py,sha256=nhZHEO8Q4Zsz3HyG-Uk9FVHnfqTza-rQNMKGVIH4ciE,1413
|
|
275
|
+
svc_infra/obs/metrics/asgi.py,sha256=pdjZ0lzZ06i9pt51CakIOX5_lqVlZd1uuPEf3V0MjeE,8897
|
|
276
|
+
svc_infra/obs/metrics/base.py,sha256=KtdIoCT3Z197b-2lKjd6j88Pthl9N_gQ7ME7A78k-Ss,2558
|
|
277
|
+
svc_infra/obs/metrics/http.py,sha256=p--tII1c41z3oIwvUAAdKR3lSqIjoi_NuepMHqxuFOE,3010
|
|
278
|
+
svc_infra/obs/metrics/sqlalchemy.py,sha256=P4Td_rQCQPYpCFcgVJgUhDEIBblfjNGVrXrKMEv1HFE,2537
|
|
279
|
+
svc_infra/obs/metrics.py,sha256=s-2vqdUrpE7vPhiDHcPpcvf0cGIlNY-aGxIapo_JOCA,1468
|
|
280
|
+
svc_infra/obs/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
281
|
+
svc_infra/obs/providers/compose_cloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
282
|
+
svc_infra/obs/providers/compose_cloud/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
283
|
+
svc_infra/obs/providers/compose_cloud/templates/agent.yaml.tmpl,sha256=hYv35yG92XEP_4joMFmMcVTD-4fG_zHitmChjreUJh4,516
|
|
284
|
+
svc_infra/obs/providers/compose_cloud/templates/docker-compose.cloud.yml.tmpl,sha256=zEXb_4hvoU7P24QzgrC6OopVlabxM6fqSES-X-6IoEg,910
|
|
285
|
+
svc_infra/obs/providers/grafana/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
286
|
+
svc_infra/obs/providers/grafana/dashboards/00_overview.json,sha256=nQneJP-dV_BTfkrLm8411dKSQnzkfIJ7GWackyYMjA4,5653
|
|
287
|
+
svc_infra/obs/providers/grafana/dashboards/10_http.json,sha256=r801Y9_DUreN8ZRTqxghVBcq4ogj1-F3zI0q7T06__g,2675
|
|
288
|
+
svc_infra/obs/providers/grafana/dashboards/20_db.json,sha256=BJcC5o26HF4aKpp7R4WxSWXEpVkKTT8MgFYnoFmfUIY,1439
|
|
289
|
+
svc_infra/obs/providers/grafana/dashboards/30_runtime.json,sha256=y2j2XGuiIviL3UqcUBJfpxJ9nLni2Uk7phILoSlv5Eg,1509
|
|
290
|
+
svc_infra/obs/providers/grafana/dashboards/40_clients.json,sha256=cjCxJfoKC7LguXeJ1UGbqzLym10prnA2gCovHfRTUjU,755
|
|
291
|
+
svc_infra/obs/providers/grafana/dashboards/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
292
|
+
svc_infra/obs/providers/grafana/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
293
|
+
svc_infra/obs/providers/grafana/templates/docker-compose.yml.tmpl,sha256=9s9Q6BXqxSIOzoZG_yVMipne0bmAUM3IwfRfhnbf-C4,907
|
|
294
|
+
svc_infra/obs/providers/grafana/templates/prometheus.yml.tmpl,sha256=0ZFWPz4zPbFJxYONVB9fGf0ikvWA7YKOJ1nT4ANwg20,388
|
|
295
|
+
svc_infra/obs/providers/grafana/templates/provisioning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
296
|
+
svc_infra/obs/providers/grafana/templates/provisioning/dashboards.yml,sha256=S3uvSPMPB2W2XDcfux-AXV4M_OFqsZZE0Y3BCkTHDOg,230
|
|
297
|
+
svc_infra/obs/providers/grafana/templates/provisioning/datasource.yml,sha256=-p45t2EiFGY4tiaczRX7zvdYZ8oBiE4uxu_4tZ11G1g,173
|
|
298
|
+
svc_infra/obs/settings.py,sha256=Tjr77hOyrIhI8I3A38T6JsGAV_0MpsMdc0E3PbeKuWc,844
|
|
299
|
+
svc_infra/obs/templates/grafana_dashboard.json,sha256=T3gOpf8oy5p8ogkdFYa3HE3J-ylcsys1jsb7F-qZ1Sk,1460
|
|
300
|
+
svc_infra/obs/templates/prometheus_rules.yml,sha256=VcFQ0Pcuxcjb1i50bsi-aWYQBg4xr9M2Ed0_Ciaw1M0,1014
|
|
301
|
+
svc_infra/obs/templates/sidecars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
302
|
+
svc_infra/obs/templates/sidecars/compose/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
303
|
+
svc_infra/obs/templates/sidecars/compose/agent.yaml,sha256=hYv35yG92XEP_4joMFmMcVTD-4fG_zHitmChjreUJh4,516
|
|
304
|
+
svc_infra/obs/templates/sidecars/compose/docker-compose.yml,sha256=zEXb_4hvoU7P24QzgrC6OopVlabxM6fqSES-X-6IoEg,910
|
|
305
|
+
svc_infra/obs/templates/sidecars/fly/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
306
|
+
svc_infra/obs/templates/sidecars/fly/agent.yaml,sha256=hYv35yG92XEP_4joMFmMcVTD-4fG_zHitmChjreUJh4,516
|
|
307
|
+
svc_infra/obs/templates/sidecars/fly/fly.toml.fragment,sha256=KHaU9xIxj9w-nzLy4BVWmXg8ExbWjAO6o4X-k2QxPgc,498
|
|
308
|
+
svc_infra/obs/templates/sidecars/k8s/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
309
|
+
svc_infra/obs/templates/sidecars/k8s/configmap.yaml,sha256=Eew_EdckhcpmHYFDX-6o57gmg0E9PrPfD-q8ypr6Kgc,644
|
|
310
|
+
svc_infra/obs/templates/sidecars/k8s/deployment.yaml,sha256=uK47jXluJyoYnfXX13fUf1QyFfSUASiAo8dp7Ad6jiQ,1344
|
|
311
|
+
svc_infra/obs/templates/sidecars/railway/Dockerfile,sha256=Y4iLDmBmm2bkIqPlC0vYwJr8Q1r9_ehR16PWzYpSnAI,151
|
|
312
|
+
svc_infra/obs/templates/sidecars/railway/README.md,sha256=3tFBJPKvmxjg3FjtfGYLwBEuyMrHbAluBc7XkXb7XVM,292
|
|
313
|
+
svc_infra/obs/templates/sidecars/railway/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
314
|
+
svc_infra/obs/templates/sidecars/railway/agent.yaml,sha256=hYv35yG92XEP_4joMFmMcVTD-4fG_zHitmChjreUJh4,516
|
|
315
|
+
svc_infra/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
316
|
+
svc_infra/resilience/__init__.py,sha256=NnimXvsURgSfK1bu7TYS3V9pyZi6riCmMaLPcvj-5YQ,1033
|
|
317
|
+
svc_infra/resilience/circuit_breaker.py,sha256=ZFsrKU0e8A5-SmY7IIIEOnxu2PZBu1A3BZduXpmJKLE,10540
|
|
318
|
+
svc_infra/resilience/retry.py,sha256=z4NlFStYNhkIVotxCDAWqKnuFHRFsoeOun3x3cl2js4,9454
|
|
319
|
+
svc_infra/security/__init__.py,sha256=DrtUsCAbnKwLrLC6Uk_aZGSjs2Rmzh6aLMzbDGyaAq8,4294
|
|
320
|
+
svc_infra/security/add.py,sha256=bBkkz0ZDG3733UE50k9GhEm8sM2WhT0AsD301aa63SA,6651
|
|
321
|
+
svc_infra/security/audit.py,sha256=7lwLvxqoCMG-D4v5ASsLn24Ht7t1ntrI_LPHJBNglAI,6209
|
|
322
|
+
svc_infra/security/audit_service.py,sha256=5QnRN8M3MqFcKW8lkwCFEnV1iSfpJiYwJchi340QqHk,2313
|
|
323
|
+
svc_infra/security/headers.py,sha256=CcdNC1j14oj6LS8-TMW2K-l7LIfXYlL12mw8R32b2R0,2074
|
|
324
|
+
svc_infra/security/hibp.py,sha256=HvSTIwBFpA2HWl1AJwQOVPXd1AS6BjEpDR4GYRAkkkY,2991
|
|
325
|
+
svc_infra/security/jwt_rotation.py,sha256=xOlMHPVBx5tcAYkQgcxOh4hF0Y-OH9xmGVFoPf_KV7k,3366
|
|
326
|
+
svc_infra/security/lockout.py,sha256=7oRa90UXn_ZTFoCTria8fC1dpThhxrRrs7gP0NMQl2s,3068
|
|
327
|
+
svc_infra/security/models.py,sha256=YfpCRLZvKQQKivwhpFFFswgfTBzNUC7tOWHGu17mREc,9973
|
|
328
|
+
svc_infra/security/oauth_models.py,sha256=k-2A0hjhnb2YDKDA3h_srjVJqHgstpklyWSG6XNhZX0,2222
|
|
329
|
+
svc_infra/security/org_invites.py,sha256=9rBvPBIWRINOe-r1Sp3i4vkXLi4PbDuhoEcUoD-HvXA,3821
|
|
330
|
+
svc_infra/security/passwords.py,sha256=6Nj-5H2sP2IB1Ywwi9TVZWbiWRxXXn9e25gh3KuCWhw,2452
|
|
331
|
+
svc_infra/security/permissions.py,sha256=Nu1QLYisU5JkV89b1xMnD2RXumX8UElDUhBAMKiS_ag,5253
|
|
332
|
+
svc_infra/security/session.py,sha256=VVBI-iI-wDI2eoX55tlcm5NDsUQFBbx7uds0X7ZpewU,2805
|
|
333
|
+
svc_infra/security/signed_cookies.py,sha256=teMcrbbNOiGxYDc5OP3z5kFsvVHMu5IPzDjhfjdg4Gc,3141
|
|
334
|
+
svc_infra/storage/__init__.py,sha256=M_djbln1nv1YhOANHu_XZDi_fZ37hTnp2qMXiHYOlJo,2828
|
|
335
|
+
svc_infra/storage/add.py,sha256=Nk57Ha-6JmtKOxZmKssXNwWFecrm_OoTevGL8--fTpA,8228
|
|
336
|
+
svc_infra/storage/backends/__init__.py,sha256=zlbPU7TbDKg-VhWSZaRA-qTHfD17bx-ZQ445kDqlB-o,205
|
|
337
|
+
svc_infra/storage/backends/local.py,sha256=pPalgtLhByUIN_qmnOlnXglSYPPOwRWMdTpPLXVBPx0,10628
|
|
338
|
+
svc_infra/storage/backends/memory.py,sha256=XVDwOp0CYbmAhjRwKV4MWhgfYQ_gXvwKVdaS0WZFox0,6422
|
|
339
|
+
svc_infra/storage/backends/s3.py,sha256=wWb6siuawRp9GM2ta9qZ2EvGZycgpeRbkbht1EdqtOg,11266
|
|
340
|
+
svc_infra/storage/base.py,sha256=2vnFN7gMxdva1dKnVptvYNxjJDR66jvGh6k2oRHb3zM,6212
|
|
341
|
+
svc_infra/storage/easy.py,sha256=mvTM3ePGZEeekMpKbXgEXCF7gSDNQq6T8oAMIRw6owQ,6101
|
|
342
|
+
svc_infra/storage/settings.py,sha256=x6cbyehyXeLAdCcihylfuMgIE2UbvZWX-c5HxpFzB40,6635
|
|
343
|
+
svc_infra/testing/__init__.py,sha256=SnybcpH9si4bzEP1fakZyjd84ZX8WdguFhRoXGLu2ZM,18687
|
|
344
|
+
svc_infra/utils.py,sha256=7-w4KjnWZFbhcfE5nFMOZvhScXV4TINNL8SA4-7xA7s,6348
|
|
345
|
+
svc_infra/webhooks/__init__.py,sha256=KkLHv-6-VpsgqezgeGuLbEPVyfv6v-9Rv5STJQGn2aM,1994
|
|
346
|
+
svc_infra/webhooks/add.py,sha256=3dZtxynW0cbV9aAOvrzfoY5sg2Qv2xs-B4Up7mf7vOA,12571
|
|
347
|
+
svc_infra/webhooks/encryption.py,sha256=0inleePZUQDCzenxGijllr-Uc8Lqalw3bmGvMZuOl_8,3602
|
|
348
|
+
svc_infra/webhooks/fastapi.py,sha256=0kj3USfClULj9tRbQ3JZk3lEsoKblmmYKMOV94t_-NQ,1110
|
|
349
|
+
svc_infra/webhooks/router.py,sha256=5ITASYK2v93AQy6Wh3ugXFwkgLLUztzX3cEAF1MhkoE,1590
|
|
350
|
+
svc_infra/webhooks/service.py,sha256=FWO-N995xR0Lq08OgejVN7PQtP_hVId6dcsFWpiaUxY,2373
|
|
351
|
+
svc_infra/webhooks/signing.py,sha256=p2mgIeWuZk02hPO2UmeSM28p60-7o2x8K5VXehbloGo,916
|
|
352
|
+
svc_infra/websocket/__init__.py,sha256=W7Q78rr2IfMWoJd4b2Nw2hSexISegtD6KIbZ8y41xds,2243
|
|
353
|
+
svc_infra/websocket/add.py,sha256=QET47Uf_f7PR1IULyOOhMGARWfw5l96KL2q9QPBFpjo,4195
|
|
354
|
+
svc_infra/websocket/client.py,sha256=spuAxnQ0nva8ypFbLkRXp6cXXDfa4bGRP92ojJpbk-4,9383
|
|
355
|
+
svc_infra/websocket/config.py,sha256=adCzRBIjdiQc9Nt90Kx6pf1-cjB3c_XPD7iSwTIxFv8,2484
|
|
356
|
+
svc_infra/websocket/easy.py,sha256=ACe594T4l_nwqagOZsotAkuK0ocZ5JJdwGRE8ALhWRU,2077
|
|
357
|
+
svc_infra/websocket/exceptions.py,sha256=cbJMXhL1dW-tibhuTtR_RGlI_8KLFsrUu-n2HXyNczU,1566
|
|
358
|
+
svc_infra/websocket/manager.py,sha256=NrfBkpLbaJOu-xC2S4IldHdVH3zc30Ib1B7kZEc6Qbs,10897
|
|
359
|
+
svc_infra/websocket/models.py,sha256=SVY6owOiy2hDpUsu5mk9f7qSy371gHbmZkWcJI56qUs,1512
|
|
360
|
+
svc_infra-1.1.0.dist-info/LICENSE,sha256=_tWnB6zcItk5i81sT6mv6mErTI-29rXngzXYgS-efco,1062
|
|
361
|
+
svc_infra-1.1.0.dist-info/METADATA,sha256=Gi_aHyBXy6WL46XPrEd7XPOe_pqjWMjIePfxPc1XcqA,12750
|
|
362
|
+
svc_infra-1.1.0.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
|
363
|
+
svc_infra-1.1.0.dist-info/entry_points.txt,sha256=6x_nZOsjvn6hRZsMgZLgTasaCSKCgAjsGhACe_CiP0U,48
|
|
364
|
+
svc_infra-1.1.0.dist-info/RECORD,,
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: svc-infra
|
|
3
|
-
Version: 0.1.595
|
|
4
|
-
Summary: Infrastructure for building and deploying prod-ready services
|
|
5
|
-
License: MIT
|
|
6
|
-
Keywords: fastapi,sqlalchemy,alembic,auth,infra,async,pydantic
|
|
7
|
-
Author: Ali Khatami
|
|
8
|
-
Author-email: aliikhatami94@gmail.com
|
|
9
|
-
Requires-Python: >=3.11,<4.0
|
|
10
|
-
Classifier: Development Status :: 4 - Beta
|
|
11
|
-
Classifier: Framework :: FastAPI
|
|
12
|
-
Classifier: Intended Audience :: Developers
|
|
13
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
19
|
-
Classifier: Typing :: Typed
|
|
20
|
-
Provides-Extra: duckdb
|
|
21
|
-
Provides-Extra: metrics
|
|
22
|
-
Provides-Extra: mssql
|
|
23
|
-
Provides-Extra: mysql
|
|
24
|
-
Provides-Extra: pg
|
|
25
|
-
Provides-Extra: pg2
|
|
26
|
-
Provides-Extra: redshift
|
|
27
|
-
Provides-Extra: snowflake
|
|
28
|
-
Provides-Extra: sqlite
|
|
29
|
-
Requires-Dist: adyen (>=13.4.0,<14.0.0)
|
|
30
|
-
Requires-Dist: ai-infra (>=0.1.63,<0.2.0)
|
|
31
|
-
Requires-Dist: aiosqlite (>=0.20.0,<0.21.0) ; extra == "sqlite"
|
|
32
|
-
Requires-Dist: alembic (>=1.13.2,<2.0.0)
|
|
33
|
-
Requires-Dist: asyncpg (>=0.30.0,<0.31.0) ; extra == "pg"
|
|
34
|
-
Requires-Dist: authlib (>=1.6.2,<2.0.0)
|
|
35
|
-
Requires-Dist: cashews[redis] (>=7.4.1,<8.0.0)
|
|
36
|
-
Requires-Dist: duckdb (>=1.1.3,<2.0.0) ; extra == "duckdb"
|
|
37
|
-
Requires-Dist: email-validator (>=2.2.0,<3.0.0)
|
|
38
|
-
Requires-Dist: fastapi (>=0.116.1,<0.117.0)
|
|
39
|
-
Requires-Dist: fastapi-users-db-sqlalchemy (>=7.0.0,<8.0.0)
|
|
40
|
-
Requires-Dist: fastapi-users[oauth] (>=14.0.1,<15.0.0)
|
|
41
|
-
Requires-Dist: greenlet (>=3,<4)
|
|
42
|
-
Requires-Dist: httpx (>=0.28.1,<0.29.0)
|
|
43
|
-
Requires-Dist: httpx-oauth (>=0.16.1,<0.17.0)
|
|
44
|
-
Requires-Dist: itsdangerous (>=2.2.0,<3.0.0)
|
|
45
|
-
Requires-Dist: mcp (>=1.13.0,<2.0.0)
|
|
46
|
-
Requires-Dist: motor (>=3.7.1,<4.0.0)
|
|
47
|
-
Requires-Dist: mysqlclient (>=2.2.4,<3.0.0) ; extra == "mysql"
|
|
48
|
-
Requires-Dist: opentelemetry-exporter-otlp (>=1.36.0,<2.0.0)
|
|
49
|
-
Requires-Dist: opentelemetry-instrumentation-fastapi (>=0.57b0,<0.58)
|
|
50
|
-
Requires-Dist: opentelemetry-instrumentation-httpx (>=0.57b0,<0.58)
|
|
51
|
-
Requires-Dist: opentelemetry-instrumentation-requests (>=0.57b0,<0.58)
|
|
52
|
-
Requires-Dist: opentelemetry-instrumentation-sqlalchemy (>=0.57b0,<0.58)
|
|
53
|
-
Requires-Dist: opentelemetry-propagator-b3 (>=1.36.0,<2.0.0)
|
|
54
|
-
Requires-Dist: opentelemetry-sdk (>=1.36.0,<2.0.0)
|
|
55
|
-
Requires-Dist: passlib[bcrypt] (>=1.7.4,<2.0.0)
|
|
56
|
-
Requires-Dist: pre-commit (>=4.3.0,<5.0.0)
|
|
57
|
-
Requires-Dist: prometheus-client (>=0.22.1,<0.23.0) ; extra == "metrics"
|
|
58
|
-
Requires-Dist: psycopg2-binary (>=2.9.10,<3.0.0) ; extra == "pg2"
|
|
59
|
-
Requires-Dist: psycopg[binary] (>=3.2.10,<4.0.0) ; extra == "pg"
|
|
60
|
-
Requires-Dist: pydantic-settings (>=2.10.1,<3.0.0)
|
|
61
|
-
Requires-Dist: pymysql (>=1.1.1,<2.0.0) ; extra == "mysql"
|
|
62
|
-
Requires-Dist: pyodbc (>=5.1.0,<6.0.0) ; extra == "mssql"
|
|
63
|
-
Requires-Dist: pyotp (>=2.9.0,<3.0.0)
|
|
64
|
-
Requires-Dist: python-dotenv (>=1.1.1,<2.0.0)
|
|
65
|
-
Requires-Dist: redis (>=6.4.0,<7.0.0)
|
|
66
|
-
Requires-Dist: redshift-connector (>=2.0.918,<3.0.0) ; extra == "redshift"
|
|
67
|
-
Requires-Dist: snowflake-connector-python (>=3.12.0,<4.0.0) ; extra == "snowflake"
|
|
68
|
-
Requires-Dist: sqlalchemy[asyncio] (>=2.0.43,<3.0.0)
|
|
69
|
-
Requires-Dist: stripe (>=13.0.1,<14.0.0)
|
|
70
|
-
Requires-Dist: typer (>=0.16.1,<0.17.0)
|
|
71
|
-
Project-URL: Documentation, https://github.com/your-org/svc-infra#readme
|
|
72
|
-
Project-URL: Homepage, https://github.com/your-org/svc-infra
|
|
73
|
-
Project-URL: Issues, https://github.com/your-org/svc-infra/issues
|
|
74
|
-
Project-URL: Repository, https://github.com/your-org/svc-infra
|
|
75
|
-
Description-Content-Type: text/markdown
|
|
76
|
-
|
|
77
|
-
# svc-infra
|
|
78
|
-
|
|
79
|
-
Will add description later.
|
|
80
|
-
|