Skip to main content

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 from SECTION_TEST_FOLDER in taxonomy.py (e.g. core, persistence, data_platform). The security section uses sec (not security) so the security package can live at tests/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

fastx_platform-1.9.0.tar.gz (417.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastx_platform-1.9.0-py3-none-any.whl (631.1 kB view details)

Uploaded Python 3

File details

Details for the file fastx_platform-1.9.0.tar.gz.

File metadata

  • Download URL: fastx_platform-1.9.0.tar.gz
  • Upload date:
  • Size: 417.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for fastx_platform-1.9.0.tar.gz
Algorithm Hash digest
SHA256 72ca542a7cec977a2bf3facf365f4bf27f194409c59cfc2e9fddb3f513e575b7
MD5 fb7446d9def4b3cc5830d0ce3b3b5d43
BLAKE2b-256 897e8ba35475cb9d77d8ecc51ffafbbc5c6f3a224983ade53aa203241d48516f

See more details on using hashes here.

File details

Details for the file fastx_platform-1.9.0-py3-none-any.whl.

File metadata

  • Download URL: fastx_platform-1.9.0-py3-none-any.whl
  • Upload date:
  • Size: 631.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for fastx_platform-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 524b07cdf185aa68df8e505e3a13b6af6ef98bd152cc7ed944307bffc629496e
MD5 4d46b3ffef8e9580768d8fcd242c954e
BLAKE2b-256 e27ccccf8d5c363455f1a60f56572122c6f5b9f03d5d0bc6a5c9f5dd63bca89e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page