Skip to main content

Rust-powered Python backend framework with fast routing.

Project description

vyro

CI Release PyPI Python Versions License

Vyro is a backend framework that combines Python developer experience with a Rust-native execution engine.

Why Vyro

  • Rust-native runtime for high throughput and low overhead.
  • Pythonic routing and handler authoring.
  • Async-first handler model (async def only).
  • Structured release automation (tag -> changelog -> PyPI -> GitHub Release).

Quickstart

Install from PyPI

pip install vyro

Local development setup

pip install maturin pytest
maturin build --release
pip install --force-reinstall target/wheels/vyro-*.whl
python examples/hello_world.py

Minimal example

from vyro import App, Context

app = App()

@app.get("/")
async def hello(ctx: Context):
    return {"message": "hello from vyro"}

if __name__ == "__main__":
    app.run(port=8000, workers=2)

Development

Run all core checks locally:

cargo test
python -m pytest tests/py tests/integration -q
maturin build --release

Project structure

  • python/vyro/: user-facing Python APIs.
  • rust/src/: native runtime and bridge.
  • tests/: Python, Rust, and integration tests.
  • .github/workflows/: CI and release automation.

See ARCHITECTURE.md for the full module map and request flow.

Community

License

Vyro is licensed under the Apache License 2.0. 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

vyro-0.1.0.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.

vyro-0.1.0-cp310-abi3-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.34+ x86-64

File details

Details for the file vyro-0.1.0.tar.gz.

File metadata

  • Download URL: vyro-0.1.0.tar.gz
  • Upload date:
  • Size: 40.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vyro-0.1.0.tar.gz
Algorithm Hash digest
SHA256 28113e35e61c9bb3739e1a0b86f353df077d98ac94935a4a420b2164ac2aabb6
MD5 024721a0296ae5abd8cd8fae411e2221
BLAKE2b-256 1c0ab4d68419e374f108984333fcfc456d72f0c518220e75ca447ce896575140

See more details on using hashes here.

Provenance

The following attestation bundles were made for vyro-0.1.0.tar.gz:

Publisher: release.yml on vietrix/vyro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vyro-0.1.0-cp310-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for vyro-0.1.0-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1b763378695cc30e9d207a77bc0ef51a760c5148a4aeb130454c4a00c9b24477
MD5 b0a618f6a99702871229680baa7b3cb8
BLAKE2b-256 f9cc352b1f4cc0c18ec7ae2272e2dfd52d65153599092e2b37034db9b40e17f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for vyro-0.1.0-cp310-abi3-manylinux_2_34_x86_64.whl:

Publisher: release.yml on vietrix/vyro

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