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-2.0.0.tar.gz (497.1 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-2.0.0-py3-none-any.whl (743.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fastx_platform-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e163fe1ca41afc2e5df469462c9be8b5e5f01c3f82005a5dc1556b33ac27345b
MD5 e147b6564c16cdf51073d8dc6be0e820
BLAKE2b-256 e7ac0981958f572f52a2811211f70370e5e8992c0346b99846de1066d5c71bbe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastx_platform-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 743.8 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-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ebc0192e57ed061d89aad633c79e6aa13e805875f5bb1f978385b1b1dac553d2
MD5 463f8c529eea56d27ee922cac7e3240a
BLAKE2b-256 2d57807435ae03cf850a73666ab0a8bc09929012f157606627890685122bb19c

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