svc-infra 0.1.562__py3-none-any.whl → 0.1.654__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.
- svc_infra/apf_payments/README.md +732 -0
- svc_infra/apf_payments/models.py +142 -4
- svc_infra/apf_payments/provider/__init__.py +4 -0
- svc_infra/apf_payments/provider/aiydan.py +797 -0
- svc_infra/apf_payments/provider/base.py +178 -12
- svc_infra/apf_payments/provider/stripe.py +757 -48
- svc_infra/apf_payments/schemas.py +163 -1
- svc_infra/apf_payments/service.py +582 -42
- svc_infra/apf_payments/settings.py +22 -2
- svc_infra/api/fastapi/admin/__init__.py +3 -0
- svc_infra/api/fastapi/admin/add.py +231 -0
- svc_infra/api/fastapi/apf_payments/router.py +792 -73
- svc_infra/api/fastapi/apf_payments/setup.py +13 -4
- svc_infra/api/fastapi/auth/add.py +10 -4
- svc_infra/api/fastapi/auth/gaurd.py +67 -5
- svc_infra/api/fastapi/auth/routers/oauth_router.py +74 -34
- svc_infra/api/fastapi/auth/routers/session_router.py +63 -0
- svc_infra/api/fastapi/auth/settings.py +2 -0
- svc_infra/api/fastapi/billing/router.py +64 -0
- svc_infra/api/fastapi/billing/setup.py +19 -0
- svc_infra/api/fastapi/cache/add.py +9 -5
- svc_infra/api/fastapi/db/nosql/mongo/add.py +33 -27
- svc_infra/api/fastapi/db/sql/add.py +40 -18
- svc_infra/api/fastapi/db/sql/crud_router.py +176 -14
- svc_infra/api/fastapi/db/sql/session.py +16 -0
- svc_infra/api/fastapi/db/sql/users.py +13 -1
- svc_infra/api/fastapi/dependencies/ratelimit.py +116 -0
- svc_infra/api/fastapi/docs/add.py +160 -0
- svc_infra/api/fastapi/docs/landing.py +1 -1
- svc_infra/api/fastapi/docs/scoped.py +41 -6
- svc_infra/api/fastapi/middleware/errors/handlers.py +45 -7
- svc_infra/api/fastapi/middleware/graceful_shutdown.py +87 -0
- svc_infra/api/fastapi/middleware/idempotency.py +82 -42
- svc_infra/api/fastapi/middleware/idempotency_store.py +187 -0
- svc_infra/api/fastapi/middleware/optimistic_lock.py +37 -0
- svc_infra/api/fastapi/middleware/ratelimit.py +84 -11
- svc_infra/api/fastapi/middleware/ratelimit_store.py +84 -0
- svc_infra/api/fastapi/middleware/request_size_limit.py +36 -0
- svc_infra/api/fastapi/middleware/timeout.py +148 -0
- svc_infra/api/fastapi/openapi/mutators.py +244 -38
- svc_infra/api/fastapi/ops/add.py +73 -0
- svc_infra/api/fastapi/pagination.py +133 -32
- svc_infra/api/fastapi/routers/ping.py +1 -0
- svc_infra/api/fastapi/setup.py +23 -14
- svc_infra/api/fastapi/tenancy/add.py +19 -0
- svc_infra/api/fastapi/tenancy/context.py +112 -0
- svc_infra/api/fastapi/versioned.py +101 -0
- svc_infra/app/README.md +5 -5
- svc_infra/billing/__init__.py +23 -0
- svc_infra/billing/async_service.py +147 -0
- svc_infra/billing/jobs.py +230 -0
- svc_infra/billing/models.py +131 -0
- svc_infra/billing/quotas.py +101 -0
- svc_infra/billing/schemas.py +33 -0
- svc_infra/billing/service.py +115 -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 +4 -0
- svc_infra/cache/add.py +158 -0
- svc_infra/cache/backend.py +5 -2
- svc_infra/cache/decorators.py +19 -1
- svc_infra/cache/keys.py +24 -4
- svc_infra/cli/__init__.py +32 -8
- svc_infra/cli/__main__.py +4 -0
- svc_infra/cli/cmds/__init__.py +10 -0
- svc_infra/cli/cmds/db/nosql/mongo/mongo_cmds.py +4 -3
- svc_infra/cli/cmds/db/nosql/mongo/mongo_scaffold_cmds.py +4 -4
- svc_infra/cli/cmds/db/sql/alembic_cmds.py +80 -11
- svc_infra/cli/cmds/db/sql/sql_export_cmds.py +80 -0
- svc_infra/cli/cmds/db/sql/sql_scaffold_cmds.py +3 -3
- svc_infra/cli/cmds/docs/docs_cmds.py +140 -0
- svc_infra/cli/cmds/dx/__init__.py +12 -0
- svc_infra/cli/cmds/dx/dx_cmds.py +99 -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 +43 -0
- svc_infra/cli/cmds/obs/obs_cmds.py +4 -3
- svc_infra/cli/cmds/sdk/__init__.py +0 -0
- svc_infra/cli/cmds/sdk/sdk_cmds.py +102 -0
- svc_infra/data/add.py +61 -0
- svc_infra/data/backup.py +53 -0
- svc_infra/data/erasure.py +45 -0
- svc_infra/data/fixtures.py +40 -0
- svc_infra/data/retention.py +55 -0
- svc_infra/db/inbox.py +67 -0
- svc_infra/db/nosql/mongo/README.md +13 -13
- svc_infra/db/outbox.py +104 -0
- svc_infra/db/sql/repository.py +52 -12
- svc_infra/db/sql/resource.py +5 -0
- svc_infra/db/sql/templates/models_schemas/auth/schemas.py.tmpl +1 -1
- svc_infra/db/sql/templates/setup/env_async.py.tmpl +13 -8
- svc_infra/db/sql/templates/setup/env_sync.py.tmpl +9 -5
- svc_infra/db/sql/tenant.py +79 -0
- svc_infra/db/sql/utils.py +18 -4
- svc_infra/db/sql/versioning.py +14 -0
- svc_infra/docs/acceptance-matrix.md +71 -0
- svc_infra/docs/acceptance.md +44 -0
- svc_infra/docs/admin.md +425 -0
- svc_infra/docs/adr/0002-background-jobs-and-scheduling.md +40 -0
- svc_infra/docs/adr/0003-webhooks-framework.md +24 -0
- svc_infra/docs/adr/0004-tenancy-model.md +42 -0
- svc_infra/docs/adr/0005-data-lifecycle.md +86 -0
- svc_infra/docs/adr/0006-ops-slos-and-metrics.md +47 -0
- svc_infra/docs/adr/0007-docs-and-sdks.md +83 -0
- svc_infra/docs/adr/0008-billing-primitives.md +143 -0
- svc_infra/docs/adr/0009-acceptance-harness.md +40 -0
- svc_infra/docs/adr/0010-timeouts-and-resource-limits.md +54 -0
- svc_infra/docs/adr/0011-admin-scope-and-impersonation.md +73 -0
- svc_infra/docs/api.md +59 -0
- svc_infra/docs/auth.md +11 -0
- svc_infra/docs/billing.md +190 -0
- svc_infra/docs/cache.md +76 -0
- svc_infra/docs/cli.md +74 -0
- svc_infra/docs/contributing.md +34 -0
- svc_infra/docs/data-lifecycle.md +52 -0
- svc_infra/docs/database.md +14 -0
- svc_infra/docs/docs-and-sdks.md +62 -0
- svc_infra/docs/environment.md +114 -0
- svc_infra/docs/getting-started.md +63 -0
- svc_infra/docs/idempotency.md +111 -0
- svc_infra/docs/jobs.md +67 -0
- svc_infra/docs/observability.md +16 -0
- svc_infra/docs/ops.md +37 -0
- svc_infra/docs/rate-limiting.md +125 -0
- svc_infra/docs/repo-review.md +48 -0
- svc_infra/docs/security.md +176 -0
- svc_infra/docs/tenancy.md +35 -0
- svc_infra/docs/timeouts-and-resource-limits.md +147 -0
- svc_infra/docs/versioned-integrations.md +146 -0
- svc_infra/docs/webhooks.md +112 -0
- svc_infra/dx/add.py +63 -0
- svc_infra/dx/changelog.py +74 -0
- svc_infra/dx/checks.py +67 -0
- svc_infra/http/__init__.py +13 -0
- svc_infra/http/client.py +72 -0
- svc_infra/jobs/builtins/outbox_processor.py +38 -0
- svc_infra/jobs/builtins/webhook_delivery.py +90 -0
- svc_infra/jobs/easy.py +32 -0
- svc_infra/jobs/loader.py +45 -0
- svc_infra/jobs/queue.py +81 -0
- svc_infra/jobs/redis_queue.py +191 -0
- svc_infra/jobs/runner.py +75 -0
- svc_infra/jobs/scheduler.py +41 -0
- svc_infra/jobs/worker.py +40 -0
- svc_infra/mcp/svc_infra_mcp.py +85 -28
- svc_infra/obs/README.md +2 -0
- svc_infra/obs/add.py +54 -7
- svc_infra/obs/grafana/dashboards/http-overview.json +45 -0
- svc_infra/obs/metrics/__init__.py +53 -0
- svc_infra/obs/metrics.py +52 -0
- svc_infra/security/add.py +201 -0
- svc_infra/security/audit.py +130 -0
- svc_infra/security/audit_service.py +73 -0
- svc_infra/security/headers.py +52 -0
- svc_infra/security/hibp.py +95 -0
- svc_infra/security/jwt_rotation.py +53 -0
- svc_infra/security/lockout.py +96 -0
- svc_infra/security/models.py +255 -0
- svc_infra/security/org_invites.py +128 -0
- svc_infra/security/passwords.py +77 -0
- svc_infra/security/permissions.py +149 -0
- svc_infra/security/session.py +98 -0
- svc_infra/security/signed_cookies.py +80 -0
- svc_infra/webhooks/__init__.py +16 -0
- svc_infra/webhooks/add.py +322 -0
- svc_infra/webhooks/fastapi.py +37 -0
- svc_infra/webhooks/router.py +55 -0
- svc_infra/webhooks/service.py +67 -0
- svc_infra/webhooks/signing.py +30 -0
- svc_infra-0.1.654.dist-info/METADATA +154 -0
- {svc_infra-0.1.562.dist-info → svc_infra-0.1.654.dist-info}/RECORD +174 -56
- svc_infra-0.1.562.dist-info/METADATA +0 -79
- {svc_infra-0.1.562.dist-info → svc_infra-0.1.654.dist-info}/WHEEL +0 -0
- {svc_infra-0.1.562.dist-info → svc_infra-0.1.654.dist-info}/entry_points.txt +0 -0
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: svc-infra
|
|
3
|
-
Version: 0.1.562
|
|
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: ai-infra (>=0.1.63,<0.2.0)
|
|
30
|
-
Requires-Dist: aiosqlite (>=0.20.0,<0.21.0) ; extra == "sqlite"
|
|
31
|
-
Requires-Dist: alembic (>=1.13.2,<2.0.0)
|
|
32
|
-
Requires-Dist: asyncpg (>=0.30.0,<0.31.0) ; extra == "pg"
|
|
33
|
-
Requires-Dist: authlib (>=1.6.2,<2.0.0)
|
|
34
|
-
Requires-Dist: cashews[redis] (>=7.4.1,<8.0.0)
|
|
35
|
-
Requires-Dist: duckdb (>=1.1.3,<2.0.0) ; extra == "duckdb"
|
|
36
|
-
Requires-Dist: email-validator (>=2.2.0,<3.0.0)
|
|
37
|
-
Requires-Dist: fastapi (>=0.116.1,<0.117.0)
|
|
38
|
-
Requires-Dist: fastapi-users-db-sqlalchemy (>=7.0.0,<8.0.0)
|
|
39
|
-
Requires-Dist: fastapi-users[oauth] (>=14.0.1,<15.0.0)
|
|
40
|
-
Requires-Dist: greenlet (>=3,<4)
|
|
41
|
-
Requires-Dist: httpx (>=0.28.1,<0.29.0)
|
|
42
|
-
Requires-Dist: httpx-oauth (>=0.16.1,<0.17.0)
|
|
43
|
-
Requires-Dist: itsdangerous (>=2.2.0,<3.0.0)
|
|
44
|
-
Requires-Dist: mcp (>=1.13.0,<2.0.0)
|
|
45
|
-
Requires-Dist: motor (>=3.7.1,<4.0.0)
|
|
46
|
-
Requires-Dist: mysqlclient (>=2.2.4,<3.0.0) ; extra == "mysql"
|
|
47
|
-
Requires-Dist: opentelemetry-exporter-otlp (>=1.36.0,<2.0.0)
|
|
48
|
-
Requires-Dist: opentelemetry-instrumentation-fastapi (>=0.57b0,<0.58)
|
|
49
|
-
Requires-Dist: opentelemetry-instrumentation-httpx (>=0.57b0,<0.58)
|
|
50
|
-
Requires-Dist: opentelemetry-instrumentation-requests (>=0.57b0,<0.58)
|
|
51
|
-
Requires-Dist: opentelemetry-instrumentation-sqlalchemy (>=0.57b0,<0.58)
|
|
52
|
-
Requires-Dist: opentelemetry-propagator-b3 (>=1.36.0,<2.0.0)
|
|
53
|
-
Requires-Dist: opentelemetry-sdk (>=1.36.0,<2.0.0)
|
|
54
|
-
Requires-Dist: passlib[bcrypt] (>=1.7.4,<2.0.0)
|
|
55
|
-
Requires-Dist: pre-commit (>=4.3.0,<5.0.0)
|
|
56
|
-
Requires-Dist: prometheus-client (>=0.22.1,<0.23.0) ; extra == "metrics"
|
|
57
|
-
Requires-Dist: psycopg2-binary (>=2.9.10,<3.0.0) ; extra == "pg2"
|
|
58
|
-
Requires-Dist: psycopg[binary] (>=3.2.10,<4.0.0) ; extra == "pg"
|
|
59
|
-
Requires-Dist: pydantic-settings (>=2.10.1,<3.0.0)
|
|
60
|
-
Requires-Dist: pymysql (>=1.1.1,<2.0.0) ; extra == "mysql"
|
|
61
|
-
Requires-Dist: pyodbc (>=5.1.0,<6.0.0) ; extra == "mssql"
|
|
62
|
-
Requires-Dist: pyotp (>=2.9.0,<3.0.0)
|
|
63
|
-
Requires-Dist: python-dotenv (>=1.1.1,<2.0.0)
|
|
64
|
-
Requires-Dist: redis (>=6.4.0,<7.0.0)
|
|
65
|
-
Requires-Dist: redshift-connector (>=2.0.918,<3.0.0) ; extra == "redshift"
|
|
66
|
-
Requires-Dist: snowflake-connector-python (>=3.12.0,<4.0.0) ; extra == "snowflake"
|
|
67
|
-
Requires-Dist: sqlalchemy[asyncio] (>=2.0.43,<3.0.0)
|
|
68
|
-
Requires-Dist: stripe (>=13.0.1,<14.0.0)
|
|
69
|
-
Requires-Dist: typer (>=0.16.1,<0.17.0)
|
|
70
|
-
Project-URL: Documentation, https://github.com/your-org/svc-infra#readme
|
|
71
|
-
Project-URL: Homepage, https://github.com/your-org/svc-infra
|
|
72
|
-
Project-URL: Issues, https://github.com/your-org/svc-infra/issues
|
|
73
|
-
Project-URL: Repository, https://github.com/your-org/svc-infra
|
|
74
|
-
Description-Content-Type: text/markdown
|
|
75
|
-
|
|
76
|
-
# svc-infra
|
|
77
|
-
|
|
78
|
-
Will add description later.
|
|
79
|
-
|
|
File without changes
|
|
File without changes
|