WSGI server written in Rust.
Reason this release was yanked:
outdated release - please use the latest version
Project description
Pyruvate WSGI server
Pyruvate is a WSGI server written in Rust. It’s not yet ready for production so use with caution.
Features
Asynchronous event loop using mio
Request parsing using httparse
PyO3 based Python interface
Worker pool based on threadpool
PasteDeploy entry point
Development Installation
Install Rust
Install and activate Rust nightly (needed by PyO3)
Install and activate a Python 3 (> 3.5) virtualenv
Install pyruvate, e.g. using pip:
$ pip install -e git+https://gitlab.com/tschorr/pyruvate#egg=pyruvate
Using Pyruvate in your WSGI application
From Python
A hello world WSGI application using pyruvate listening on 127.0.0.1:7878 and using 2 worker threads looks like this:
import pyruvate def application(environ, start_response): """Simplest possible application object""" status = '200 OK' response_headers = [('Content-type', 'text/plain')] start_response(status, response_headers, None) return [b"Hello world!\n"] pyruvate.serve(application, "127.0.0.1:7878", 2)
Using PasteDeploy
Again listening on 127.0.0.1:7878 and using 2 worker threads:
[server:main] use = egg:pyruvate#main socket = 127.0.0.1:7878 workers = 2
0.1.0 (2020-02-10)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file pyruvate-0.1.0.tar.gz
.
File metadata
- Download URL: pyruvate-0.1.0.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b791bcef4e004f6dc8c3dac3ade8809bd058ced77392d1c246883dec90a21a2 |
|
MD5 | 09b1dac0d32c20304d757e7a82ac7d23 |
|
BLAKE2b-256 | 715856409f9709d646e2a8716355d7cc77f32f6e98ef311a73ccbd3756ddb34a |
File details
Details for the file pyruvate-0.1.0-cp38-cp38-manylinux1_x86_64.whl
.
File metadata
- Download URL: pyruvate-0.1.0-cp38-cp38-manylinux1_x86_64.whl
- Upload date:
- Size: 4.4 MB
- Tags: CPython 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7cddcfd25d6d80599ec7775dba9883b94144de4d803f7ab8370db5c7665bf25 |
|
MD5 | 9412b3c516b6915b7a6cd1188d87d0b6 |
|
BLAKE2b-256 | 567800815ffe99d9b47bd9da7afa2d6b7a47c8b6edbc4c35c5129ca6643fc767 |
File details
Details for the file pyruvate-0.1.0-cp37-cp37m-manylinux1_x86_64.whl
.
File metadata
- Download URL: pyruvate-0.1.0-cp37-cp37m-manylinux1_x86_64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9f80a2992aece5d21a3e78dbe7287bfa06714899058cadc8409b556c5aee8ce |
|
MD5 | d390f8cb182301a74f88a2a2bef229a0 |
|
BLAKE2b-256 | 49fb0b32ca0aa1bab09c5c01a4336eceedab4756416d9b1142a000a576099682 |
File details
Details for the file pyruvate-0.1.0-cp36-cp36m-manylinux1_x86_64.whl
.
File metadata
- Download URL: pyruvate-0.1.0-cp36-cp36m-manylinux1_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d12294c0accb6c564727a9d1bb2042a09e35524a54322516af3bd54a40661ca |
|
MD5 | fc7aa21b0f789fc28b5fdd2758e325f4 |
|
BLAKE2b-256 | 767768f0295551b0fcb7c4f13141a62e1c73de67338b2600e9047f1c3881d9ad |