Skip to main content

Rivex — high-performance Python web framework with a bundled Rust core

Project description

Rivex — Python SDK

License: MIT PyPI Python

The Python SDK for Rivex — a high-performance web framework whose hot paths run as native Rust. Published to PyPI as vexarr-rivex and imported as rivex.

pip install vexarr-rivex
import rivex

app = rivex.RivexServer()
app.add_route("GET", "/", lambda req: {"hello": "world"})
app.run("0.0.0.0", 8000)

The wheel is self-contained: the Rust core (Hyper + Tokio) is compiled into a PyO3 extension and bundled with every wheel. No external download. No Rust toolchain required at install time.

How the bundling works

The Rust source lives in the core repository, which is linked here as a git submodule at core/. At build time maturin compiles the rivex-python crate from that submodule and packages the resulting rivex_core.<ext> shared library into the wheel alongside a thin Python wrapper (rivex/__init__.py) that re-exports the public API.

        vexarr-rivex wheel
        ┌─────────────────────────────┐
        │  rivex/__init__.py          │ ← Python wrapper (this repo)
        │  rivex_core.<ext>           │ ← Compiled PyO3 extension
        │  rivex_core.pyi             │ ← Type stubs
        └─────────────────────────────┘
                      ▲
                   maturin
                      │
                ┌────────────┐
                │  core/     │  ← git submodule
                │   crates/  │     of rivex-core
                │     rivex- │
                │     python │
                └────────────┘

Local development

# 1. Clone with the core submodule
git clone --recurse-submodules https://github.com/rivex-dev/python.rivex.vexarr.com
cd python.rivex.vexarr.com

# 2. Install maturin and a Rust toolchain (only needed for local builds —
#    end users get prebuilt wheels)
pip install maturin
rustup toolchain install stable

# 3. Build + install into the current venv
maturin develop --release
python -c "import rivex; print(rivex.__version__)"

To bump the bundled core version, update the submodule pointer:

cd core && git fetch && git checkout v0.2.0 && cd ..
git add core && git commit -m "core: bump to v0.2.0"

Releasing

Tagging a version on main triggers CI to build wheels for Linux (x86_64, aarch64), macOS (x86_64, aarch64), and Windows (x64) across Python 3.10–3.13, then publishes them to PyPI.

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

vexarr_rivex-0.1.0-cp313-cp313-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.13Windows x86-64

vexarr_rivex-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

vexarr_rivex-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

vexarr_rivex-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vexarr_rivex-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

vexarr_rivex-0.1.0-cp312-cp312-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.12Windows x86-64

vexarr_rivex-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

vexarr_rivex-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

vexarr_rivex-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vexarr_rivex-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

vexarr_rivex-0.1.0-cp311-cp311-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.11Windows x86-64

vexarr_rivex-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

vexarr_rivex-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

vexarr_rivex-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vexarr_rivex-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

vexarr_rivex-0.1.0-cp310-cp310-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.10Windows x86-64

vexarr_rivex-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

vexarr_rivex-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

vexarr_rivex-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

vexarr_rivex-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file vexarr_rivex-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6a74b86a168c64eee4c8d1c53a1265f19395f521650b5cb561bc442db45fc9b0
MD5 2673edd5904347cb17fd6902bec1cbed
BLAKE2b-256 346bbf840c07ca3b11e40bb6a7af8fa7440b29c68d38cde2eac25351de422971

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63b41910ebb5a7e33d77c85e5b6d9fcf4413fa8db657ba411fb3eff37f9cc553
MD5 61ffd0f5f06d98533bac8ab0462ca3a1
BLAKE2b-256 e6fc5117eb26e627f8cb06c5860dfa457df4e7d8ea5924d7c7251a4f49d9baa7

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 872ffd945a95f8dfd6fdfc7a5c1ff15088413e6c8d693e642da61fe8c2195e2c
MD5 67b7c4855e196dfde9b1da76eca0589e
BLAKE2b-256 097c64c78383b40213f18b78a767d14f74482bb4c991479f02bf7d81a07d39d0

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc1586375e7cccc2e11d30b7c4b3719b289639e93324ee0267524ef42bba978c
MD5 577656bfb2e39c43a977f0f48b15c17d
BLAKE2b-256 9c814d26b5e7d43fcfd0e1e32f249e0f864aff9b349ce544e07979377645c301

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 80411e7ed1bf5afa3ef66698d6be88c9838abf97d2b1db69c6a411159ea92018
MD5 d5de59b9f138736eae9d003e542be5ac
BLAKE2b-256 1caf49749b254fba07a3b4712adf272c25b51f60069ec7ba5a7d0934d2dc2259

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 375c2667c62c963b42122970d507dcc4cabe4bc157e6027a2385762def6688d1
MD5 46bec151e2bcd67c40b5c30e37b52640
BLAKE2b-256 7ee992e6aeee7a9e6ed33647408a593c5b1d4593cfee723bc66f3fbb766c217d

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f207979b900b900ea9e67c13f3aa9184f169f903282f695615664f47cbedc87
MD5 ae984f5f1cce797598e017c6df2b3da0
BLAKE2b-256 b6b8c4a5d6269e4d93187b7e2fb8e128f9efb8d5e47cfbce8bce5a025094d385

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cfb57363a5074923a3dd1b1c3436282d538b2aa86917b0f8f0510fb5412c9833
MD5 78a8927bdbf76f3d559e2daa0bf1d396
BLAKE2b-256 a9646baabdf085b870c88975867405454119ad225a60338e6ec5a3a688905a89

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c6dea3c5ea8c0818c953ea8d01418ee6acbf83573e6013235065f6fd1a0d6355
MD5 e8fa3c70436e46d20478c9ba77336008
BLAKE2b-256 6b80675b49fb2c2fe5ebf129faa426630e88d3a8576116320f9487776245d080

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 71460a6a0f4c904400cbb823c928a987083fe6e43b5b2cea4eb6a61ed021fea5
MD5 6281362fb1e313e70d1dd517a8d39d9d
BLAKE2b-256 31a55dbc8e5506be63fe3b82e63b7e56c2eb8ac1a2aab2b0c8bf1508f69ae4cc

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 30d35b5a12a0eda5278164a88098ef51e3d26b537ed45c0f7d8707092f49434b
MD5 3b4eb9621f0097f1c89c2ce3582529f1
BLAKE2b-256 420727fb7af23c444a2706f0f2bec701ab79ea140c64d5e27d001a6ce687a5b6

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 697c16433468bc748f0c4d888419819e5b09fe4887905b78535fdae443d5eff0
MD5 46cdf648e496a4e8f0cb8a3b7165219f
BLAKE2b-256 5c68a2caa7b27c472e208741c7287735baac4eae0923bd4b08ff4841b0069b2e

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 96b24cdb6baa5743f615d8920ba2c29afa1716ca86ab668d34de3ad00d40da7f
MD5 a8f7f1201333587ebeecc41d0398e9e8
BLAKE2b-256 c29f5ce42cc249f76053cec3c55f546bcc51c66be37f8195c8eb024d6e87a1c1

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e2e0d444a65cd262f544bd2ab106787bd65baa71705b8257fc82c7405e50c2b
MD5 12a2c8b1e4aeefeaeb2011abec064eb9
BLAKE2b-256 4c58b817457bcf10c96bc4cf0715e543ced4e0f688568b1fffee7aa4b023724f

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 556fb8d3702792984f443abd09b089c1950d53eb5312955ecc3f63ab1a624018
MD5 9f53b2b5c26194fe94f39eb617f64bf4
BLAKE2b-256 02a3ab5ca4fd5bd1f6ce50c00bd81013e169bd6e6c919e7d782e9968574be660

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f80edcc9881e5546018d72524fdbd0ac145f4b661c29d7558e8a19c8c32ac879
MD5 fab615c471c0131fdbdaa606406dbb42
BLAKE2b-256 e1715f5305984bbf7753816161602c77203122dd3ef57f826502df238b00d94f

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4807fc8374f52ac30c1bd76fc42502185752cf53911f6ce3ba81822da8dce8f
MD5 50f0254aaa114f514762cd82764a310d
BLAKE2b-256 57b4ea81a43cb8b1397dbbd0a22d199a320c5a425ec9e743d0b0828b08d81d55

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 99f02df176b13e03db5a55573aacb82cb15a8c426fd9d8784afc68d9bccc1c6a
MD5 e13db153d22e2cb31e6ac69529b21ef1
BLAKE2b-256 a3a4cdd5e03dbbec276b33ae858a99b99382892bbab49a90c4079b397c26e3f6

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4417b28437f87d8f8f70a604ae6e9b1d34d614cfbcb4d6961cee98f458a25555
MD5 d78d0327dea95937ebf79a838a3e3a77
BLAKE2b-256 4362243fd9162d75ef71f99453dca784dbfab1881da99fa6456b140af3029971

See more details on using hashes here.

File details

Details for the file vexarr_rivex-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for vexarr_rivex-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d5c543a30018cada5f512efa90a9ce7fb67de776e39a2a4760121d097acf1578
MD5 7f2ec511c9b96a0e91a1633511d87d3d
BLAKE2b-256 e21dbbc346db10f507732569fc12f7351dac78d1b6a44c56843ec9008fba8eca

See more details on using hashes here.

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