Skip to main content

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 Rust, 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()
$ python3 main.py

You can open swagger UI at path /docs

CLI

- host (str): The host address to bind to. Defaults to '127.0.0.1'.
- port (int): The port number to bind to. Defaults to 5000.
- processes (int): The number of processes to use. Defaults to 1.
- workers (int): The number of worker threads to use. Defaults to 1.
- max_blocking_threads (int): The maximum number of blocking threads. Defaults to 32.
- reload (bool): If True, the server will restart on file changes.
- auto_workers (bool): If True, sets the number of workers and max-blocking-threads automatically.

💡 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 Rust language

🛠 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
  • 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

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.

hypern-0.3.9-cp312-cp312-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.12Windows x86-64

hypern-0.3.9-cp312-cp312-win32.whl (3.5 MB view details)

Uploaded CPython 3.12Windows x86

hypern-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

hypern-0.3.9-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

hypern-0.3.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

hypern-0.3.9-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.12+ i686

hypern-0.3.9-cp312-cp312-macosx_10_12_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

hypern-0.3.9-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (7.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

hypern-0.3.9-cp311-cp311-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.11Windows x86-64

hypern-0.3.9-cp311-cp311-win32.whl (3.5 MB view details)

Uploaded CPython 3.11Windows x86

hypern-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

hypern-0.3.9-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

hypern-0.3.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

hypern-0.3.9-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.12+ i686

hypern-0.3.9-cp311-cp311-macosx_10_12_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

hypern-0.3.9-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (7.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

hypern-0.3.9-cp310-cp310-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.10Windows x86-64

hypern-0.3.9-cp310-cp310-win32.whl (3.5 MB view details)

Uploaded CPython 3.10Windows x86

hypern-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

hypern-0.3.9-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

hypern-0.3.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

hypern-0.3.9-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.12+ i686

hypern-0.3.9-cp310-cp310-macosx_10_12_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

hypern-0.3.9-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (7.4 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file hypern-0.3.9-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: hypern-0.3.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hypern-0.3.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5dcb318b57a01674c2b76e1e4dfb0a145f6d52ce3bf8d416c1263e1835dcf6fe
MD5 53dcae9ca8ab7ad47b843b8da358fa02
BLAKE2b-256 0867e74799ff2903b3aa9d97aaf2be2a400dacb5665743761454a78d3c8a56d5

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp312-cp312-win32.whl.

File metadata

  • Download URL: hypern-0.3.9-cp312-cp312-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hypern-0.3.9-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 a02c0649b49da8a0ad6904276bf3dc534bf451e63ee29542f79899f494998350
MD5 e9ac23a7397a137e18727c49c11ea01b
BLAKE2b-256 b71909cad2114748858dec41aa6d7e1211c0887ab20ce92c6837d6ec59c63328

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab51dcad9eca99d61cbf96be721e9df2c5a73370bc49345205eede1d1e420e28
MD5 2a91a3c2bb136c244f5dd292710d59ec
BLAKE2b-256 90fcf797b46aeba599403d51f966b09355024ac4bde5610f90f3ab7af8345f7e

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7d988ff9e594315139b959b5e1fb250287a54196f9b0ded6da1dad1eaacc67ae
MD5 d06bf8dd1ced2f383b05839a2155c94c
BLAKE2b-256 21b57fefcd836167a2523ff18de7722c5432d16411547ebef2946971495bc5f5

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a2c2e1521ae7cfd926ea6dbf1b6d46a02db8185fecf699798460f7ed0b529ce4
MD5 2fae0be2d34ed3aaa339c1080aa06d5b
BLAKE2b-256 0a8e2ce68aa321128e6310240d8932765df005a8f54e05b96d78ec817094c3fa

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 618683ebc8565943a1a62ce11d2a6090a0b4af2fb21259d27df5a98e6cceef38
MD5 b445482b239ed7d9d366d117a02b0d35
BLAKE2b-256 a89df19837b663d69026f3b2a530bf9eb57758028cd3985ffd7d445933e880ca

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4de5e0d29b28a9ebf29ac961038da40188400a8bc43287c04eac3fed8d27eaf6
MD5 f2b31187bd8ccd12985c0a4687c4bb8d
BLAKE2b-256 9d1b2245f2311a97e056ad723350ff30bbf1b554356d6516e70f34063630a657

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 5a746db1da74e2735f42c2acc387a04939e363d54a2a430bab5ba6ad5d61255a
MD5 59d4caa5cf1d941cf99b00908c942d7f
BLAKE2b-256 cc4108dff35ed97b1e0382d7b483763351545ec445f626dcf2dbed2837224581

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: hypern-0.3.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hypern-0.3.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ccfd514f5f323206490ee827ff227687dbb43cc5fa65e71eddae47841509a684
MD5 ecd67d03d5989371417565167e9be0c5
BLAKE2b-256 0e1d0f09dee85a0407f8af0990198e0c3f864c955e824ae7980c76d19f3a894d

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp311-cp311-win32.whl.

File metadata

  • Download URL: hypern-0.3.9-cp311-cp311-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hypern-0.3.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 63ab8e1d90c0d96bd5c7b9fac0be7d264a09d622bcd7bb0d70a41aa5ce7c78fc
MD5 a3ec8c58a99a7bd13a2e55d9cef79627
BLAKE2b-256 db3c42a44c6cfe2624c34b7111a497c2ae9abd175d306882d4a468c76509689f

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 567351cc8a1af6754cdcfb5f3bbeae425597afe77e4d4ea70c1aaf328dafd572
MD5 2c6bb2ed0d0fb0f95661abd56b216f2e
BLAKE2b-256 96157e6d46706a8cc2ed5d1b28593ff9f8722f759373eab08f2b02fdae023d41

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3db7678720cafce1752b928896d197915244086dd43302fdb66b6dea5df4c1a8
MD5 189274975737c4f30e9e318feb844d84
BLAKE2b-256 eee1c569f8bbd05f8abc5440d4a13cf1341db9b7579bfb58cb212a5d2f83bff1

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30628e67d1e8c96c04b91df8edc2d6d2bfa135e9a874a3bd5a1a7a284f62b1f7
MD5 12ec1329107a4ee9ddf59eb4083875be
BLAKE2b-256 677a99164f1a2b17a80f8ed2652ec771d389f3e467104a3ae7adfedd82659257

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 182bf4b6c6899d45270be6c9ea3d79eeae0aa122222306ea4e432485c2ba3bdd
MD5 6f430e71c5f5069946895b846294b605
BLAKE2b-256 049eea871eb1e06d6b06b6aee2c6894a9e8091674d1962f94085ae6523decd84

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5229d02d175ce00e12c851d69738ef4aaf4f1359da1f5f7dfd92626504b73f87
MD5 b3666d451679a7459a9103e0a5227236
BLAKE2b-256 11b2f522ccd41f2835d30382ce9824917788717d167707a4040711cf20bb9fb6

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 83c99afa711fff864fe07f483bb9086cea2f76012472aa39f5cfead7ebeffebe
MD5 05e721133b796a13292a55cb12b9245d
BLAKE2b-256 664881f66d362003f711df08c9610d3f207a6f3322eb52a33c25de9509e2f0e4

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: hypern-0.3.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hypern-0.3.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 13c58d3387410b2213f137759a033920bde024abed71b4383ff638ba2787a162
MD5 ea67090e5bd5fcea061d7a23e5287821
BLAKE2b-256 0faad75d8d4c305474cca4b2145846093c5db98955d7498395310c3161b3937f

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp310-cp310-win32.whl.

File metadata

  • Download URL: hypern-0.3.9-cp310-cp310-win32.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for hypern-0.3.9-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0c50a97b9282c82304cdafca8bab251919f3a9afc794ada27876943eb6bb443c
MD5 3408eb50ca38262fb90d8401b441c540
BLAKE2b-256 37aa0863415d46f912a14f764d6bf484648df0fb2db2b7ca6bfbe693b70cb07d

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a83530c9d509e52ff999747123c4f1fe428fd4b067bcdd5d2c1ed6882ec2080
MD5 62617e2d9871ac309f6aa4265e04c243
BLAKE2b-256 eec32259e15702b16b023e44b3f942df3b405c7e3193ea1f75a699b1dcf3aa58

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 96284a7a85ef06275d143e3adadab3a45b8d2a3790d39a08e688af1e5d7a1aaf
MD5 eee3ec31d29dbab06ec14ebebc7d5684
BLAKE2b-256 57155154ad83c9f5f0611894b04c2c6bf742a0edff32c56107fd5328a3a5b90f

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 589a9d33b33ff011a7e38032ea0857788825b342abf29cf170095df54c4c5b15
MD5 ce7619ac852260d82c6f13a9ae505ed4
BLAKE2b-256 8feffc40703c9d503354418dec0c6c288dcc9a22d485143153cfe75a9054a9da

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 783a995462d14876d53a10e61ce199630c5cddec3182f490d24f30017ee83a8e
MD5 15764736c9779abe3a20300d28321f30
BLAKE2b-256 35a63c00e860b63309c9ff3bc347edadf739cb550bfcd4865ed9f7e96ae77ece

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2847f9be6860a9e40f35b38a9f3ff0bf090f3d5894ecdae54c59445d0b71d19d
MD5 8e78af978061f4ab7d4c6bacf58061b7
BLAKE2b-256 48859a172076b44e70f8edeaaab5b8535581c8be76bdd9d4d6420d069b6bf3a8

See more details on using hashes here.

File details

Details for the file hypern-0.3.9-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for hypern-0.3.9-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7862e0f327120edd84e50c0ebdf9d195fdf12c8f5ba9ae2662c73823279a3ddc
MD5 7b523685e37b74b301f43dd09168df88
BLAKE2b-256 78b784add601188b37cc5e7723a177dcf1d1fa0a784f286a8e1d831d58119428

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