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.7.0.tar.gz (306.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.7.0-py3-none-any.whl (482.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastx_platform-1.7.0.tar.gz
  • Upload date:
  • Size: 306.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.7.0.tar.gz
Algorithm Hash digest
SHA256 ecb94d63add817b9bb01f8674a5c53647544918de6057559b1713a42439ae8ac
MD5 63836915529e03e49664ab830189f27f
BLAKE2b-256 f7e6c87fda4ca476bda4c908027dab92fe760074611569bfddf4c1cb1abd6847

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastx_platform-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 482.5 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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7fad48c49cc6ecb4792501a6d21de12a7893093f72b4b8a75c5d077f20e6c75
MD5 e55fd4cf780e387dea9dfa6ba7a2f2b2
BLAKE2b-256 b29882fee1a5f35c4bd20faea1c276d05734405c08b8363c5be5a3907311a557

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