Skip to main content

A Rust HTTP server for Python applications

Project description

Granian

A Rust HTTP server for Python applications.

Rationale

The main reasons behind Granian design are:

  • Have a single, correct HTTP implementation, supporting versions 1, 2 (and eventually 3)
  • Provide a single package for several platforms
  • Avoid the usual Gunicorn + uvicorn + http-tools dependency composition on unix systems
  • Provide stable performance when compared to existing alternatives

Features

  • Supports ASGI/3, RSGI and WSGI interface applications
  • Implements HTTP/1 and HTTP/2 protocols
  • Supports HTTPS
  • Supports Websockets over HTTP/1 and HTTP/2

Quickstart

You can install Granian using pip:

$ pip install granian

Create an ASGI application in your main.py:

async def app(scope, receive, send):
    assert scope['type'] == 'http'

    await send({
        'type': 'http.response.start',
        'status': 200,
        'headers': [
            [b'content-type', b'text/plain'],
        ],
    })
    await send({
        'type': 'http.response.body',
        'body': b'Hello, world!',
    })

and serve it:

$ granian --interface asgi main:app

You can also create an app using the RSGI specification:

async def app(scope, proto):
    assert scope.proto == 'http'

    proto.response_str(
        status=200,
        headers=[
            ('content-type', 'text/plain')
        ],
        body="Hello, world!"
    )

and serve it using:

$ granian --interface rsgi main:app

Options

You can check all the options provided by Granian with the --help command:

$ granian --help
Usage: granian [OPTIONS] APP

Arguments:
  APP  Application target to serve.  [required]

Options:
  --host TEXT                     Host address to bind to.  [env var:
                                  GRANIAN_HOST; default: 127.0.0.1]
  --port INTEGER                  Port to bind to.  [env var: GRANIAN_PORT;
                                  default: 8000]
  --interface [asgi|rsgi|wsgi]    Application interface type.  [env var:
                                  GRANIAN_INTERFACE; default: rsgi]
  --http [auto|1|2]               HTTP version.  [env var: GRANIAN_HTTP;
                                  default: auto]
  --ws / --no-ws                  Enable websockets handling  [env var:
                                  GRANIAN_WEBSOCKETS; default: (enabled)]
  --workers INTEGER RANGE         Number of worker processes.  [env var:
                                  GRANIAN_WORKERS; default: 1; x>=1]
  --threads INTEGER RANGE         Number of threads.  [env var:
                                  GRANIAN_THREADS; default: 1; x>=1]
  --threading-mode [runtime|workers]
                                  Threading mode to use.  [env var:
                                  GRANIAN_THREADING_MODE; default: workers]
  --loop [auto|asyncio|uvloop]    Event loop implementation  [env var:
                                  GRANIAN_LOOP; default: auto]
  --opt / --no-opt                Enable loop optimizations  [env var:
                                  GRANIAN_LOOP_OPT; default: (disabled)]
  --backlog INTEGER RANGE         Maximum number of connections to hold in
                                  backlog.  [env var: GRANIAN_BACKLOG;
                                  default: 1024; x>=128]
  --log / --no-log                Enable logging  [env var:
                                  GRANIAN_LOG_ENABLED; default: (enabled)]
  --log-level [critical|error|warning|warn|info|debug]
                                  Log level  [env var: GRANIAN_LOG_LEVEL;
                                  default: info]
  --log-config FILE               Logging configuration file (json)  [env var:
                                  GRANIAN_LOG_CONFIG]
  --ssl-keyfile FILE              SSL key file  [env var: GRANIAN_SSL_KEYFILE]
  --ssl-certificate FILE          SSL certificate file  [env var:
                                  GRANIAN_SSL_CERTIFICATE]
  --url-path-prefix TEXT          URL path prefix the app is mounted on  [env
                                  var: GRANIAN_URL_PATH_PREFIX]
  --reload / --no-reload          Enable auto reload on application's files
                                  changes  [env var: GRANIAN_RELOAD; default:
                                  no-reload]
  --version                       Shows the version and exit.
  --install-completion [bash|zsh|fish|powershell|pwsh]
                                  Install completion for the specified shell.
                                  [env var: GRANIAN_INSTALL_COMPLETION]
  --show-completion [bash|zsh|fish|powershell|pwsh]
                                  Show completion for the specified shell, to
                                  copy it or customize the installation.  [env
                                  var: GRANIAN_SHOW_COMPLETION]
  --help                          Show this message and exit.

Threading mode

Granian offers two different threading paradigms, due to the fact the inner Rust runtime can be multi-threaded – in opposition to what happens in Python event-loop which can only run as a single thread.

Given you specify N threads with the relevant option, in workers threading mode Granian will spawn N single-threaded Rust runtimes, while in runtime threading mode Granian will spawn a single multi-threaded runtime with N threads.

Benchmarks suggests workers mode to be more efficient with a small amount of processes, while runtime mode seems to scale more efficiently where you have a large number of CPUs. Real performance will though depend on specific application code, and thus your mileage might vary.

Event loop optimizations

With the --opt option Granian will use custom task handlers for Python coroutines and awaitables to improve Python code execution. Due to the nature of such handlers some libraries and specific application code relying on asyncio internals might not work.

You might test the effect such optimizations cause over your application and decide wether to enable 'em or leave 'em disabled (as per default).

Project status

Granian is currently under active development.

Granian is compatible with Python 3.8 and above versions.

License

Granian is released under the BSD 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

granian-0.7.6.tar.gz (56.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

granian-0.7.6-pp310-pypy310_pp73-win_amd64.whl (1.7 MB view details)

Uploaded PyPyWindows x86-64

granian-0.7.6-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

granian-0.7.6-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

granian-0.7.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

granian-0.7.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

granian-0.7.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

granian-0.7.6-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (1.9 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

granian-0.7.6-pp39-pypy39_pp73-win_amd64.whl (1.7 MB view details)

Uploaded PyPyWindows x86-64

granian-0.7.6-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

granian-0.7.6-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

granian-0.7.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

granian-0.7.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

granian-0.7.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

granian-0.7.6-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (1.9 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

granian-0.7.6-pp38-pypy38_pp73-win_amd64.whl (1.7 MB view details)

Uploaded PyPyWindows x86-64

granian-0.7.6-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

granian-0.7.6-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

granian-0.7.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

granian-0.7.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

granian-0.7.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

granian-0.7.6-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (1.9 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

granian-0.7.6-cp312-none-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.12Windows x86-64

granian-0.7.6-cp312-cp312-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

granian-0.7.6-cp312-cp312-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ ARM64

granian-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

granian-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

granian-0.7.6-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

granian-0.7.6-cp312-cp312-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

granian-0.7.6-cp311-none-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.11Windows x86-64

granian-0.7.6-cp311-cp311-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

granian-0.7.6-cp311-cp311-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

granian-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

granian-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

granian-0.7.6-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

granian-0.7.6-cp311-cp311-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

granian-0.7.6-cp310-none-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.10Windows x86-64

granian-0.7.6-cp310-cp310-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

granian-0.7.6-cp310-cp310-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

granian-0.7.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

granian-0.7.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

granian-0.7.6-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

granian-0.7.6-cp310-cp310-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

granian-0.7.6-cp39-none-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.9Windows x86-64

granian-0.7.6-cp39-cp39-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

granian-0.7.6-cp39-cp39-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

granian-0.7.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

granian-0.7.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

granian-0.7.6-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

granian-0.7.6-cp39-cp39-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

granian-0.7.6-cp38-none-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.8Windows x86-64

granian-0.7.6-cp38-cp38-musllinux_1_1_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

granian-0.7.6-cp38-cp38-musllinux_1_1_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

granian-0.7.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

granian-0.7.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

granian-0.7.6-cp38-cp38-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

granian-0.7.6-cp38-cp38-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file granian-0.7.6.tar.gz.

File metadata

  • Download URL: granian-0.7.6.tar.gz
  • Upload date:
  • Size: 56.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for granian-0.7.6.tar.gz
Algorithm Hash digest
SHA256 7db791702f796fee2b0f5873b05d880a8db0e3b7be901a09660bea200d659f1a
MD5 28143443ebfb7eb016ac2fb574d5be21
BLAKE2b-256 ac79cad225a4c1e93fd5ae6504c1d0183163b0bfcbc7bff640dbe24224441936

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 407f41b8a3b51e02ed3cf97d0a38db28ea5f911832a9e5512585e6d54e995b1d
MD5 c7075029262c0c58c0c49b457388cf68
BLAKE2b-256 3069042feffb063cb0f89f17b6b14d509c587b4456e7e0b4e9e9f6c6d814d852

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5a25c5e68b2a25fe041fca01ef55b67ef801d3ce409a26e596195c9bcc360424
MD5 5c54363a0448753a2d2fa03749a78a93
BLAKE2b-256 4f72d12d330c451992b59f711c0febbcc9c03898b7ed9982ef3524b12e93ad74

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 8d76367766a5fea0f1c7c1336037df7948ff8c84fad60a487ead2189d6ce064e
MD5 e095e8ef7f8e5f3da8efd54fe1004f0b
BLAKE2b-256 9134ecca91141aecf1d24a8f186cd12b32a5d63ea1bf92e1ecfc8e1f9ceedbb3

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c3f981cc68e689a6d131620d4b77472c86cc782ba156ac9d53f2ebd0c935243
MD5 5bae3cec6dd87e7834dddcccb57a2462
BLAKE2b-256 d1892b5177b9faf42dfa61cbebb9b8b1c202a1893b507bd4177c68e8d7d15822

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d2797078d81476cf4d1626f7e05eabbfb757fc87b426207c339449b986be2fb5
MD5 c8186111081daba407399275e747e024
BLAKE2b-256 258f5710ad44003d3fcf8c74f6377e5b27a0fb9f83c325501049aed07338800c

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6866b9e47694804c36cb381b79892a129e922f43ef58db98bf7e133643232988
MD5 c3de2fd58ce3a594265155dd94b16fe0
BLAKE2b-256 414fcbbbc245f4041bf6d2c65ca376d927c13ff39c85b179a5b3435efcfa5bf8

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp310-pypy310_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp310-pypy310_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0794369734dd413a2c1c5ab2db106fbd9491c2a766b8885370c1c941f5db262e
MD5 7a6b6cd074c929cbb8f88d4e369da9e7
BLAKE2b-256 8a1052da7caef60d1afde7472c3c36209e95b14fb4f24b1da4626d5eec01c3e8

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 6a708baa1a02e768c30d03a63f4c812d92efad32880b5c846715352827f10a31
MD5 795ee62ff3fa118030da07a9145c3e16
BLAKE2b-256 8a14501c8128f7db68410dc61f13bf8d8c7cf446e1d2544f99e7a1cea2630eec

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8122c4a0b68c84c6bb2e5f46bf2f3ff2ee47e9490b2a82b6f1697b166e73662d
MD5 545ad34c22cadef11652c93706d5d699
BLAKE2b-256 e7a2ef0b01a61a3c836a8fde9593bbd045eb3c43a7a106d790cba4b8cbd1d4ea

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2e5296987b777a7b13ca220a0fda5571c7bcfc74453d793d788cd93b35d4cb4b
MD5 a494698c7c3adeff4e55594a5556b4ab
BLAKE2b-256 b5bd66f1a2ce3c0fbb59b62afe6ca7107041142a7e389b91219c245837676e23

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b13cf17475ec25c29021a0e27c99987feda90e7f4f2c8058bb0662d63b9dbae4
MD5 c65ab5c7ee232ecc2c5b83990eda57f3
BLAKE2b-256 8425a0cf6d7c6facb838bf13332c23e986a262dcdc9c96656e1be9b2b33a4192

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 00354f96fe1e3d39e536052baa2ebc1e75d5fe55fd9fe44156951d7eac820268
MD5 a6d03879c5b88b8869acdcfa330c79a6
BLAKE2b-256 c8e7978223052aca6fa18a0ece0de8c5b78a6b31ebaf4a16a06b6d4c950e01a5

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dbf6d84608dd1312a47d69b07e819c8e046b64389ff1e61565a60c6e2bea3e36
MD5 2824b86c183d8525a6091e472ba71940
BLAKE2b-256 2c8265cb094fcfb6b36d4f13aa79b75e6f6c0f253ee3c4a1471280d2034a44c1

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp39-pypy39_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp39-pypy39_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 af3fc568f3b8ff2a35d00e4b9bb66ca715c3b4b4df804c92d5ea032e92b28b8f
MD5 b9307e4da36d739c93f35ef076603fe3
BLAKE2b-256 2dcc30f9abc9810fa08b95c1bbf11faa9164ebbd6b45765010c504af6b3594ad

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 b7ea8a8b8841a05804c0b82e846ed7f494d24906d740e5ae6031cb33be98f9c7
MD5 98e1cc4e21a8941329db4e66aad5fc2c
BLAKE2b-256 780ac35974600f3963261292d002800e68d2da861dacd9e4f1050f2e20d3bd33

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 05c52f0b3adfcf23dcf81e76a395baefd05274e314a35480808dd81c0c5ba7bc
MD5 daf263f8925b6f408d762fda917938ae
BLAKE2b-256 7b7529d3f7fb20057dba44bb461bd4a36dfacc73371846e07df4126ed308571d

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 91519b0d33c3b53f0323eb5aac873ba52234c7173a66a921b410bb2ccbaa0a95
MD5 67a8f64ce9f9b768fdca14432dd1b76a
BLAKE2b-256 b9a0f0c452a0401651d3d60f25a8de25e90f13bbd9ddad176e372db8a2f80631

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1291636bf5781c47504055f689690dfc5793e90afa92cbf50c5e085a22337e55
MD5 4c1711773b088ca087018d4cc28c7068
BLAKE2b-256 12bb3208eb132bee588c09a1ec6539bea5411ac44eac55bcf8a8c90fd16cb29c

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 24cc426d19c26915efeace149a307edbcd4683a2e191f3e7647305c59e79db83
MD5 dd7ba1c10fa06ad6a876a2bca68a08fc
BLAKE2b-256 cd94dd071cbf0c2f24e18f6ea39bbd1e02f10a2fe6624a36f521c6d8348e461e

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7eab4b7a9a4f9ac4bbbfbb03350db22f699ccdda863d2bd329841c69b107ec8
MD5 b357b1cb54a5efc5e20398af479d60bd
BLAKE2b-256 d850522bc492c59b9d5a39c242fede5754c0be60d38ccef873b203f4a3a80187

See more details on using hashes here.

File details

Details for the file granian-0.7.6-pp38-pypy38_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-pp38-pypy38_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 87bbe1e35bbb3378c2c1aa05875c9b6773c6bfff96c364a20cb0534d3aba6d04
MD5 be6dd88a09a5c68e49e31b8bcd41a161
BLAKE2b-256 3d84199fd5ca6e226f56c272de48127e8022692669143ed3a32d5a09f8ae86e8

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp312-none-win_amd64.whl.

File metadata

  • Download URL: granian-0.7.6-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for granian-0.7.6-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 6be44c4805d464bea58461712cce759ebf06e9f32fc525355f01d358b25b5e3e
MD5 90eed90f6366356ab809a3cb8330062f
BLAKE2b-256 7ee0bf3398f019004078269cfffbe846e9741790573da85fe3fd4a2eb936d03e

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a2ee42db02d0f75deae65c8a1d239732d7b0ba0224d1cd03a76433f0123813f1
MD5 7fa42ad04487a2be07ba6cfc85e77f7d
BLAKE2b-256 54a6d41f7baf605776dc9a3d029b2253b8f90c1e03e2f1894b53b40769619588

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp312-cp312-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 0220e25d307f1e02e00634bae06dcbf4e84dd0f2171f75c296a79b41d816c675
MD5 25c5aa7c932a143e7339a4d80077f82c
BLAKE2b-256 ccab59f04bb8ef8f297dd8c0007c2e209a11b2173f9f68c2f2c3b3f2df7876a5

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b162ae5becfbc7da6e2c914113509647d3ff9be0cdd58fcfcd494b12e743407f
MD5 18d6e2385e4d4295aed06792077f138b
BLAKE2b-256 bfd4c6923a731c1d3f3073d0947451850708b0bef60730cb3b342a4ad5f318f3

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bcdda316e486393a19c81f5696889a1d09cc15541ac5e8188e0d01d7dadc47b4
MD5 bac35fb3ddd465a17e0f40f7cbcdb94c
BLAKE2b-256 04399606fbf1d1356aaeccd9838d910d3ee1027f48115ea3176c284af92f3296

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e45a4dd451e1b544f1a5b67295ca6b936b1a56448567134be9446e7d9c1111b9
MD5 313eab1ba96aadf255240fe889a22e54
BLAKE2b-256 d67510df1947d0bdc5824ea91b2783a5714bf7bbbf335adcba5d979c5084937e

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b20fa860ad3a733a987d63ab527804774be00536d5b79be67c63f6ac5d56b265
MD5 025a4e7f02798527ea85ac929029bb9d
BLAKE2b-256 c11c16e3f53afd22af16d16a75eb02831349da8bce86bcd89061dc78fe373e59

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp311-none-win_amd64.whl.

File metadata

  • Download URL: granian-0.7.6-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for granian-0.7.6-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 9c3a2807296a9cf4ad272ec5ada61276a1dfe96deadad6f6f9bc863f1a905fc6
MD5 6cad5723d9089065ef3ab598dc4b8466
BLAKE2b-256 7da970aa07be69338448dfd86493e5a4345786f3988cf2b91170162f5789fbd2

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 367989bacd72ced23108ad41be18835469f979628bbf9638de5fca13c86bad8f
MD5 ac5512371e12ffa0e01e31d50b522b46
BLAKE2b-256 10d44fca584738aa0a8302419bdd554549979697a23be66b86ccdbdcb4adb861

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ef2117fec68082567ee3e36ac7d31c5fe5329911583612ab9d2accb13579c2ec
MD5 e48b7ff06071c466402b23dfe04fe35c
BLAKE2b-256 0fce7fdbef56c2b4814384fd87af8ca3e2f721f812bdf0ac01ec9758e49dc346

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3012d4279ab87851c257c6f13b0216846ae9da104e476efbfa94f771e4b396f2
MD5 dbca47c8dcce96764d7249a4422b895b
BLAKE2b-256 67596441b8445bec0baae724d55aa6c4ea318c0fe6754e29ec5fad1a70686916

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 86d05b740fe53b32d15d427ee27889df614ed405bc0ba2414c70c38fc1ed37ce
MD5 dfe6c140f99d3367b4bd61109c71c6c3
BLAKE2b-256 20ede1c665029ae1be4fb493d8591dcc5c501c29ad93d9023403339029567c92

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1eaaa24f24c3f0a4b41477152ad862b8322c88bdc792c9c6ecd0140f9341e1ec
MD5 5f62fe7d8e14af3e2c756b5b21a0b97c
BLAKE2b-256 8f4200ca5d1acf5f63e367f1c69d73e2d0c7bbfa745f9a37470c9cd4949b7a75

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 36115a4fcdd22ce2ac456c2a8581395c76aaff14df19c8702d950edd49ca574d
MD5 b8637413c8c6a78034a10237e6c2d8b6
BLAKE2b-256 e7308917938fb93dd5fc31de5b10c882257d32eebc620231c05653556a2572b6

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp310-none-win_amd64.whl.

File metadata

  • Download URL: granian-0.7.6-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for granian-0.7.6-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 d15a483dd7ba087f07706518db56db5d5d1cd714ce0579e444534484a18f4c33
MD5 440b8b434a7f98e543ba706357ef9a50
BLAKE2b-256 a39421a8436adaa85c1fcbe783a152fa0c5cf8f7d0712f75eec2a10bce7287bd

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 af9606707eb2f574d7fa91bcbe27ffe71cc683a774505f6252835240990351cb
MD5 f8d43faf8d0f271963d8852a50afac46
BLAKE2b-256 a45887a9d7d49c6b1f0d70b4c21ed12056e263d70544ffe8d503ff1fd1608850

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 dfc89458c0832aaa7158fd44af241eb8b1dea0059f3d943af167caf8becef3ee
MD5 6817575b9be600fe76cf20b49dc4a9a6
BLAKE2b-256 88eb5f71545e7611d31b82a5ac17e65a3dfcaf8e35bf8ff89eea9ebf6a743466

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48fa984669127da7583f25440274ffa9e3944907292d381918b3b3943fef77db
MD5 27b8ae1c2b2169551305ce6b02d33030
BLAKE2b-256 454a2a560aaeb644f595f894f99ab25cd6e31b67554b6260ad6afaf67d023ba5

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2550f304caeae6f9ce0bbc3a5aa4be263bacdfe8a91ee45738745f7c04f0483d
MD5 8905ba20d359277bd0881fcb72fb7f53
BLAKE2b-256 7b9f183378745ca7c69c6c8284b13cfafaca334e603bd96a82175c7e1f6ccd0c

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af6938b581c2d5468d404e2d61977e4a729e012cd2dc595f05cbfa5452c73898
MD5 3451f253be5c9f1585cdfabe7b6f99e6
BLAKE2b-256 3f3943ab8022625d0be4d5868163a9ca31affc117f274ff1ae8c478d868cabaf

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 554f6e2af20a9c2fb0dda12fbf6d4d14b271c380fe0aca2be6b2f48f829174f2
MD5 62c3169d57e8dc2e90a1b21b4015b986
BLAKE2b-256 dbd5d86ab01f75e55c30743bc9b40686b78288e3fc2bfaae7e36c3cd7bfad630

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp39-none-win_amd64.whl.

File metadata

  • Download URL: granian-0.7.6-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for granian-0.7.6-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 2bf9d566050faa733c6945660307abb020ba800bbacf7df17cabfb20db787973
MD5 8440ab39896f1e77738d8595b5b88002
BLAKE2b-256 07ee3d79be56a69b1cc3c65c8b71d862f4caf25833cab9a08d5a79dc645882a0

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 92b6a6033d45ab42e37653e30c3bf4bf28dac44d5df136748b336f683258d45e
MD5 3bd633ea30251f0c9531cdcbdc9c216e
BLAKE2b-256 0e13888a75eeaf487508ff86da60d1f2fd23bca6cb3b29295502ad9b576906b8

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 07b0400d66a768585bcc8679caa26ad0c287fc33c8a27157fb4c2e66cd37dff9
MD5 ffe2d8ceb18bab0633d66c3c1ba8a1aa
BLAKE2b-256 f1a0282b8e2587538177321ae22e331e22c1ca97e69a1cb0b6ba7635769f1030

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5544f24935cac53dd1efb4b565416864f44007141907e72d201d58f7c10f654c
MD5 355288a7e8b3b486b137709fa86c7982
BLAKE2b-256 3d5910f64592e2a16b547c7da6c953b3154db3004244875d15fb6822672e4b57

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 800afa0612024ec784e131093f61fda760e4a458451b836c4f7f9ad36b79ead0
MD5 2d355b446d15fe6596319e95853a2573
BLAKE2b-256 880eb559420ca46802c70332aa6b8f1f7d9a25fb7ca63740f302beaa03dc0cf6

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4fbfa6cb796ac392dc67d797095468f7fa6747dc47b01836c262a98a6848a58b
MD5 bd6cc0b9f8b1ac6dd7b245eabe7599e0
BLAKE2b-256 0cacec5f755bacf067d353b6ed5e433c527dde150e68cf44af537fe5a29bef3d

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e25339d9dd82d4a476ddc18010ee5701b2f20b07d8b71dcce591c6547111336f
MD5 f5a89313c676e9218e974826754888ce
BLAKE2b-256 5fe467c87d54cef42c91a7ef195a8599b97197816b644742eb8a23f1281b3304

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp38-none-win_amd64.whl.

File metadata

  • Download URL: granian-0.7.6-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for granian-0.7.6-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 74b054e774c303134fa261da42d7c616bb18f3b9ef9a5ad5356b1c35d9ba2ed5
MD5 085cafc09d46ce0eae33a4ddf50ceece
BLAKE2b-256 812a175df81f3dcb2f935308af6ceea1cd441292f2dcec062decc9e627281049

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c9e5866af7160f4a94ca1185b1ee2ac397111137b5feac2ba840946740d48f0a
MD5 b71f4350e551502a44ac73732144298b
BLAKE2b-256 4e2d3242bc9e661f4206f35972f7d8858917f520b20df02f30bf35f7be5ab0c6

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c5adf0085bff4cdba045d895b7e200f972d8d11f30528a26d144b4f9d92d7db2
MD5 38cecc45bbb5043b67f38203477f620e
BLAKE2b-256 f17fffb9ab7d875343711cd6c591a20c469a0213e1ca1177f05d7b355e6ff467

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03308c9401a808f3c17c17e16cdee55eac4125c2f9231608937ebc94a528c9e4
MD5 9e0a77073baec087129574626c30cdbc
BLAKE2b-256 8e81fe74ca040a7d19d9b7e5a649aa310b29d73fbf591ca37d9e4edb66699cc5

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9ff3bc2859927d31760d39ce10a481ee16c92e2618fce1c0858daed111ac0309
MD5 26d99180649d7c0c53fff3686180e504
BLAKE2b-256 1cf72fe97b98d73ca1207d50eeb3eddb126a85106624a0d1ac196c51b9928122

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6476040f2cac017c29657b63b749d2667c50d63d50233984f1281986729477a
MD5 3bc9eb668f6e559a69017b0f9b02b4a6
BLAKE2b-256 67a138027949d70aa10e3a3d451b3355b1fb8f60350b52039b8e7921dd80b3cc

See more details on using hashes here.

File details

Details for the file granian-0.7.6-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for granian-0.7.6-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6f8c4b5d5d98298157fcdd461af1b587703233f9582aeb97b3ec32431c402612
MD5 22d403c296f2cd61503a115e0ebc3acb
BLAKE2b-256 fc6843c5b763875b3c84e08d244b99076b2f315ac56f69ffe229b2fae4fa3600

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