Umbrella package: fastx_platform.configuration, fast_admin, fast_notifications, fast_resilience, fast_versioning, fast_features, fast_channels, fast_db, observability, analytics, queues, … — merged fast_* modules under one install.
Project description
fast-platform
Single installable distribution (pip install fast-platform) that bundles many former standalone fast_* modules unchanged at import time (flat top-level imports such as from notifications import …, from db import …).
Logical organization is defined by the package taxonomy in src/fast_platform/taxonomy.py. Imports stay flat under src/; the taxonomy is used for docs, tests layout, and navigation.
Package taxonomy
Each top-level name under src/ belongs to exactly one section (PackageSection). The canonical mapping is PACKAGE_TO_SECTION in fast_platform.taxonomy.
| Section | Meaning |
|---|---|
| core | Config, DTOs, errors, helpers, orchestration services |
| security | Crypto, API keys, identity, secret backends |
| persistence | SQLAlchemy + multi-backend datastores |
| data_platform | Search, vectors, object storage, cache |
| messaging | Queues, Kafka, jobs, events, notifications, webhooks |
| realtime | Channels, streams, WebRTC |
| integrations | LLM, payments, media, analytics, admin |
| operations | Observability, OpenTelemetry, flags, tenancy, resilience, API versioning |
Packages by section
| Section | Packages |
|---|---|
| core | configuration, dtos, errors, utils, service, fast_platform |
| security | security, secrets, identity |
| persistence | db, datastores |
| data_platform | search, vectors, storage, cache |
| messaging | kafka, queues, events, jobs, notifications, webhooks |
| realtime | channels, streams, webrtc |
| integrations | llm, payments, media, analytics, admin |
| operations | observability, otel, resilience, tenancy, versioning, features |
Use in code:
from fast_platform.taxonomy import section_of, PackageSection
section_of("notifications") # PackageSection.MESSAGING
Layout: src/ vs tests/
src/— flat top-level packages (configuration/,notifications/, …) so existing imports remain stable.tests/— mirrors the taxonomy:tests/<section_folder>/<package>/. Section folder names come fromSECTION_TEST_FOLDERintaxonomy.py(e.g.core,persistence,data_platform). The security section usessec(notsecurity) so thesecuritypackage can live attests/sec/security/without a path collision.
Example: tests for utils live under tests/core/utils/; tests for notifications under tests/messaging/notifications/.
Highlights (by import name)
| Import | Role |
|---|---|
configuration |
JSON config loaders + Pydantic DTOs per subsystem |
dtos |
Shared Pydantic DTOs (IDTO base) |
errors |
Structured HTTP-oriented exceptions (BadInputError, NotFoundError, …) |
notifications |
Email/SMS/push templates, fan-out, idempotency, preferences (pip install fast-platform[jinja2] for templating extras) |
resilience |
Circuit breakers, retries, bulkheads |
versioning |
API versioning (VersionedAPIRouter, VersioningMiddleware, path/header/query strategies) |
features |
In-app feature flags, rollout, targeting |
channels |
Real-time hub, Redis/Kafka backends, presence, ACLs, metrics |
db |
SQLAlchemy engine, sessions, DBDependency |
datastores |
IDataStore adapters (Redis, Mongo, ES, …) |
observability |
Logging, metrics, tracing, audit, OTLP |
admin |
Admin API router (users, roles, audit log), generic SQLAlchemy CRUD routers |
queues |
Queues (DLQ, envelope, backends) |
jobs |
Background jobs |
storage |
Object storage (S3, GCS, Azure) |
secrets |
Secret backends + cache (Vault, AWS, GCP; not the stdlib secrets module) |
vectors |
Vector stores |
tenancy |
Multi-tenant context |
webhooks |
Webhook signing / delivery |
webrtc |
WebRTC signaling |
llm |
LLM providers, tools, streaming |
kafka |
Kafka producer/consumer, outbox |
identity |
OAuth/OIDC, JWKS, API keys |
media |
Uploads, variants, presigned URLs |
payments |
Payment gateways, webhooks, SCA |
search |
Meilisearch, Typesense, OpenSearch |
security |
API keys, inbound webhooks, field encryption |
Install: pip install fast-platform
Optional backends: e.g. pip install fast-platform[async,otel,rabbitmq,s3,openai,meilisearch,pillow].
pyfastmvc depends on this wheel for these modules instead of many separate distributions.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastx_platform-1.8.0.tar.gz.
File metadata
- Download URL: fastx_platform-1.8.0.tar.gz
- Upload date:
- Size: 340.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
998431aee7a03ffd268a98dc8a16e184a8d65e9562d1b2448fab294263fb6ee0
|
|
| MD5 |
d59beed268b6659075c4bdc01a490ddb
|
|
| BLAKE2b-256 |
41dd3a881777469ac7b54073ccd2c7fa95b58cdf99989327c85a96581ccac869
|
File details
Details for the file fastx_platform-1.8.0-py3-none-any.whl.
File metadata
- Download URL: fastx_platform-1.8.0-py3-none-any.whl
- Upload date:
- Size: 531.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa41ffa9641226931885dcba407c1efaa4b694294aeca0b8366907db1bc3360b
|
|
| MD5 |
5fc05404cec49dcc025af297c970f525
|
|
| BLAKE2b-256 |
b4d40b0550ba904de0933f18978835404a8609229925f133c2e092e913f1da17
|