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, and contributes the sm host plugin to the standalone sm CLI.

Install

pip install simple_module_hosting

For a new project, most users run the generator instead (shipped by the standalone simple_module_cli distribution):

uvx --from simple_module_cli sm 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.
  • sm host plugin — sm host gen-pages regenerates the frontend pages manifest; sm host sync-js-deps installs JS deps declared by installed modules. The sm binary itself comes from simple_module_cli.

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 (after also installing simple_module_cli):

sm host gen-pages               # regenerate client_app/modules.generated.ts
sm host sync-js-deps            # sync module JS deps into client_app/node_modules

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.11.tar.gz (40.3 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.11-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: simple_module_hosting-0.0.11.tar.gz
  • Upload date:
  • Size: 40.3 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.11.tar.gz
Algorithm Hash digest
SHA256 30b0097f79416558a3f80c3bf2f74365ebc1848b329c5e8cffdedc0ec78a3cc4
MD5 334e5143f486d094789a7e4f970eafb2
BLAKE2b-256 2d585ab746b62da0237ebafe6a4605ecadf00203cf4f7cc2b53c05874a9c6e23

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for simple_module_hosting-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 d31303bfda9860744db33927b1012f30101c7d27040208f4a3de7dedac6d79bd
MD5 18ea870576eae55ec3e8f6b09a0c0b72
BLAKE2b-256 99438785655b82492bfee9fc1ede2a31d08f65b1e7b51bfada56a09412d3e58e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_module_hosting-0.0.11-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