Skip to main content

No project description provided

Project description

rustgi

rustgi is a fast, lightweight, single-thread Web Server Gateway Interface (WSGI) that allows you to run Python web applications using Rust. It provides a high-performance and efficient environment for hosting WSGI-compatible applications.

Features

  • serve WSGI
  • set max body size

Getting Started

Installation

You can install rustgi with pip

pip install rustgi

Usage

import rustgi
from app import application

rustgi.serve(
    application,
    rustgi.RustgiConfig().set_address("0.0.0.0:8000"),
)

Benchmarks

rustgi

└❯ wrk -t4 -c1000 -d30s --latency http://0.0.0.0:8000
Running 30s test @ http://0.0.0.0:8000
  4 threads and 1000 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     5.03ms  353.39us  10.73ms   87.20%
    Req/Sec    12.42k     1.90k   19.36k    53.62%
  Latency Distribution
     50%    4.97ms
     75%    5.14ms
     90%    5.35ms
     99%    6.53ms
  1487223 requests in 30.10s, 127.65MB read
  Socket errors: connect 751, read 81, write 0, timeout 0
Requests/sec:  49403.93
Transfer/sec:      4.24MB

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

rustgi-0.1.21.tar.gz (21.6 kB view hashes)

Uploaded Source

Built Distributions

rustgi-0.1.21-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl (841.1 kB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

rustgi-0.1.21-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl (827.8 kB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

rustgi-0.1.21-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (669.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (880.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

rustgi-0.1.21-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (708.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (651.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (640.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (702.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

rustgi-0.1.21-pp310-pypy310_pp73-macosx_11_0_arm64.whl (619.3 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

rustgi-0.1.21-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (645.1 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

rustgi-0.1.21-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl (841.1 kB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

rustgi-0.1.21-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl (827.8 kB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

rustgi-0.1.21-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (669.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (880.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

rustgi-0.1.21-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (708.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (651.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (640.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (702.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

rustgi-0.1.21-pp39-pypy39_pp73-macosx_11_0_arm64.whl (619.3 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

rustgi-0.1.21-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (645.1 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

rustgi-0.1.21-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl (841.3 kB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

rustgi-0.1.21-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl (827.9 kB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

rustgi-0.1.21-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (669.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (881.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

rustgi-0.1.21-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (708.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (652.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (640.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (702.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

rustgi-0.1.21-pp38-pypy38_pp73-macosx_11_0_arm64.whl (619.4 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

rustgi-0.1.21-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (645.4 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

rustgi-0.1.21-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl (842.5 kB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

rustgi-0.1.21-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl (829.1 kB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

rustgi-0.1.21-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (670.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-pp37-pypy37_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (883.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

rustgi-0.1.21-pp37-pypy37_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (709.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (653.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (641.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (703.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

rustgi-0.1.21-pp37-pypy37_pp73-macosx_11_0_arm64.whl (620.5 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

rustgi-0.1.21-pp37-pypy37_pp73-macosx_10_12_x86_64.whl (646.4 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

rustgi-0.1.21-cp312-none-win_amd64.whl (612.9 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

rustgi-0.1.21-cp312-none-win32.whl (581.8 kB view hashes)

Uploaded CPython 3.12 Windows x86

rustgi-0.1.21-cp312-cp312-musllinux_1_1_x86_64.whl (840.1 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

rustgi-0.1.21-cp312-cp312-musllinux_1_1_aarch64.whl (827.5 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

rustgi-0.1.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (667.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (877.1 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

rustgi-0.1.21-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (707.9 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (650.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (638.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (701.2 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686

rustgi-0.1.21-cp312-cp312-macosx_11_0_arm64.whl (618.2 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

rustgi-0.1.21-cp312-cp312-macosx_10_12_x86_64.whl (643.8 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

rustgi-0.1.21-cp311-none-win_amd64.whl (612.3 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

rustgi-0.1.21-cp311-none-win32.whl (581.9 kB view hashes)

Uploaded CPython 3.11 Windows x86

rustgi-0.1.21-cp311-cp311-musllinux_1_1_x86_64.whl (840.8 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

rustgi-0.1.21-cp311-cp311-musllinux_1_1_aarch64.whl (827.3 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

rustgi-0.1.21-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (668.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (880.0 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

rustgi-0.1.21-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (708.0 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (651.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (639.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (701.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

rustgi-0.1.21-cp311-cp311-macosx_11_0_arm64.whl (619.1 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

rustgi-0.1.21-cp311-cp311-macosx_10_12_x86_64.whl (644.7 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

rustgi-0.1.21-cp310-none-win_amd64.whl (612.3 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

rustgi-0.1.21-cp310-none-win32.whl (581.9 kB view hashes)

Uploaded CPython 3.10 Windows x86

rustgi-0.1.21-cp310-cp310-musllinux_1_1_x86_64.whl (840.7 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

rustgi-0.1.21-cp310-cp310-musllinux_1_1_aarch64.whl (827.3 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

rustgi-0.1.21-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (668.6 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (880.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

rustgi-0.1.21-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (708.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (651.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (639.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (701.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

rustgi-0.1.21-cp310-cp310-macosx_11_0_arm64.whl (619.1 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

rustgi-0.1.21-cp310-cp310-macosx_10_12_x86_64.whl (644.6 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

rustgi-0.1.21-cp39-none-win_amd64.whl (612.6 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

rustgi-0.1.21-cp39-none-win32.whl (582.1 kB view hashes)

Uploaded CPython 3.9 Windows x86

rustgi-0.1.21-cp39-cp39-musllinux_1_1_x86_64.whl (840.9 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

rustgi-0.1.21-cp39-cp39-musllinux_1_1_aarch64.whl (827.5 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

rustgi-0.1.21-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (668.6 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (880.3 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

rustgi-0.1.21-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (708.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (651.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (639.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (702.1 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

rustgi-0.1.21-cp39-cp39-macosx_11_0_arm64.whl (619.2 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

rustgi-0.1.21-cp39-cp39-macosx_10_12_x86_64.whl (644.8 kB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

rustgi-0.1.21-cp38-none-win_amd64.whl (612.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

rustgi-0.1.21-cp38-none-win32.whl (582.1 kB view hashes)

Uploaded CPython 3.8 Windows x86

rustgi-0.1.21-cp38-cp38-musllinux_1_1_x86_64.whl (841.1 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

rustgi-0.1.21-cp38-cp38-musllinux_1_1_aarch64.whl (827.6 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

rustgi-0.1.21-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (669.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (880.4 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

rustgi-0.1.21-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (708.4 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (651.7 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (640.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (702.0 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

rustgi-0.1.21-cp38-cp38-macosx_11_0_arm64.whl (619.3 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

rustgi-0.1.21-cp38-cp38-macosx_10_12_x86_64.whl (645.0 kB view hashes)

Uploaded CPython 3.8 macOS 10.12+ x86-64

rustgi-0.1.21-cp37-none-win_amd64.whl (612.6 kB view hashes)

Uploaded CPython 3.7 Windows x86-64

rustgi-0.1.21-cp37-none-win32.whl (582.2 kB view hashes)

Uploaded CPython 3.7 Windows x86

rustgi-0.1.21-cp37-cp37m-musllinux_1_1_x86_64.whl (841.1 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

rustgi-0.1.21-cp37-cp37m-musllinux_1_1_aarch64.whl (827.5 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

rustgi-0.1.21-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (669.0 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

rustgi-0.1.21-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (880.5 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

rustgi-0.1.21-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (708.4 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

rustgi-0.1.21-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (651.7 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARMv7l

rustgi-0.1.21-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (640.1 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

rustgi-0.1.21-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl (702.0 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

rustgi-0.1.21-cp37-cp37m-macosx_11_0_arm64.whl (619.4 kB view hashes)

Uploaded CPython 3.7m macOS 11.0+ ARM64

rustgi-0.1.21-cp37-cp37m-macosx_10_12_x86_64.whl (645.0 kB view hashes)

Uploaded CPython 3.7m macOS 10.12+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page