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-wiredFastAPIinstance 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 hostplugin —sm host gen-pagesregenerates the frontend pages manifest;sm host sync-js-depsinstalls JS deps declared by installed modules. Thesmbinary itself comes fromsimple_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_dbfastapi,fastapi-inertia,starlette,uvicorn,click,jinja2,httpx
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_module_hosting-0.0.2.tar.gz.
File metadata
- Download URL: simple_module_hosting-0.0.2.tar.gz
- Upload date:
- Size: 37.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61a63b55841e189cea5ec116fb3901175aa60e969b5cc2274c484a83be4b6b1d
|
|
| MD5 |
4565141cd406a3f45582254d3b31245c
|
|
| BLAKE2b-256 |
4d6703cc26a014b0f828075c58c7ea57386edb7a2563e7fd790a366751f2f38f
|
Provenance
The following attestation bundles were made for simple_module_hosting-0.0.2.tar.gz:
Publisher:
release.yml on antosubash/simple_module_python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simple_module_hosting-0.0.2.tar.gz -
Subject digest:
61a63b55841e189cea5ec116fb3901175aa60e969b5cc2274c484a83be4b6b1d - Sigstore transparency entry: 1391727933
- Sigstore integration time:
-
Permalink:
antosubash/simple_module_python@1a7e639ff44ab1e2ebf917e0a7f7148e947ca085 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/antosubash
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1a7e639ff44ab1e2ebf917e0a7f7148e947ca085 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file simple_module_hosting-0.0.2-py3-none-any.whl.
File metadata
- Download URL: simple_module_hosting-0.0.2-py3-none-any.whl
- Upload date:
- Size: 37.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d9fe843b54e2ed6be65b107a527481e1dd566f36eb0c3005f0de11d7e76c4b9
|
|
| MD5 |
93a4be52c78eb7e9479fbd8ff442b044
|
|
| BLAKE2b-256 |
e8c686281603d364c8aeb9b1872cf9042558383ccb01e138c82464a3513e5734
|
Provenance
The following attestation bundles were made for simple_module_hosting-0.0.2-py3-none-any.whl:
Publisher:
release.yml on antosubash/simple_module_python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simple_module_hosting-0.0.2-py3-none-any.whl -
Subject digest:
5d9fe843b54e2ed6be65b107a527481e1dd566f36eb0c3005f0de11d7e76c4b9 - Sigstore transparency entry: 1391727954
- Sigstore integration time:
-
Permalink:
antosubash/simple_module_python@1a7e639ff44ab1e2ebf917e0a7f7148e947ca085 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/antosubash
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1a7e639ff44ab1e2ebf917e0a7f7148e947ca085 -
Trigger Event:
workflow_dispatch
-
Statement type: