mitti
mitti is a Python ASGI framework designed to unify concurrent and parallel execution behind a synchronous application model.
Application code stays ordinary, synchronous Python. mitti owns the execution machinery and decides how to run it — concurrently on GIL builds, and in true parallel on free-threaded Python.
from mitti import App
app = App()
@app.get("/users/{user_id}")
def get_user(user_id: int):
return users.get(user_id)
Status
Early alpha. The design is documented in docs/design.md;
the MVP covers ASGI, routing, path/query parameters, JSON responses, the
request object, dependency injection, basic validation, middleware,
lifespan, and a thread-based executor.
Requirements
- Python 3.13+
- ASGI 3
- Free-threaded Python where available (GIL-enabled Python supported as a compatibility mode)
Development
uv sync
uv run pytest
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 mitti-0.1.0.tar.gz.
File metadata
- Download URL: mitti-0.1.0.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64c8ef428c9c94ec464fe480886ba72c20b054c3f4de4f5fa9333076259e0564
|
|
| MD5 |
6a2c0c635fa37ad984b815c18b499e1d
|
|
| BLAKE2b-256 |
8c29ad91dcac1eed680001212cc8f1904a96735c99be52ece7f58581805bad19
|
File details
Details for the file mitti-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mitti-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5196c41655153acfc0a3818fc6fa98ac6e4bf7dcc97797c961debf8da565494f
|
|
| MD5 |
d60f7d4a52817811bda3e73c880eeda8
|
|
| BLAKE2b-256 |
eb6cca8e7d02e248704e9fa5ec5fc911d7367f5c0f3e56bb5143156941375d2d
|