This release is a pre-release and may not be stable for production use.
m0serve
A WSGI/ASGI server for Python applications, written in Mojo. Point it at a Django, Flask, FastHTML or Starlette app and it serves it — no Mojo toolchain required, no compilation step, nothing to configure.
pip install m0serve
m0serve myproject.wsgi:application
The protocol is detected from the object, so the same command serves WSGI and
ASGI. m0serve --help lists the flags; --workers N, --threads N (on
free-threaded CPython) and --blocking-threads N are the topology ones.
What is in the wheel
One compiled binary and the Mojo runtime it loads. No CPython — m0serve resolves libpython at run time from the interpreter it is installed beside, which is why there is no ABI tag and one wheel per platform covers CPython 3.10 through 3.14, free-threaded builds included. It has no Python dependencies and fetches nothing at install time.
Install it into the same virtual environment as your application, the way you would gunicorn or uvicorn; the console script points the embedded interpreter at that environment.
Platforms
| platform | status |
|---|---|
| macOS arm64 (Apple Silicon) | supported |
| Linux x86_64 (glibc) | supported |
| Linux aarch64 | buildable, not yet shipped |
| macOS x86_64 (Intel) | not possible — Modular ships no Intel Mac toolchain |
| musl / Alpine, Windows | not supported |
The wheel's filename carries the exact macOS and glibc floors it was built
against. On an older system pip declines to install it rather than
installing something that crashes.
Status
Pre-1.0 and deliberately small: HTTP/1.1 only, no TLS, no HTTP/2 — terminate at a proxy, which is gunicorn's answer too. The API will change before 1.0.
Source, documentation and issues: https://github.com/codetalcott/mojo-http
Licence
MIT, and the wheel redistributes third-party components under their own
terms — the Mojo runtime (Apache-2.0 with LLVM Exceptions) and a fork of
lightbug_http (MIT). Full text and attribution ship inside the wheel; see
NOTICE.txt beside the installed package.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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 m0serve-0.10.0rc1-py3-none-manylinux_2_35_x86_64.whl.
File metadata
- Download URL: m0serve-0.10.0rc1-py3-none-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3abe71eb8db500f68ef444cc337bf1ff740cad9459a8cb45a5ac99666998858a
|
|
| MD5 |
906d7af7cf0b818248a67d0122645676
|
|
| BLAKE2b-256 |
3cb85d2fabc576bffe766ab9bd5dfad105f1df27e67631bb6aef8b8d7a458dc4
|
Provenance
The following attestation bundles were made for m0serve-0.10.0rc1-py3-none-manylinux_2_35_x86_64.whl:
Publisher:
release.yml on codetalcott/mojo-http
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
m0serve-0.10.0rc1-py3-none-manylinux_2_35_x86_64.whl -
Subject digest:
3abe71eb8db500f68ef444cc337bf1ff740cad9459a8cb45a5ac99666998858a - Sigstore transparency entry: 2591337513
- Sigstore integration time:
-
Permalink:
codetalcott/mojo-http@fcf10056278def48efa48358a4ddf4fa25487d7b -
Branch / Tag:
refs/tags/v0.10.0rc1 - Owner: https://github.com/codetalcott
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fcf10056278def48efa48358a4ddf4fa25487d7b -
Trigger Event:
push
-
Statement type:
File details
Details for the file m0serve-0.10.0rc1-py3-none-macosx_13_0_arm64.whl.
File metadata
- Download URL: m0serve-0.10.0rc1-py3-none-macosx_13_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3, macOS 13.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee85cdd25ccfd8160c897b4cff34e42b232f6caeb430496555e8be463c79b8ab
|
|
| MD5 |
dc63738f75087e37fed54da4cafc5746
|
|
| BLAKE2b-256 |
ff1fb34e904e9c9dcc9c657183168f94dbe9fb03dea12fd31f9302900ec84c2b
|
Provenance
The following attestation bundles were made for m0serve-0.10.0rc1-py3-none-macosx_13_0_arm64.whl:
Publisher:
release.yml on codetalcott/mojo-http
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
m0serve-0.10.0rc1-py3-none-macosx_13_0_arm64.whl -
Subject digest:
ee85cdd25ccfd8160c897b4cff34e42b232f6caeb430496555e8be463c79b8ab - Sigstore transparency entry: 2591338244
- Sigstore integration time:
-
Permalink:
codetalcott/mojo-http@fcf10056278def48efa48358a4ddf4fa25487d7b -
Branch / Tag:
refs/tags/v0.10.0rc1 - Owner: https://github.com/codetalcott
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fcf10056278def48efa48358a4ddf4fa25487d7b -
Trigger Event:
push
-
Statement type: