A Fast Async Python backend with a Rust runtime.
Project description
Hypern
Hypern: A Versatile Python and Rust Framework
Hypern is a flexible, open-source framework built on the Axum, designed to jumpstart your high-performance web development endeavors. By providing a pre-configured structure and essential components, Hypern empowers you to rapidly develop custom web applications that leverage the combined power of Python and Rust.
With Hypern, you can seamlessly integrate asynchronous features and build scalable solutions for RESTful APIs and dynamic web applications. Its intuitive design and robust tooling allow developers to focus on creating high-quality code while maximizing performance. Embrace the synergy of Python and Rust to elevate your web development experience.
🏁 Get started
⚙️ To Develop Locally
- Setup a virtual environment:
python3 -m venv venv
source venv/bin/activate
- Install required packages
pip install pre-commit poetry maturin
- Install development dependencies
poetry install --with dev --with test
- Install pre-commit git hooks
pre-commit install
- Build & install Rust package
maturin develop
🤔 Usage
🏃 Run your code
You will then have access to a server on the localhost:5005
,
# main.py
from hypern import Hypern
from hypern.routing import Route, HTTPEndpoint
class MyEndpoint(HTTPEndpoint):
async def get(self, request):
return {"data": "Hello World"}
routing = [
Route("/hello", MyEndpoint)
]
app = Hypern(routing)
if __name__ == "__main__":
app.start(host='localhost', port=5005)
$ python3 main.py
You can open swagger UI at path /docs
💡 Features
⚡ High Performance
- Rust-powered core with Python flexibility
- Multi-process architecture for optimal CPU utilization
- Async/await support for non-blocking operations
- Built on top of production-ready Axum web framework
🛠 Development Experience
- Type hints and IDE support
- Built-in Swagger/OpenAPI documentation
- Hot reload during development
- Comprehensive error handling and logging
🔌 Integration & Extensions
- Easy dependency injection
- Middleware support (before/after request hooks)
- WebSocket support (Comming soon)
- Background task scheduling
- File upload handling
🔒 Security
- Built-in authentication/authorization (Comming soon)
- CORS configuration
- Rate limiting
- Request validation
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
Built Distributions
File details
Details for the file hypern-0.2.0-cp312-none-win_amd64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp312-none-win_amd64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 698ae247161ed88508baaeb33e2c2198bb62a804a78a24057abd4859d2549437 |
|
MD5 | 8a95094d9a7181dbf10c8d09a6139156 |
|
BLAKE2b-256 | a4fcf4feff363e9cfba856ca78e3034ea7c05b38e8575124898e9bab3224856b |
File details
Details for the file hypern-0.2.0-cp312-none-win32.whl
.
File metadata
- Download URL: hypern-0.2.0-cp312-none-win32.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0268f311c655d0762e0f1da16fba5d22f9222d2394c1d26ea93bcb366cde179 |
|
MD5 | c36d8726664e262223766e25a8fd1200 |
|
BLAKE2b-256 | 9e4ea82a04d2149d8994dfe647d39d677050af81e5b339f4fce5a88ec107a460 |
File details
Details for the file hypern-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7e9bc61396b61bbbf19adb35aeea2ee0a6b7cde94f3f20b0b5ef891a87dadd2 |
|
MD5 | 7e5d06c237d287d456d8f782c841863d |
|
BLAKE2b-256 | f23c2b12d0d081abf0cc5695163e5f6ecb442f5b8a680551053b5ed7fbaff2c7 |
File details
Details for the file hypern-0.2.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
.
File metadata
- Download URL: hypern-0.2.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.12+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccf0d79b9f4e13d72563e37408d4df22c852cf6686e13dfac6e9df6b2ec595f4 |
|
MD5 | a8313c8fc4ea75ecfdba58568dd85620 |
|
BLAKE2b-256 | 18b9d5128d917b0c6f5b0c40d2238203e2596b6a4b98c49ea735f5a590264908 |
File details
Details for the file hypern-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b1f606e7cf1020a17584a8ac4f40796fb43da8ff62355bb62aaec4a78422e68 |
|
MD5 | d0f2f155cc3bfdf8efc9ed67ebe31d29 |
|
BLAKE2b-256 | 4baf7b046089baaa993bd73d672a0081c0ec228cc64152a289bc7dd38de5e68a |
File details
Details for the file hypern-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
.
File metadata
- Download URL: hypern-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.12, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b527b7943ad7aeebfa4c7e3b5c7bea1d54189dd9c92ba39f36763a48a1d3739 |
|
MD5 | a6f8d682ccc5ba38ea5c0c8b0923067c |
|
BLAKE2b-256 | 6b4e0200afaf2040c4ded1b3ef64b8fd3124d623a9f8119d04b7b5f072bfcd0a |
File details
Details for the file hypern-0.2.0-cp311-none-win_amd64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp311-none-win_amd64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb74c8e9566b4eaa9651dc47c9c4fad758efeaad19b44a5d898be75fcf58b3da |
|
MD5 | e95829101675493a8659775d368b0312 |
|
BLAKE2b-256 | 774cc7a2235b59e9d6e8438d3bae4fe128a6843679a146efd2348d2a2638c408 |
File details
Details for the file hypern-0.2.0-cp311-none-win32.whl
.
File metadata
- Download URL: hypern-0.2.0-cp311-none-win32.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b7afea3afa2be5de0df2e8eeb2d7a1d77627f6e8100144ef674fc01c6855f81 |
|
MD5 | bf8c3537afe51ffe877ad31c9f6ce400 |
|
BLAKE2b-256 | 610d6ea2aa3fe83c85c8f53a90fe1c5ba7c94215a9be9c5178bef7f61d5585f0 |
File details
Details for the file hypern-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c526c2bdcbbb959398bd3c04c9f2ac689a9680d713d9c19f9789889acb8356f2 |
|
MD5 | 472ffb6ae75fa3b5b6437806bd9e953a |
|
BLAKE2b-256 | bb854fc2f593638dc71b8041de16911eda6b6212c487643d0ce009c839d15091 |
File details
Details for the file hypern-0.2.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
.
File metadata
- Download URL: hypern-0.2.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.12+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e462ae0d35a3d7d47a0086b420671492a6c13b7a82c1a7ac394a646913b2d21 |
|
MD5 | 1a4c532b876753387730e14e84df8dec |
|
BLAKE2b-256 | 1ea82e4be2b3ea7b30b20153c1cd180aa8c6757f345485e1cbb30610fe57bb77 |
File details
Details for the file hypern-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5d8192c2ba0e7169c6f4b982ed6ecbadc3fea8b9b78a54bf72d207e7be1f6f6 |
|
MD5 | 468f50a8adf229c3d17111f9166d3a23 |
|
BLAKE2b-256 | 8233bfa26cb4259ce6a82527deb0771afd73423063a3c4c55bbb362e286a7daf |
File details
Details for the file hypern-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
.
File metadata
- Download URL: hypern-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.11, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3e74d072fcbc0b8f12763b93e7555e13c423d7b632f465dc3c277b5ad2442c6 |
|
MD5 | 096209b60e535ba78ca2f88ab126759e |
|
BLAKE2b-256 | cc2f8cf19e337b237e420f923ff3624bfcac89bcfc3b4e7f3ff6b12572e82897 |
File details
Details for the file hypern-0.2.0-cp310-none-win_amd64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp310-none-win_amd64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a5e79984126d1ef4399c5300c2af79baa084076672676a37f468dc6073d7541 |
|
MD5 | 465343d68ac24fa2fcf7dc41f38f4310 |
|
BLAKE2b-256 | 34cc3eef69eb7c2839137da3896b185af2aef093616f844361d8b2485054bf93 |
File details
Details for the file hypern-0.2.0-cp310-none-win32.whl
.
File metadata
- Download URL: hypern-0.2.0-cp310-none-win32.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea12ab6cee30e9635cfcd1af32ad02de3a4df3fa9eaff10159aaa9b2f83ae746 |
|
MD5 | 8b9707c66bf0d2db0e7d8cf8a5a2d50f |
|
BLAKE2b-256 | d5aa5284cd30fcfaca9b55c11d1253374cb25ca630d8388970a660ce9562a316 |
File details
Details for the file hypern-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ebcc4329d7d06aaf3ab3be9ccc49e502da8912a284b345d083a590ae4377f0d |
|
MD5 | 94f6359d274e89de7429a074e6f56562 |
|
BLAKE2b-256 | 3770bba28d3a210e032f069231f3effe85b455fa6590df3c69663d2991a207ff |
File details
Details for the file hypern-0.2.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
.
File metadata
- Download URL: hypern-0.2.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
- Upload date:
- Size: 2.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.12+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b892125d79bd1199fa927d58a8f7ff67557d49f0e3b3f140ecf647cdd899625 |
|
MD5 | 6a3f1ce9bfad5f6e874d4dfccbd0d7f7 |
|
BLAKE2b-256 | ce5ddc4cbf3034bd738784aeaf94fc134d1774144d52fe51841434348a35d9a4 |
File details
Details for the file hypern-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: hypern-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.10, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c629bb3106c794bc85aee800e29ba87f29751a9fc177a9486da91c2f382bfc9 |
|
MD5 | 98006fc75b9c945c2b3787935eafddaa |
|
BLAKE2b-256 | 4b161931e754f84423e203ceaef9d167b7f2b4c917957f0d600e46c78756edad |
File details
Details for the file hypern-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
.
File metadata
- Download URL: hypern-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 4.3 MB
- Tags: CPython 3.10, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 607336852d6244fa4b6416f65ab2965e98a6dae34fbe5be0b42e2ae60cfddf0c |
|
MD5 | 2ac9c7c6631af749de384620a2b93dd8 |
|
BLAKE2b-256 | 2f104f026cd8c31c9fcef16deffc6bac65b99fdd7927c5e481a092c3f749340a |