Skip to main content

A Python app server based on envoy

Reason this release was yanked:

crash bug

Project description

pyvoy

License CI codecov PyPI version

pyvoy is a Python application server implemented in Envoy. It is based on Envoy dynamic modules, embedding a Python interpreter into a module that can be loaded by a stock Envoy binary.

Features

  • ASGI and WSGI applications
  • Worker threads for both, can be useful with free-threaded Python for ASGI
  • A complete, battle-tested HTTP stack - it's just Envoy
    • Includes full HTTP protocol support, with HTTP/2 trailers and HTTP/3
  • Any Envoy configuration features can be integrated as normal
    • It can be more performant to offload features like CORS or content encoding to Envoy
  • Auto-restart on file change and IDE debugging for development
  • Request and response backpressure integrated with Envoy's flow control

Limitations

  • Platforms limited to those supported by Envoy, which generally means glibc-based Linux on amd64/arm64, MacOS on arm64 and unofficial support for Windows on amd64
  • No support for multiple worker processes. It is recommended to scale up with a higher-level orchestrator instead and use a health endpoint wired to RSS for automatic restarts if needed
  • Certain non-compliant requests are prevented by Envoy itself
    • The full URL path, including query string, must be ASCII percent-encoded

Installation

pyvoy is published as a wheel that includes both the dynamic module and Envoy itself. You can use it in the same way as any other app server.

uv add pyvoy # or pip install

Running

pyvoy includes a CLI which supports standard options for HTTP servers. If just passing a module:attr name to point to an application, it will be served on plaintext on port 8000.

uv run pyvoy my.module:app

(if the application is named exactly app, :app can be omitted)

To see a full list of options:

uv run pyvoy -h

Docker

For production deployments to containers, we recommend running Envoy directly without the pyvoy CLI to avoid potential issues with subprocess spawning. The pyvoy CLI simply spawns Envoy with an appropriate YAML config and environment variables for loading the dynamic module. You can see the example Dockerfile for how to set up the config and environment for running Envoy directly.

Note that the pyvoy CLI with --print-envoy-config is run within the Dockerfile to easily set up the config. This is convenient for simple cases and should run well for normal deployments. But for experienced Envoy users that want to configure other aspects of Envoy, we also recommend managing the Envoy config in your codebase and adding it to the container - you can then tweak any and all Envoy parameters to meet your needs.

Development

We use poe for running development tasks. For a list of tasks, you can run

uv run poe -h

During development, the most common commands will be

uv run poe test # Run unit tests
uv run poe format # Apply possible formatting
uv run poe check # Run all checks. If this passes, CI should pass
uv run poe build # Only build pyvoy. Needed if running tests from IDE

Benchmarks

We have some preliminary benchmarks just to understand how the approach works specifically for HTTP/2. The main goal is to see if pyvoy runs in the same ballpark as other servers.

A single example from CI for a 10ms service with 10K response size shows:


Running benchmark for pyvoy with interface=asgi protocol=h2 sleep=10ms response_size=100

Requests      [total, rate, throughput]         13957, 2790.41, 2784.89
Duration      [total, attack, wait]             5.012s, 5.002s, 9.904ms
Latencies     [min, mean, 50, 90, 95, 99, max]  9.281ms, 10.715ms, 10.679ms, 11.392ms, 11.594ms, 11.944ms, 13.676ms
Bytes In      [total, mean]                     1395700, 100.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:13957
Error Set:


Running benchmark for granian with interface=asgi protocol=h2 sleep=10ms response_size=10000

Requests      [total, rate, throughput]         13753, 2750.32, 2744.50
Duration      [total, attack, wait]             5.011s, 5.001s, 10.595ms
Latencies     [min, mean, 50, 90, 95, 99, max]  9.272ms, 10.894ms, 10.839ms, 11.614ms, 11.891ms, 12.615ms, 16.173ms
Bytes In      [total, mean]                     137530000, 10000.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:13753
Error Set:

 Running benchmark for hypercorn with interface=asgi protocol=h2 sleep=10ms response_size=10000

Requests      [total, rate, throughput]         1003, 183.39, 177.51
Duration      [total, attack, wait]             5.481s, 5.469s, 11.985ms
Latencies     [min, mean, 50, 90, 95, 99, max]  10.283ms, 163.568ms, 13.266ms, 17.517ms, 18.66ms, 5.02s, 5.023s
Bytes In      [total, mean]                     9730000, 9700.90
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           97.01%
Status Codes  [code:count]                      0:30  200:973
Error Set:
Get "http://localhost:8000/controlled": http2: server sent GOAWAY and closed the connection; LastStreamID=2003, ErrCode=NO_ERROR, debug=""

We see that hypercorn seems to not perform well with HTTP/2, with errors and resulting poor performance numbers. We will focus comparisons on granian.

Performance seems to be mostly the same between pyvoy and granian within the range of noise for a fast but still useful in real-world service. Slower services will see even less of a difference.

We can try to isolate more performance of the app server itself with a less realistic service with no delay or response.

Running benchmark for pyvoy with interface=asgi protocol=h2 sleep=0ms response_size=0

Requests      [total, rate, throughput]         160777, 32154.15, 32152.39
Duration      [total, attack, wait]             5s, 5s, 272.72µs
Latencies     [min, mean, 50, 90, 95, 99, max]  160.187µs, 847.224µs, 815.162µs, 1.143ms, 1.287ms, 1.601ms, 2.736ms
Bytes In      [total, mean]                     0, 0.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:160777
Error Set:

Running benchmark for granian with interface=asgi protocol=h2 sleep=0ms response_size=0

Requests      [total, rate, throughput]         135538, 27108.58, 27105.86
Duration      [total, attack, wait]             5s, 5s, 501.885µs
Latencies     [min, mean, 50, 90, 95, 99, max]  160.356µs, 1.053ms, 1.042ms, 1.306ms, 1.418ms, 1.782ms, 4.128ms
Bytes In      [total, mean]                     0, 0.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:135538
Error Set:

pyvoy may be showing somewhat better performance. In this test, much time will be marshaling the HTTP protocol itself and we may be benefitting from Envoy's battle-hardened HTTP/2 stack.

More charts are available to see performance under various configurations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pyvoy-0.4.0-cp314-cp314t-win_amd64.whl (934.5 kB view details)

Uploaded CPython 3.14tWindows x86-64

pyvoy-0.4.0-cp314-cp314t-manylinux_2_31_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.31+ x86-64

pyvoy-0.4.0-cp314-cp314t-manylinux_2_31_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.31+ ARM64

pyvoy-0.4.0-cp314-cp314t-macosx_15_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.14tmacOS 15.0+ ARM64

pyvoy-0.4.0-cp314-cp314-win_amd64.whl (934.1 kB view details)

Uploaded CPython 3.14Windows x86-64

pyvoy-0.4.0-cp314-cp314-manylinux_2_31_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.31+ x86-64

pyvoy-0.4.0-cp314-cp314-manylinux_2_31_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.31+ ARM64

pyvoy-0.4.0-cp314-cp314-macosx_15_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

pyvoy-0.4.0-cp313-cp313-win_amd64.whl (895.3 kB view details)

Uploaded CPython 3.13Windows x86-64

pyvoy-0.4.0-cp313-cp313-manylinux_2_31_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ x86-64

pyvoy-0.4.0-cp313-cp313-manylinux_2_31_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.31+ ARM64

pyvoy-0.4.0-cp313-cp313-macosx_15_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

pyvoy-0.4.0-cp312-cp312-win_amd64.whl (895.6 kB view details)

Uploaded CPython 3.12Windows x86-64

pyvoy-0.4.0-cp312-cp312-manylinux_2_31_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

pyvoy-0.4.0-cp312-cp312-manylinux_2_31_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ ARM64

pyvoy-0.4.0-cp312-cp312-macosx_15_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

pyvoy-0.4.0-cp311-cp311-win_amd64.whl (901.8 kB view details)

Uploaded CPython 3.11Windows x86-64

pyvoy-0.4.0-cp311-cp311-manylinux_2_31_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

pyvoy-0.4.0-cp311-cp311-manylinux_2_31_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ ARM64

pyvoy-0.4.0-cp311-cp311-macosx_15_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

pyvoy-0.4.0-cp310-cp310-win_amd64.whl (902.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pyvoy-0.4.0-cp310-cp310-manylinux_2_31_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ x86-64

pyvoy-0.4.0-cp310-cp310-manylinux_2_31_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ ARM64

pyvoy-0.4.0-cp310-cp310-macosx_15_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file pyvoy-0.4.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: pyvoy-0.4.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 934.5 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvoy-0.4.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 af75433047f6f9d5bdc16c69423b283e5097fb7bac1220c3da8cc733c46f87c8
MD5 01acc8dfa96eac52d7e28594a61a0a54
BLAKE2b-256 e67dae475c2f60a94a3dc806061ce95fa91882d606790743f93c9ae0bebf1fb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp314-cp314t-win_amd64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp314-cp314t-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp314-cp314t-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 17efab77cc2e79791e7b8ceea417cbb4f2ce561d4d6b4d952d3a651244da9e08
MD5 7ca0ec155e2612cb3a5e995ef6efe606
BLAKE2b-256 6fdd73205b18b6e372c7066681b683df1b91b12c83d5ad71fd0cdbd4240e7639

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp314-cp314t-manylinux_2_31_x86_64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp314-cp314t-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp314-cp314t-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 c009775c21c1a892cdadd0c19f9ee33687a9d86522633fe8251b45387f538bf8
MD5 83c4777341e2012d593ba0425aeffa29
BLAKE2b-256 f5ae6ebbc2ae29a8aeb0525b73f56345520e5f6a6f87143db4f045f777239888

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp314-cp314t-manylinux_2_31_aarch64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp314-cp314t-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp314-cp314t-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 dd859b2c12299b708f2f52ea2897299ea6d92471def95a0c926096fcb8dbd1e4
MD5 f77466745b91f661c7e0adbacbec23d5
BLAKE2b-256 640e4602b71398f1a82f66bc40513755dcc15c9cd81920db7af0d48aa4b346db

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp314-cp314t-macosx_15_0_arm64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyvoy-0.4.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 934.1 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvoy-0.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ba247dfa1df9eba7b409f789b1d3c2c47edb30607d08ecaec92843bbfd449694
MD5 62858a67d9b5e562426fe816baa02b75
BLAKE2b-256 9840515d88ccc37f88750e6f313e1bf89633c1bad350135b025b5158ef4fd483

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp314-cp314-win_amd64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp314-cp314-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp314-cp314-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 77df35e7a59dc5b8cb182c4b0df140ceed624f9cc8f841356428ffd854952030
MD5 5210841d3a7fdc0922e4dff34a7d8126
BLAKE2b-256 593c9216b338ba6be308da28154d1d7e407bdf4a503132a4f3ad101a20dfbf42

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp314-cp314-manylinux_2_31_x86_64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp314-cp314-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp314-cp314-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 a5a31b0cd2197843efb0fa306007b970772c3eaa8866b0907e6f51cbfd6d3c2b
MD5 24d1603ee8a542e080c033b9f76b18c8
BLAKE2b-256 54f27b16d83e9a4547888537505297cd386bd0e2946fedf9c0a9d3606907a767

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp314-cp314-manylinux_2_31_aarch64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 fc2e34f603f8aab502254da1e47a04b5be36cbb440b3fe08db765618f835e24e
MD5 c695b8ee36eaaf294903415f6bc2f548
BLAKE2b-256 b9c13707a2ea9024b9927c91ac9af60ea4f8afa078a932bbab30f6e6cfd33f52

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp314-cp314-macosx_15_0_arm64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyvoy-0.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 895.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvoy-0.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6fa8fd8ee3f44eefd85a475debccb91ff894e2fba92686097ba997678b4f7e83
MD5 15b0ec09ebd3615cf68368c80def70ba
BLAKE2b-256 02eae7ca225ce7874f2c20ab2c2993dd2c98e53fe43f8aa984b8e1ef031bf9ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp313-cp313-win_amd64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp313-cp313-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp313-cp313-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 61c21fed06ced9b3fe28442903086362d23b1bcb67b021839b9d8181ae25b199
MD5 7b19d4f707f513df33849da9091ce97e
BLAKE2b-256 9a10c734af23fd1f3aa451ef4cf4536b9573093149fd9e8e6b5e3e520a4e001e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp313-cp313-manylinux_2_31_x86_64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp313-cp313-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp313-cp313-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 0f310d62756b5deb233521428954efd33d6cb7759c74d1ef416846d224f4d037
MD5 0ed0c1696023643471416ec9b886b6cc
BLAKE2b-256 394be77bb9e0aebba8ac10a89e25fe07bc753e19b1f123b2a41345b3f9744171

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp313-cp313-manylinux_2_31_aarch64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 c57f42eacdecef709036eaccd551f49a12a02a674e1dbc633d337b0c30ae1c62
MD5 4c7647d7fe88a8e81e64e1517217d308
BLAKE2b-256 f1c6cb9cbd47eca285cfab601009525dcc20bf6b3df583ccb9adb44992491dba

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyvoy-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 895.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvoy-0.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c3e09f858a405073c387825c3bd5badd525ac35b68db1930c4bdb7f9cdf9348e
MD5 4fbbc369abc3d290b3895a356ad5139d
BLAKE2b-256 e15a215e4ae69fed1d8df208618f82e7fb2e1288fa98421bf7b948fd1d627c80

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp312-cp312-win_amd64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 b79aaba8f36215e6c5e925b802dcbd3b06896d3022b0304f95cb5827da8b6b8c
MD5 09bbc8534f54d554f32285cdd6177dda
BLAKE2b-256 5875a93af251546f41f0d4d0ef404370f77f61206bd2e9701162763eff81363b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp312-cp312-manylinux_2_31_x86_64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp312-cp312-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp312-cp312-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 781c42b9dfcf1da5bcf4f48725ec2214c9a35978e127ae3601ac566843bddeb3
MD5 4e59c0cc2c47e637c2256b689602f5b0
BLAKE2b-256 3c7ae7670eeb6011e4517bcc9ac06012b58bb07741530011534a6bde2f29d63a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp312-cp312-manylinux_2_31_aarch64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 35b97a236e2754f233b468e109978b740cb59300fb575990a9e99309127afbbb
MD5 0c09f793784235e55d6ab5e78767eb4a
BLAKE2b-256 744c18ab0cf9e8995b1018c2c4ee96d862ef0f5302e172df3876eec0d1a48ee7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyvoy-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 901.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvoy-0.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 86d4f1fe9f7db196e20bcb588bb1b82c4d4ac6eafbdfcb2663089246ff2d4b08
MD5 5f99e53c20adcbd3fe0e09df60e0f6a8
BLAKE2b-256 50241fa5f58559553b1a83831de3f0e0fef03a66bde5e60ac1a8fdd4493480be

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp311-cp311-win_amd64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 540e7cb023882370135302dca6c9fecc7ee3557ab81a3b8dcded51b7341361bf
MD5 4d0442387948a6ff0eb3056146a87637
BLAKE2b-256 2200847d257f4bf52d1aa0a017130b0a47911e3795f513630b7a1adc6fe5b13c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp311-cp311-manylinux_2_31_x86_64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp311-cp311-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp311-cp311-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 1625cea5e55d5862b6319eb3eb6b642a3e684187db996b72c3d9b783f08d95cd
MD5 bbb5fa7e123371c63204815d14c54784
BLAKE2b-256 c6123caf9831c353899bf2becc458920b60871ac3d2997beb02c4f9fa5143db4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp311-cp311-manylinux_2_31_aarch64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9549039b81fa0edfcbb60316b787eb18f575271f8f0c4121112da14734152be3
MD5 3d1376b72e461cea44de727bb4d60c06
BLAKE2b-256 86c206a2826265c0056c2ca4e201e09a8e26b4cbcc63f03811b268eb9cd04afe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp311-cp311-macosx_15_0_arm64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyvoy-0.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 902.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pyvoy-0.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 faba24cb6798b5ef63ca5b0ad19873612eda3085de86e9188542228143e14a5c
MD5 6232b127d9e86dfb152f6abe011f06dd
BLAKE2b-256 2bfdb9f1350cd8605e6ef2d15c7c17be373c1dc0f7be69825d0bacbdf70eb03c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp310-cp310-win_amd64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp310-cp310-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 b77348234800eb19acf67464f92fb0fab738f9d3ab76bc013e4e532bb7929b91
MD5 e8b1e2af49123d70c3d33ea3b4e00099
BLAKE2b-256 d361147b5f403bea8e4ed8f4a8f0ab86c2329b11d057c93590bd300fb0c3ac19

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp310-cp310-manylinux_2_31_x86_64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp310-cp310-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp310-cp310-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 8a592394a8d6e84b97e6c9c64a18d8f999b3f66a680f27102bccb0e65cfd1c76
MD5 83a384488244e2fc0a22297f2df53ded
BLAKE2b-256 5f14a30c2c9bf69b9e9b254be44b8d55c7e2699ea079de5735fba1778fd48aef

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp310-cp310-manylinux_2_31_aarch64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyvoy-0.4.0-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvoy-0.4.0-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 438a4da6556454993844ea15c041a8e5c30aee693367d91dc454a1ef959abb1e
MD5 53cdd1dd54e144865bbd9fb2c0145081
BLAKE2b-256 31de2964771358ad5ccff692fb3c52679eaa728f20ad193f2c0e1c588cce99b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvoy-0.4.0-cp310-cp310-macosx_15_0_arm64.whl:

Publisher: release.yaml on curioswitch/pyvoy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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