Skip to main content

Shared backend infrastructure for Dreamverse Holdings FastAPI projects

Project description

dreamverse-core

Shared backend infrastructure for Dreamverse FastAPI services.

Install

The package is published to PyPI. Install it directly with the extras your service needs:

pip install dreamverse-core
pip install "dreamverse-core[supertokens,sentry,postgres]"

Tagged releases also attach the built wheel and source distribution to GitHub Releases for pinned or offline installs.

Quickstart

from fastapi import APIRouter
from dreamverse.app import MiddlewareConfig, create_app
from dreamverse.config import BaseAppSettings

settings = BaseAppSettings()
router = APIRouter()

@router.get("/hello")
async def hello() -> dict[str, str]:
    return {"message": "hello"}

app = create_app(
    title="Example API",
    version="1.0.0",
    settings=settings,
    routers=[router],
    middleware_config=MiddlewareConfig(),
)

What it provides

  • Config-driven settings with strict validation
  • Unified API envelope and exception hierarchy
  • Observability protocol/factory/manager stack
  • Security, rate-limit, correlation, and logging middleware
  • Provider-agnostic auth interfaces and dependencies
  • Database engine + session dependency helpers
  • Event envelope + idempotency utilities
  • Provider-neutral LLM interface for shared adapter contracts
  • Reusable LLM adapter conformance suite with recorded fixture replay
  • Shared LLM provider/model registry with packaged provider catalogs
  • OpenAI Chat Completions compatible LLM adapter
  • Audit-log sinks, explicit recording, replay, and FastAPI middleware
  • Feature-flag provider contracts, targeting context, and config-driven factories
  • Event bus with subscribe decorators, retries, and transport overrides
  • Idempotency-key stores, FastAPI middleware, and dependency helpers
  • Notification provider contracts, templated sends, and delivery audit records
  • Email-template registry with project override hooks
  • Server-side analytics capture with PostHog and custom provider support
  • Payment provider contracts for Stripe, PayFast, in-memory tests, and project overrides
  • Background-job queues with retry, DLQ, audit, and event hooks
  • Search provider contracts for in-memory, Meilisearch, Typesense, and project overrides
  • Media upload, storage, processing, and serve-policy helpers for S3/R2-style storage
  • App factory and testing helpers

Verification

python -m build
pytest tests/ -q

Release

dreamverse-core uses a two-workflow release flow:

  1. Run .github/workflows/release.yml from master with:
    • tag: vX.Y.Z
    • changelog: one bullet per line or a markdown bullet list
  2. The workflow updates pyproject.toml and CHANGELOG.md, verifies the package, commits the release, and pushes the tag.
  3. The tag triggers .github/workflows/publish.yml, which publishes to PyPI and updates the GitHub release with the built artifacts.

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

dreamverse_core-1.2.0a1.tar.gz (303.3 kB view details)

Uploaded Source

Built Distribution

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

dreamverse_core-1.2.0a1-py3-none-any.whl (234.0 kB view details)

Uploaded Python 3

File details

Details for the file dreamverse_core-1.2.0a1.tar.gz.

File metadata

  • Download URL: dreamverse_core-1.2.0a1.tar.gz
  • Upload date:
  • Size: 303.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dreamverse_core-1.2.0a1.tar.gz
Algorithm Hash digest
SHA256 7f534bfa17538ca5cf40532640494ef1288a0c2c2c8e3436c61442313edc9e73
MD5 6c831953442ff0d198c4d921b264436f
BLAKE2b-256 b9d22302a7752a564dad547a26509d4ce1657cfad43d1009d092297d02b230ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for dreamverse_core-1.2.0a1.tar.gz:

Publisher: publish.yml on DreamverseHoldings/dreamverse-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dreamverse_core-1.2.0a1-py3-none-any.whl.

File metadata

File hashes

Hashes for dreamverse_core-1.2.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 504542aa873285e897f9730416061d340cafdb9742ae72ba64af4b69fb4c3f86
MD5 4ff426ac8e53e2ef2c66ad469387038e
BLAKE2b-256 37e9f34bc25fd6ab61aed60ee9cb064bb97c3f4bd8fcffe238015a16cc19d45a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dreamverse_core-1.2.0a1-py3-none-any.whl:

Publisher: publish.yml on DreamverseHoldings/dreamverse-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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