Skip to main content

FastAPI + Inertia.js host runtime for simple_module — app_builder, middleware stack, CLI (sm / simple-module), scaffolding

Project description

simple_module_hosting

FastAPI + Inertia.js host runtime for the simple_module framework — builds the app, wires the middleware pipeline, exposes the sm / simple-module CLI, and ships the project scaffolder.

Install

pip install simple_module_hosting

For a new project, most users run the generator instead:

uvx simple-module new my-app

What it provides

  • create_app(settings) — returns a fully-wired FastAPI instance with all discovered modules registered.
  • Middleware pipeline (execution order): CorrelationId → RequestLogging → SecurityHeaders → Session → <module middleware> → Tenant (opt-in) → Locale → InertiaLayoutData → app.
  • Inertia wiring — shared props (auth, menus, i18n), InertiaDep, page-route lookup.
  • CLI entry points: both sm and simple-module are installed and alias the same Click tree.
  • Scaffolders — sm create-host, sm create-module, sm new (greenfield app with users + dashboard + permissions pre-wired), sm gen-pages.

Usage

Minimal main.py:

from simple_module_hosting import create_app
from simple_module_hosting.settings import Settings

settings = Settings()           # reads SM_* env vars
app = create_app(settings)      # discovers + registers every installed module

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

CLI:

simple-module new my-app        # scaffold a new project
simple-module doctor            # diagnostic codes (SM001-SM017)
simple-module gen-pages         # regenerate client_app/modules.generated.ts

sm works identically to simple-module.

Depends on

  • simple_module_core, simple_module_db
  • fastapi, fastapi-inertia, starlette, uvicorn, click, jinja2, httpx

License

MIT — see LICENSE.

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

simple_module_hosting-0.0.1.tar.gz (54.8 kB view details)

Uploaded Source

Built Distribution

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

simple_module_hosting-0.0.1-py3-none-any.whl (62.9 kB view details)

Uploaded Python 3

File details

Details for the file simple_module_hosting-0.0.1.tar.gz.

File metadata

  • Download URL: simple_module_hosting-0.0.1.tar.gz
  • Upload date:
  • Size: 54.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for simple_module_hosting-0.0.1.tar.gz
Algorithm Hash digest
SHA256 8930f465c6b3830e06a303b19c134f23ade69fe8d7637fea62f700cef56114e0
MD5 3e74b534268771f3b58b92dc6eaf1d24
BLAKE2b-256 84453166fe40b6d586eeaba8c9268da2e942460df875bc25905b3c9d80844bfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_module_hosting-0.0.1.tar.gz:

Publisher: release.yml on antosubash/simple_module_python

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

File details

Details for the file simple_module_hosting-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_module_hosting-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8f4e07839f46313142903c0290bc4f5ca592739896c894317e2f748cb6a0ca7d
MD5 828de03c7fb8db476116558ed385549a
BLAKE2b-256 655eecb5b527f454a807a329c9254dd5babc35f078f11ac515890fe9a198f1d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_module_hosting-0.0.1-py3-none-any.whl:

Publisher: release.yml on antosubash/simple_module_python

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