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

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|asginl|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]
  --blocking-threads INTEGER RANGE
                                  Number of blocking threads  [env var:
                                  GRANIAN_BLOCKING_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]
  --http1-buffer-size INTEGER RANGE
                                  Set the maximum buffer size for HTTP/1
                                  connections  [env var:
                                  GRANIAN_HTTP1_BUFFER_SIZE; default: 417792;
                                  x>=8192]
  --http1-keep-alive / --no-http1-keep-alive
                                  Enables or disables HTTP/1 keep-alive  [env
                                  var: GRANIAN_HTTP1_KEEP_ALIVE; default:
                                  (enabled)]
  --http1-pipeline-flush / --no-http1-pipeline-flush
                                  Aggregates HTTP/1 flushes to better support
                                  pipelined responses (experimental)  [env
                                  var: GRANIAN_HTTP1_PIPELINE_FLUSH; default:
                                  (disabled)]
  --http2-adaptive-window / --no-http2-adaptive-window
                                  Sets whether to use an adaptive flow control
                                  for HTTP2  [env var:
                                  GRANIAN_HTTP2_ADAPTIVE_WINDOW; default:
                                  (disabled)]
  --http2-initial-connection-window-size INTEGER
                                  Sets the max connection-level flow control
                                  for HTTP2  [env var: GRANIAN_HTTP2_INITIAL_C
                                  ONNECTION_WINDOW_SIZE; default: 1048576]
  --http2-initial-stream-window-size INTEGER
                                  Sets the `SETTINGS_INITIAL_WINDOW_SIZE`
                                  option for HTTP2 stream-level flow control
                                  [env var:
                                  GRANIAN_HTTP2_INITIAL_STREAM_WINDOW_SIZE;
                                  default: 1048576]
  --http2-keep-alive-interval INTEGER
                                  Sets an interval for HTTP2 Ping frames
                                  should be sent to keep a connection alive
                                  [env var: GRANIAN_HTTP2_KEEP_ALIVE_INTERVAL;
                                  default: (disabled)]
  --http2-keep-alive-timeout INTEGER
                                  Sets a timeout for receiving an
                                  acknowledgement of the HTTP2 keep-alive ping
                                  [env var: GRANIAN_HTTP2_KEEP_ALIVE_TIMEOUT;
                                  default: 20]
  --http2-max-concurrent-streams INTEGER
                                  Sets the SETTINGS_MAX_CONCURRENT_STREAMS
                                  option for HTTP2 connections  [env var:
                                  GRANIAN_HTTP2_MAX_CONCURRENT_STREAMS;
                                  default: 200]
  --http2-max-frame-size INTEGER  Sets the maximum frame size to use for HTTP2
                                  [env var: GRANIAN_HTTP2_MAX_FRAME_SIZE;
                                  default: 16384]
  --http2-max-headers-size INTEGER
                                  Sets the max size of received header frames
                                  [env var: GRANIAN_HTTP2_MAX_HEADERS_SIZE;
                                  default: 16777216]
  --http2-max-send-buffer-size INTEGER
                                  Set the maximum write buffer size for each
                                  HTTP/2 stream  [env var:
                                  GRANIAN_HTTP2_MAX_SEND_BUFFER_SIZE; default:
                                  409600]
  --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]
  --respawn-failed-workers / --no-respawn-failed-workers
                                  Enable workers respawn on unexpected exit
                                  [env var: GRANIAN_RESPAWN_FAILED_WORKERS;
                                  default: (disabled)]
  --reload / --no-reload          Enable auto reload on application's files
                                  changes (requires granian[reload] extra)
                                  [env var: GRANIAN_RELOAD; default:
                                  (disabled)]
  --process-name TEXT             Set a custom name for processes (requires
                                  granian[pname] extra)  [env var:
                                  GRANIAN_PROCESS_NAME]
  --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 whether 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-1.2.3.tar.gz (67.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-1.2.3-pp310-pypy310_pp73-win_amd64.whl (2.7 MB view details)

Uploaded PyPyWindows x86-64

granian-1.2.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

granian-1.2.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl (3.0 MB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

granian-1.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

granian-1.2.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

granian-1.2.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

granian-1.2.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (2.9 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

granian-1.2.3-pp39-pypy39_pp73-win_amd64.whl (2.7 MB view details)

Uploaded PyPyWindows x86-64

granian-1.2.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

granian-1.2.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl (3.0 MB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

granian-1.2.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

granian-1.2.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

granian-1.2.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

granian-1.2.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (2.9 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

granian-1.2.3-pp38-pypy38_pp73-win_amd64.whl (2.7 MB view details)

Uploaded PyPyWindows x86-64

granian-1.2.3-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

granian-1.2.3-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl (3.0 MB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

granian-1.2.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

granian-1.2.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

granian-1.2.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

granian-1.2.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (2.9 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

granian-1.2.3-cp312-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86-64

granian-1.2.3-cp312-cp312-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

granian-1.2.3-cp312-cp312-musllinux_1_1_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ ARM64

granian-1.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

granian-1.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

granian-1.2.3-cp312-cp312-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

granian-1.2.3-cp312-cp312-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

granian-1.2.3-cp311-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

granian-1.2.3-cp311-cp311-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

granian-1.2.3-cp311-cp311-musllinux_1_1_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

granian-1.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

granian-1.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

granian-1.2.3-cp311-cp311-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

granian-1.2.3-cp311-cp311-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

granian-1.2.3-cp310-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.10Windows x86-64

granian-1.2.3-cp310-cp310-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

granian-1.2.3-cp310-cp310-musllinux_1_1_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

granian-1.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

granian-1.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

granian-1.2.3-cp310-cp310-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

granian-1.2.3-cp310-cp310-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

granian-1.2.3-cp39-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.9Windows x86-64

granian-1.2.3-cp39-cp39-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

granian-1.2.3-cp39-cp39-musllinux_1_1_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

granian-1.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

granian-1.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

granian-1.2.3-cp39-cp39-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

granian-1.2.3-cp39-cp39-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

granian-1.2.3-cp38-none-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.8Windows x86-64

granian-1.2.3-cp38-cp38-musllinux_1_1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

granian-1.2.3-cp38-cp38-musllinux_1_1_aarch64.whl (3.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

granian-1.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

granian-1.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

granian-1.2.3-cp38-cp38-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

granian-1.2.3-cp38-cp38-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: granian-1.2.3.tar.gz
  • Upload date:
  • Size: 67.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for granian-1.2.3.tar.gz
Algorithm Hash digest
SHA256 bbc30c7874cd707ac88e8a4a2282f784a0bdd2ccaa71a3783f1ae1a75fdf19b1
MD5 61a7d8baa0ada2acf1efc440384fdf50
BLAKE2b-256 409e1bfdf3063f4c137e4da7bffb5880f872ee4320790bac2502254720ccd28f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 7808664729c4dbe92bb9b97a616822c8e5e495de82d2600aa5643566b859ac2a
MD5 8e4dd1b40f373201f4d4b0d0b29a32b0
BLAKE2b-256 645a1d3479fb65918608d1a45586fb5d54c5c650c4c3390606b7258d95dbae61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d27a7039e19b8b18ce21fa41cfd04ac4ef915bb69e7fd8b00ce6536d47eace35
MD5 eca97d7d210187e8314bdf93b305cb8f
BLAKE2b-256 f27edc4e8d263343512d24f20d52926e714b340d57b4384c5d54aba4fa07b72f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 e074cce216abaf7847ee909610cd9194bf9c536a1fc0ed205c1c0068a6f5c1d8
MD5 e316de24496ef140490b7bb0b231560d
BLAKE2b-256 4a53b6a7006fd73a0b16dc8fbf0093e634b898e11181449c609d6c410226ce47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea2b9d541a1164291d1747384644557e6375cb99932851a3450769f28a50eed3
MD5 feee3a7b3a14a6c895f9b1e3a6c85a35
BLAKE2b-256 61452ac11cb48296f9f5de3056a5e01ea3b077c0fdf7e9fe360574acd6339fca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4a7fc7a725c2ae4074180fd36bf0613fee527b91a0aa5d976bc24ef498c5e5f0
MD5 f0280a05fa31049734ac267794489916
BLAKE2b-256 3881f135189499c4bb111d1ddbae9971b000d934a3c79ba63095e06c3bc7d2c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5405ccd1e82c008fb8549500ee733f8d705bdd8f95c2623a8205e865d3dcff2
MD5 6430107868fccf190f127e98be26a6e8
BLAKE2b-256 830c95af928defbff976c3454ebbf5921d7b2ec9fda1a42b1a8e237bae38f341

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d3f900c3616985863b988125948ea243309042fb8ae746a4bbd1c909fd73a737
MD5 37c0d52a3d6a0171f6049a2d8ccdcfab
BLAKE2b-256 f92d8934bac5d79ccb896aabd5437a45e7cd35d2b894dc1a5b8ca8cdd541ff46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d28de1c0cc317c5c9cc633da5a89cedbbb895efc5af632f023686a15dae106c5
MD5 efd4e447b3aeea811a9fa085fbf37da1
BLAKE2b-256 46fcd62c368a040d65281d6d83ca131693661bb83686849c5d1ebfb0919aef72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6fdb5c22a404f0cc09f5e787b01ee9d6f4840e90602207a9a3fcb6074b25b0ff
MD5 ef6cfeb7e4f2a218924f33dec14842d2
BLAKE2b-256 9c6348033ddbd43cb2404c41c86cc4135c08f49ce49d69531b646dffb39fb8ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 dda1cfb983f8caeedcf25d8fa848f6179e6bd4344c926e384f77f2d38016fbfe
MD5 a78a27b5c2ab64349beed75988567d28
BLAKE2b-256 df640a3de852a1350485009ae53b948aaab9ed03e5f5d8f64a4b6a6dd2d4f73a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d559cee2696db8f2492fc360ad1f9da024ec0933647d9c67a487c71d0dc5d477
MD5 19d530bf156f220b9ea006c0dc9585b1
BLAKE2b-256 1c9554b17a5db0828503e6fafd46e465a5033ab300f2199a144de96dbb6edc9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e8027d341c348dd6b7960de6d0936cc42271fc2a9171d6d83425e12265421cd6
MD5 5a68d9db61056c7cf9ce901345d5ec7d
BLAKE2b-256 47e8d367ea263a33fb5aefae3d9ac86527b1f56e02f493f3816bb6afb8aec0f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11bb7f4d730b79f536e3a5cce27d31ca7c2d5369a527539e89c0ba4ce1487aca
MD5 3c6b44cb61db5f8acf294d05be47ea99
BLAKE2b-256 0e29a93956006842e3bd813585001a9ea860a8cf3e4fc07e882369c2be77bb53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ed68616b5d23bd46987d5b27e4b726762d3267972d237c3d970aa9d8bef19bc3
MD5 49284afe445469215d76a91e95c5fee7
BLAKE2b-256 654041d029ed6b623a9a30b76776aeb6c24626f1814cd032df766fd29340da67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 5537280c85f701ab5a0a8d07d31f90b10ad5372ed6691db2f5abe10e2ea158ac
MD5 38bf24da92417f0b8db67b8328575b41
BLAKE2b-256 e09163b1ee985fe30a9ef51ddad5952d3330101f9d4ab664c06db8b0cc48b25c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0077827d7cb620a8347db2c3abb9ecfbf69d67aa80ed6529a8eb17d5d9055621
MD5 8d98f1aea2d69c7d4b7817dee8385646
BLAKE2b-256 644e7ca5eaf6c5fa37acf0d29ed010a0086b0e6b8115e74787245a7e237676a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 dfe29e30530e890a9938dc3a125bf5e45086749b77ff8e999e744bb85a78e9eb
MD5 5bd226d83b8717a49e5540e70ff348c2
BLAKE2b-256 29bc3ca71ba4113381215f0634a2f4ba88ed27b851d11084cd609fa380ac837e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 719a622000677048fc9bb0795c967f9b33e63c4d08f71199f09810fedcdecb5b
MD5 ddc00ebbd270d24eecb23faa858957d0
BLAKE2b-256 d2951866341b4b5ea51077fefe2ea853b089c3bea0cf5fc9bd0aec2043184e64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 16ad4f8568ef4dc64f4e4fb1f9539125777455eb44477471c790c57f921fadd5
MD5 bc884d99f5ab0ea2eabd0f2606560239
BLAKE2b-256 fa884bce283f6866fa70f4c4bfbcb25dda92328389fec6376e0d209af7630fa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6cc543f7dbd0f969676c71fa12aaec6d4557a0792b9efd565b8dc075eb8a2f93
MD5 b1aa2f84cdbc02fb669b3ab52bdd4e29
BLAKE2b-256 964ca551b45d4a6761a394da9aa7ae2bcf0baefdd254e692df5a4c81b70342a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0142793b9a2b3ef64c55e8a3af5402f7ab90745ffff12bf0675a4b726f7944d3
MD5 12e70d9b3150ff8c258c2d9339a3a4b8
BLAKE2b-256 fd15831c214f22f6ff4b25d9b932620a140801f8e01a1e56ffa40e535535d9d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: granian-1.2.3-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for granian-1.2.3-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 02e718f9e7ab225436c15a816b78a9517dd0873fcc1e46d064aa78a542eb5c84
MD5 7fe49a24042c08d8a79ac5a0d67670a0
BLAKE2b-256 8ab144e865e4756e9c5412efb5ef0835e48d3961e1926717f51eed43f686e066

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 086d66f9180b6b19c5f7e131bb2b927fc669511b71a8ec083b7466b5d7cb8893
MD5 fae5917978a712a9c1c1d43edf116c9e
BLAKE2b-256 35c3089ed8b1b4cf4e7a5f5d6b2791707c5284311c6de98dbbf05fc83ac83aa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4f7fade5bac3c5ae92f3a507c35eade78818e1b00c5cfea50401ad4023d299a3
MD5 7193b9e4380b46841c805aa9efd04d01
BLAKE2b-256 c5d31e965fffccb637c15f7d49bb92417054f1ba55ab16ef09ed73ea699f148a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d36dd4ee113858d0dd531b13b8cc758cd772b4a1d29472bc0a9d0941176dfa06
MD5 924c78e24ba6421ccc99d75d5ef48ead
BLAKE2b-256 ea44cb2a6d1cba5b7901ab1dbdc734d3390bdab5468df380f312b6b54587f806

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 084497b2a9fc5c3c1893854ef7d06ff08436cb8c84ad406827bbee365a29ba20
MD5 80291c3b0d64a3e1f3bd65b987cc78ff
BLAKE2b-256 99b2c94a42f8a6ec176dcb1e5510db5a67874910a0e3a095f040106a81b7f4b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 51ed4e8e7b51d62edf16e3e7881f1bcba7b43074a5eed4724981ab471598d9f0
MD5 0ec9fb1961883b6ddb0645a40bc1a94d
BLAKE2b-256 7386d249e0f063a77df498a39b0653d835e9fbb778345957adcf03bd75baca19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2cf41f72b6e3a3725053a0158992d47708c8ab1289315913ac419dcad1299e1c
MD5 4b3f9743d2964c2899e0c7d11cd9a7b3
BLAKE2b-256 a802437e8033cd1cabf3ae13142afb18417a61eda30f1c899497fe2555e7ad2f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: granian-1.2.3-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for granian-1.2.3-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 ad0273e3ce5f8e63490064d92592fb800a606f332a38854bdf4d57f2c56497dd
MD5 5c880b867dee77a05ed6589ab739fa4c
BLAKE2b-256 de095c9660af3eb0d19d6b938332374a8b19ebee1f7f77aa922a3dcd4b777c65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 912e8d411f11be0f34f8d0fea861624acbcc3a633e7460522074565d60343598
MD5 6993e4221ffb9a2aa7ec44f4fe8ce282
BLAKE2b-256 b15c0d8d6d10c802dbbfe54bb1db6d8686f7536ecff46c3adb6d405837e5ff46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f5eedd857827cbc480e9c503231e623e3105d7d75b68e929897efb1fa98122a9
MD5 3f746c7adf48f159562c9dba70c5f788
BLAKE2b-256 214b6425226a0958c67d1e5380b24e7504714e5cffb368512d631c221b13697b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21ce487f4db3c51b271ba9eec4d413db1d89346a9c693a86a6cbcf87770fdbe0
MD5 b745780f42bcc7177204b45a23663326
BLAKE2b-256 6b48024e8657542a5088c22476dbc60860728f5a5bd490d891335ecd700dcdcc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91ea7b762f25b56d3fe08ccedf727c5575f0a2aeee66d746f8d16c897324ea53
MD5 0f9770ea70076cf2c3fbc7b9480116b6
BLAKE2b-256 33c0f834bb10bd38fc96abc9892d072da8222b4132695bfed62de26779ae4220

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ac2a49c206871144a98f3765985d510c6b98f794d92f82866b76efeae26a7c8
MD5 e8bf0c33ed6a26a2e4204ae52344dba2
BLAKE2b-256 99bc9909e45c4f9ecd3785f12727e7e2d9de5303ee1992b8adbb785034ce905d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 811c0f89c48899cf804636cd6a4c528e2f8424436e4918354c8d3dc76ab8586a
MD5 57766bb2608df87ec9f0ab6ed91aa599
BLAKE2b-256 f102fc76f2bcdd8ea5426d75244ef8fafde967afe9f69eae394bdfd80f0cae91

See more details on using hashes here.

File details

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

File metadata

  • Download URL: granian-1.2.3-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for granian-1.2.3-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 4459c3539d41bfa631fa842d17aff540a9e8b481290bbccd420a2e960b0a019b
MD5 2414f914a81d6aaff60fb938a6921bca
BLAKE2b-256 b786f2a5c58c28f3cd76d8d1c39783505200efac10ca6f45d424d844b350b357

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 478a39f8758c1c76c131abcbbad74c3ff97b1df901301e185efbf947f5876efd
MD5 f2083612477dd9082d86457b3c1bf297
BLAKE2b-256 726fd6e5d8eb77a3f5cdccf3197fe3812fa97a3bda53e5f014f127adbf7e87c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ab53bda601d197854a05aa2f39e769f0f79b45b7790828e8387e504b6173b3a5
MD5 190379977fbfe5ee1678cfc90d84c690
BLAKE2b-256 97fd5085270fbd771b3e38f034319dfec45bbcf6ff077f2d2774c115e6570493

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5fd6cc2a3b52a9b1aa108bb780b352751587b8540931b632e7af2f56e42fcc6
MD5 7a0762ebe224d928633d06d7c66df9a3
BLAKE2b-256 13e93abc5a9576df6252541e0bea4bdde7422be4c6b62b822e48b2165865577e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 65a5ee3de9be7fec9010ea2380c8a11d033f3bca658557faec61342b5a4540bd
MD5 e7ea59fe2b278f1afa3bfcf79393a295
BLAKE2b-256 e38249bb1dadcddb1fa8192b83a8cdd5b1d05060e030581580f5777b4c67d2a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc7fe81582530ed437dea89b894df58d3b17456540db50b4d252d2c7d515ed26
MD5 865cc7ebcf8751d1e794bacdc3e4f851
BLAKE2b-256 39a6cdc84c3927e3d460af1cc92e6f8c8e5258ccdd8caa6d1eee40b4bc1a1409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 799e36b0e1a22e80d8fe6870eef99e57e9225ea0aac8238e2768cfb5adb7a505
MD5 ad8d0e132e998ed7e5f621c962954ba6
BLAKE2b-256 2632c7e7ffe43551e40ab0e348a51b8ed6908e52e9e5ca0e4788522a35681c7a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: granian-1.2.3-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for granian-1.2.3-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 da35eaa449ee30c3ca66bbc0655843e66e3e2d902054edffd8f1d0754c346e7f
MD5 fd622c21dc7efdaed5fc69a780a7c49a
BLAKE2b-256 34c22abb3fea59c11623f7fccd9eec627db0da8225d563dce2487f20121d465e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 63ae455d5e221a651fcdff9a71571857d64366fde8bd71e5cb7fb0e61e680002
MD5 991cf1a3622ec1efa6473502b047b77a
BLAKE2b-256 684e6800b79ab12d9a7b38248532797aeef7f2102e8a74c971aceea2c7f23d31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 16f73c9c7e41e3e5d5435c224e05cf339feee37647c8df801909637fa9682ced
MD5 1d585a5e6b5a48ba115e51f78e480420
BLAKE2b-256 7745f97b2721c176c39daf9d26b031114cf38430dbc074fac6f9d4ab7fad4bd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b9c4915807cfeed7267e767fdcc4922a2250faa6b0d8cbdda3510d6814a5c36
MD5 691c5e65bdf33cb3d2f3d66f26f6fe63
BLAKE2b-256 a88b06b88003e8f5c4c98107ec446943ca4fea57ede594b0e7c7fa36f063fda5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b3bc78f88deb5657a0c4ce45f37a9c5729ee192af8d8c235240484af5dbf2d2d
MD5 2b17340f4a3849b5ac7fc4375359d439
BLAKE2b-256 2456af1819c8c3df01f6b7df92bc1816c114100d4512f2e7ad84e4c6898ac00a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e6d9ced4e541ae09a86a2e8a4e1f15d9390de9df482be7dd37f06bc32a5eaf17
MD5 0d864cde66f649ed3ab8a67eb1054f8c
BLAKE2b-256 132c62c2257dab1dcc399661bce93636d45b0961a3120224a96d2db26719a12a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e00a9c5540c7f646c50653cb447524f068bfb0802098f5c20807f5624f672d75
MD5 5761c60cc4102a8a0a9eeed241f61358
BLAKE2b-256 8f4898815be2745c1ca7b097c8b3670cc51938fc9395eb9139fa521cedd44ee5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: granian-1.2.3-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.14

File hashes

Hashes for granian-1.2.3-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 b940c02b12c4bc398aec77b010bcf67faae5ea40e7f2b2e31a9952ad205b4bf5
MD5 04cd75d2ab2d03458062024801b0031f
BLAKE2b-256 c67df8034e9d400846d901207251a1e1b12bf86cf859f156d902ccfe14e357a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b76335657c888e2666da9ecb07cb580b22eb7536ca503f582b0892e05edb5523
MD5 a3040f9a7abbc7871ff1e1c4e6f51b63
BLAKE2b-256 261a1325e281eddedc483da440c7b9f1bc0139aec13695ec47e0ffe9110bf8a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ccddc876086d0e87b2d7600126f3697913a4ffd8d05479f321a17d7d71718ce3
MD5 d6c8d69982f1c7b148e2e25a2a7f4481
BLAKE2b-256 3947229d01fbc93c611d061bb30838408c80c6a2e7d10ca8b1010250aa04317c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22e3136c52bed36d6c3a3fac6c02030895170493b75532bdfbcd406bdfe8e9a4
MD5 85124301a4ea85ffe738d3bbbd8a0bf1
BLAKE2b-256 03aa0a3c2267f4fde088233ec55726dff42505d05a1782b5648e90798f8eca8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7d48957027c592cc2f8438559cb439fe3bca2b881563d957f7a2cbf2e59d640b
MD5 a9b0cfab99844a6b4b7cadd1c58dd649
BLAKE2b-256 4f8f419d0ba83e734f45c64518296e3cd92b0323f66e1e0d69e7f9a83884a24d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04b6dcd546c9e022d6c58bc8c051564dc51e409a57f6943231439d055fa7e7f5
MD5 cb4dbf45150fee848df8ef4cb006c262
BLAKE2b-256 49c97c144b5d3fc13b0022df45232a910f01a7cb68481d77244807cdd93bce11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for granian-1.2.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 13abe1a1f5d58f6963c93fa98b2fc6279aa272d397980b0d6674a9a3617c617b
MD5 e3c1031e531fd87df37db50444ffd07a
BLAKE2b-256 79c73d53221f501710d97195768c0d18e78ff85120b18b02713ede2a05369440

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