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
  • SuperTokens signup lifecycle hooks for project role validation and bindings
  • 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
  • Cached feature-flag fallback decorator with project-owned cache repositories
  • 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.7.tar.gz (345.6 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.7-py3-none-any.whl (279.5 kB view details)

Uploaded Python 3

File details

Details for the file dreamverse_core-1.2.7.tar.gz.

File metadata

  • Download URL: dreamverse_core-1.2.7.tar.gz
  • Upload date:
  • Size: 345.6 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.7.tar.gz
Algorithm Hash digest
SHA256 89a7d8cc8d6954a2f1023169f8af461db1e437c66ceb6563a50005882dc9b70d
MD5 ba8dad1f30697ad9676c64f22ce7743b
BLAKE2b-256 35551a46392d0ff1795e8af72ca2c76e7964a0268632ecc7c7f58da8a2c95079

See more details on using hashes here.

Provenance

The following attestation bundles were made for dreamverse_core-1.2.7.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.7-py3-none-any.whl.

File metadata

  • Download URL: dreamverse_core-1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 279.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dreamverse_core-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 17b8ba5940780dc02008fa597de5f4f4c0a7e8edac61e61297b4f075a1c7a0bd
MD5 aa1c4ab683acf0e61f5a551a4439e42a
BLAKE2b-256 d8d0cacee773f39ad300c73db7c9b69385fcfc5fbc4c4da38494da6b160646b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dreamverse_core-1.2.7-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