Skip to main content

Background TCP proxy for async IO

Project description

Build, Test & Publush

libasyncproxy

Introduction

The libasyncproxy is a fairy simple C library and a respective python wrapper, which allows splicing two sockets, pipes and in general file descriptors to relay bidirectional data in/out in a background using a worker thread (one per connection at the moment).

Unlike system-wide facilities that might be offering similar functionality, this library provides more control and flexibility. Allowing to connect different kinds of underlying objects (i.e. plain file to a socket, device to a pipe etc).

It also privides mechanism for the python code to supply a handler(s) to monitor, record and/or alter the data being transmitted.

Last but not least, the C library can be used directly from a low-level code for the same effect.

History

The code was created to allow Python code implementing application-layer proxy to manage session routing and connection, while handling all transfers outside of confinments of the slow Python and its GIL.

Interfaces

AsyncProxy: the lowest-level interface, dealing with raw sockets, wrapper for libasyncproxy.

ForwarderFast: super-set of AsyncProxy with some utility methods.

TCPProxy: set of high-level classes to accept and manage inbound connections and initiate/tear-down outbound as needed, connecting them using forwarders once established.

TCPProxyActive: a high-level active TCP forwarder. Instead of listening for inbound TCP clients, it creates a non-blocking outbound connection to destaddr and forwards that connection to newhost:newport.

Python Callbacks

AsyncProxy, AsyncProxy2FD, ForwarderFast, TCPProxy, and TCPProxyActive can be subclassed to provide callback methods. The native module discovers these methods when start() is called.

All callbacks run in the proxy worker thread context. Callback code that reads or writes data shared with other threads must use appropriate locking or other synchronization.

in2out(res_p) is called for bytes flowing from the source side to the sink side. out2in(res_p) is called for bytes flowing from the sink side to the source side. res_p.contents is a transform result with buf and len. Callbacks may rewrite bytes in place and update len.

on_connect(res_p, max_len) is called after the proxy's sink-side connection is established. Bytes written to res_p.contents are queued toward the sink. This is useful for protocols that need to send an initial client greeting or handshake to the remote endpoint.

on_source_connect(res_p, max_len) is called after the source side is connected. For TCPProxyActive, this means the non-blocking connection to destaddr has completed. Bytes written to res_p.contents are queued toward the source. This is useful when the active peer should receive an initial banner or handshake from the proxy.

disc_cb() is called when the native proxy worker exits.

Callbacks may also be registered explicitly with set_i2o(), set_o2i(), set_on_connect(), set_on_source_connect(), and set_on_disconnect().

Callbacks that receive max_len must not write more than max_len bytes to the provided buffer.

At the C API layer, connection callbacks use a single asyncproxy_set_on_connect() registration. Set cb_info.connected_flags to the bitmask of events the callback should receive: ASYNCPROXY_CONNECTED_SOURCE, ASYNCPROXY_CONNECTED_SINK, or ASYNCPROXY_CONNECTED_BOTH. The callback receives the event-side bit in args->connected_flags; ASYNCPROXY_CONNECTED_BOTH is additionally set when both endpoints are connected.

Use Cases

We use this library to allow applications to be redirected to one of several available DB replicas and re-routed instantly if the configuration changes.

Install Python module from PyPy:

pip install asyncproxy

Build and Install Python module from source code:

git clone https://github.com/sippy/libasyncproxy.git
pip install libasyncproxy/

Usage

asyncproxy -- AsyncProxy2FD Example

This example shows how to set up a bidirectional relay between two socket pairs using AsyncProxy2FD. Data sent on one end is forwarded to the other, and vice versa.

import socket
from asyncproxy.AsyncProxy import AsyncProxy2FD

# 1. Create two socket pairs:
#    - (client_socket, proxy_in): client writes to `proxy_in`
#    - (proxy_out, server_socket): proxy writes to `proxy_out`, server reads
client_socket, proxy_in     = socket.socketpair()
proxy_out,    server_socket = socket.socketpair()

# 2. Initialize and start the proxy:
proxy = AsyncProxy2FD(proxy_in.fileno(), proxy_out.fileno())
proxy.start()

# 3. Send from client → server:
client_msg = b"Hello from Client!"
client_socket.sendall(client_msg)
print("Client sent:", client_msg.decode())

server_recv = server_socket.recv(1024)
print("Server received:", server_recv.decode())

# 4. Send from server → client:
server_msg = b"Hello from Server!"
server_socket.sendall(server_msg)
print("Server sent:", server_msg.decode())

client_recv = client_socket.recv(1024)
print("Client received:", client_recv.decode())

# 5. Shutdown and cleanup:
proxy.join(shutdown=True)
for sock in (client_socket, proxy_in, proxy_out, server_socket):
    sock.close()

asyncproxy -- on_connect Handshake Example

on_connect(res_p, max_len) can emit bytes as soon as the proxy's sink connection is ready. The bytes are queued toward the sink before normal source-to-sink traffic is relayed.

from ctypes import memmove
from socket import AF_INET
from asyncproxy.AsyncProxy import AsyncProxy

class GreetingProxy(AsyncProxy):
    def on_connect(self, res_p, max_len):
        greeting = b"HELLO\r\n"
        assert len(greeting) <= max_len
        tr = res_p.contents
        memmove(tr.buf, greeting, len(greeting))
        tr.len = len(greeting)

# source_sock is an already-open source socket.
proxy = GreetingProxy(source_sock.fileno(), "example.com", 12345, AF_INET, None)
proxy.start()

asyncproxy -- TCPProxy Example

This example shows how to set up a TCP proxy accepting connections on localhost:8080 and forwarding it to www.google.com:80.

import socket
from time import sleep
from asyncproxy.TCPProxy import TCPProxy

# 1. Initialize and start the proxy:
#    - Listen on local port 8080
#    - Forward all traffic to www.google.com:80
proxy = TCPProxy(port=8080, newhost='www.google.com', newport=80)
proxy.start()
print("TCPProxy running on:", proxy.sock.getsockname())

# 2. Connect via the proxy and send HTTP requests twice
for _ in (1, 2):
    with socket.create_connection(('127.0.0.1', 8080)) as s:
        print("Connected to www.google.com via TCPProxy.")
        s.sendall(b"GET / HTTP/1.0\r\nHost: www.google.com\r\n\r\n")
        resp = s.recv(256)
        print("Response received from proxy:")
        print(resp.decode('utf-8', errors='replace'))

# 3. Shutdown the proxy cleanly
proxy.shutdown()

asyncproxy -- TCPProxyActive Example

TCPProxyActive starts from an outbound TCP connection instead of an inbound listener. It connects to destaddr and forwards that active connection to newhost:newport.

from asyncproxy.TCPProxy import TCPProxyActive

# Connect actively to 127.0.0.1:9000, then forward that connection to
# www.google.com:80.
proxy = TCPProxyActive(
    destaddr=("127.0.0.1", 9000),
    newhost="www.google.com",
    newport=80,
    bindhost="127.0.0.1",
)
proxy.start()

# Use proxy.port1 / proxy.port2 for diagnostics if needed.
print("active peer port:", proxy.port1)
print("outbound local port:", proxy.port2)

proxy.shutdown()

To run code when the active source connection completes, subclass TCPProxyActive and implement on_source_connect(res_p, max_len):

from ctypes import memmove
from asyncproxy.TCPProxy import TCPProxyActive

class BannerProxy(TCPProxyActive):
    def on_source_connect(self, res_p, max_len):
        banner = b"ready\n"
        assert len(banner) <= max_len
        tr = res_p.contents
        memmove(tr.buf, banner, len(banner))
        tr.len = len(banner)

proxy = BannerProxy(
    destaddr=("127.0.0.1", 9000),
    newhost="www.google.com",
    newport=80,
)
proxy.start()
proxy.shutdown()

asyncproxy -- Advanced AsyncProxy2FD Example

This example shows how to subclass AsyncProxy2FD to inspect and modify data in transit using custom in2out and out2in hooks.

import socket
from ctypes import string_at, memmove
from asyncproxy.AsyncProxy import AsyncProxy2FD

class NosyProxy(AsyncProxy2FD):
    def in2out(self, res_p):
        # Unpack the struct
        tr = res_p.contents
        ptr, length = tr.buf, tr.len

        # Read original bytes, transform, and write back
        original    = string_at(ptr, length)
        length     -= 1
        transformed = original.upper()[:length]
        memmove(ptr, transformed, length)
        tr.len = length

        print("in2out hook:", original, "→", transformed)

    def out2in(self, res_p):
        tr = res_p.contents
        ptr, length = tr.buf, tr.len

        original    = string_at(ptr, length)
        length     -= 1
        transformed = original[::-1][1:]
        memmove(ptr, transformed, length)
        tr.len = length

        print("out2in hook:", original, "→", transformed)

# 1. Create two socket pairs for bidirectional flow
client_socket, proxy_in       = socket.socketpair()
proxy_out,    server_socket   = socket.socketpair()

# 2. Initialize and start the custom proxy
proxy = NosyProxy(proxy_in.fileno(), proxy_out.fileno())
proxy.start()

# 3. Client → Server (uppercase transformation)
client_msg = b"Hello from Client!"
client_socket.sendall(client_msg)
print("Client sent:", client_msg.decode())

srv_recv = server_socket.recv(1024)
print("Server received:", srv_recv.decode())

# 4. Server → Client (reverse transformation)
server_msg = b"Hello from Server!"
server_socket.sendall(server_msg)
print("Server sent:", server_msg.decode())

cli_recv = client_socket.recv(1024)
print("Client received:", cli_recv.decode())

# 5. Shutdown and cleanup
proxy.join(shutdown=True)
for sock in (client_socket, proxy_in, proxy_out, server_socket):
    sock.close()

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.

asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_x86_64.whl (65.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_s390x.whl (65.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ s390x

asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl (62.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ riscv64manylinux: glibc 2.39+ riscv64

asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_ppc64le.whl (68.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ppc64le

asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_i686.whl (63.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ i686

asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_aarch64.whl (65.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl (64.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64manylinux: glibc 2.39+ ARM64

asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl (66.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_s390x.whl (67.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ s390x

asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_ppc64le.whl (69.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ppc64le

asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_i686.whl (63.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ i686

asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_aarch64.whl (66.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_x86_64.whl (65.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_s390x.whl (65.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ s390x

asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl (62.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ riscv64manylinux: glibc 2.39+ riscv64

asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_ppc64le.whl (68.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ppc64le

asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_i686.whl (63.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ i686

asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_aarch64.whl (65.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl (64.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64manylinux: glibc 2.39+ ARM64

asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl (66.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_s390x.whl (67.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ s390x

asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_ppc64le.whl (69.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ppc64le

asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_i686.whl (63.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ i686

asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_aarch64.whl (66.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_x86_64.whl (64.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_s390x.whl (65.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ s390x

asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl (62.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ riscv64manylinux: glibc 2.39+ riscv64

asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_ppc64le.whl (68.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ppc64le

asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_i686.whl (62.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ i686

asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_aarch64.whl (64.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl (64.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64manylinux: glibc 2.39+ ARM64

asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl (65.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_s390x.whl (67.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ s390x

asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_ppc64le.whl (69.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ppc64le

asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_i686.whl (62.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ i686

asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_aarch64.whl (65.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_x86_64.whl (63.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_s390x.whl (64.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ s390x

asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl (62.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ riscv64manylinux: glibc 2.39+ riscv64

asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_ppc64le.whl (67.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ppc64le

asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_i686.whl (61.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ i686

asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_aarch64.whl (63.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl (63.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64manylinux: glibc 2.39+ ARM64

asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl (65.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_s390x.whl (66.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ s390x

asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_ppc64le.whl (68.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ppc64le

asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_i686.whl (61.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ i686

asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_aarch64.whl (65.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e00e886e9051b3e61edb2ad7b7c1d62c7f16b193f03f182f8a5f111217288997
MD5 150bef769db2fcd49f4d8f68f56d872f
BLAKE2b-256 b77780d6d39e363ad9dfd6689acfbd6287b9ab3d642691c83162f6cc4202359f

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_s390x.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_s390x.whl
Algorithm Hash digest
SHA256 f506a8f3256de85da55ccff19cf3ff10f847abb4df90743ca46443f48d5f64c0
MD5 35d844e7a09fb400607d744ed2c2958e
BLAKE2b-256 04cad7c3338f36fa62c8108f7d54e3e9103f9116390fad7ba4f6caf57bb59f4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_s390x.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 ed6aada2b8edba3326954a4b893bbf9e76e322509d0919de2a011a74c21e670b
MD5 45cd3e9cd484a976c0fa36a749959874
BLAKE2b-256 7d91b3992713f4c04027d17c1f40d2606b2ef26605f46af6abb6feb001e5cf52

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_ppc64le.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_ppc64le.whl
Algorithm Hash digest
SHA256 0e738097b44135db960aa281c540f3490c237a91ae97268588bccabc01a73aa5
MD5 6072ca2e0cbfd2ff38d380da577fcfa3
BLAKE2b-256 e4ef1c40cd3cd950c239055a7a557ea78080f9b8a1dd2474dc464c5a2cd97645

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_ppc64le.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 36562f2c2f324372f2d806a6ec7aa863fd381426fbc222a1c62bc41e05c327f4
MD5 2cde34084325c776e4944b88e6ceb9d6
BLAKE2b-256 3005c06be08aa199a3e8d54fc8b7f26c505c92a41e79e2cdf49f71ef9db2bb46

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_i686.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f41f566fe920350b767ed1fe9dff55eb08b28ca64bc8f7f8cd402e4446e2d1e4
MD5 ea533dbd03c6046356ab97a2434691ea
BLAKE2b-256 d5c7aafaf44e6dd92ebcf1d2fbddfbe0ece476d877321e719ea2a63f11b665e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 599c38f59e5fe638a0ecce1d050d22fdb2977a22a9023797344343252dc8ee0e
MD5 c3858897908d2cde5bebbf9bc8e1b256
BLAKE2b-256 f785222709378cdfc10eedbf0cce597d92062bcaaf7d24719cfdeae98b1891d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28a2d50ac30eaa984539a61538fa9623e5a8c715de0536e1ae96d8d8827d608e
MD5 f8bdd33500aae93f41a611c5774cc9b6
BLAKE2b-256 f1fa3185624b2c8b6777edb96a48f06aa9090a8fe514dd17995d2e5f3a5b5e27

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 c5c0be07bea24cbfc1050232d9218b543a71aa79f3e7c3d3dc9864e2326ba144
MD5 9bbd51eb8a1d8083c08feaeb9010ec3d
BLAKE2b-256 57625f856a7d0e1fda76b6546d9bd48049e41358d6f878348f7b4c647afe1861

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_s390x.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 b2c60cc15ff76c8d127daf8da2e2bf920b9f890dc6b4e9431e24e1c658fb907d
MD5 bd4aa4af92b423c0edcdb5201ad19cc2
BLAKE2b-256 3de38fa681dc597a4ab6135bc59c45549929af0c023354df64dbd062cdfb3ae9

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_ppc64le.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 36e7fe6174dab97e9a027597f6b09a8dc8801504193767c911bda68cad945c61
MD5 260da5dfb99f19cbd8d76bfad5ce1991
BLAKE2b-256 a522a4cad9e68a871b1e75071862eef464912dc24bb9d06f1cb4dbb675ae786a

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_i686.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ad0c6c4f080f9ba5e4987a6475feded65a08083aa742db645439cd714d07e05a
MD5 db29675a7af042e67c6750487a3e5940
BLAKE2b-256 1747c5f6a90d7bf57896a33c95b91def159222fb5a24e3e091076dbfe1457560

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 14548101898ac025f053ef34d64a952adfae16d830e9f2a45e1349d9a60527ce
MD5 79e3f1cac4bba5222a8caa57ea60124f
BLAKE2b-256 b0800542f70eaf4617c435cec952dcbbee0852ef3a13b7d5451d1a2fbcc05c04

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_s390x.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_s390x.whl
Algorithm Hash digest
SHA256 16eb5273b7a5ab963966f708c7a5d41fff01fe75bf49a3fe71231647aed0afe0
MD5 50202c12ecb0c9b064c0e63606a55afe
BLAKE2b-256 c2c575bdda6381626369da22bf7cfcd19f205db941812ab681cfca02553ae8ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_s390x.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 467de9a1b18c216cd3c9a29db858f98ed84cce48a210b8121bf5199a61f07215
MD5 087c944cfee5d6e273171b3dc8211f28
BLAKE2b-256 0fd636e884ae0ddb0e50bff36e4ddef12472695e1843938fe1a828bf3994a88f

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_ppc64le.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_ppc64le.whl
Algorithm Hash digest
SHA256 5ac1cf0e6adf44a25e3b73f8388aa97313c60bbd9dcfb2b1eabdeec0a792876c
MD5 4c6bde9729f37a5a3a130e0d6bbfd7f4
BLAKE2b-256 2643c7624e7d05e39e448cb8fc5e302732c37c8a757edea0aa3c50bac43b5f6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_ppc64le.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 a868473a91029acb2dc56e1ed626fc8990b12827c8a4dc6043f714676bd083eb
MD5 928483b461b07f15484e2e160f789578
BLAKE2b-256 342bdcfa1635218c86049be228c01a7892228e48f54d2984e0ab29ffa414f171

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_i686.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 304f298d3955ffbed0886df92c6997a6f1e9ac967c0b80bc21a71e3605c765cf
MD5 95a529f50718906bec68014bade968ec
BLAKE2b-256 251a0c75970728510c88b1ff3dd22fec532927056cea33cf03a83c110e6dbb8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 f4a99a3e150d403b946e5ef558ff1b530f195894f697b2e47ce0a1cda7fb5b3d
MD5 38337cb8bf100bb10f878b52bb58ae08
BLAKE2b-256 d3cbf2a0783f97ea35e99b2e0131abba4b3525f0c2c75ee92037343a5dc2d4ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77ab0e75e5eaac1a8784201b8bee275fb3e284221054d3d0aa3105105afa4a7f
MD5 131d638380ca2e18823250596a5c4c47
BLAKE2b-256 17daed9bf66c70b88afb62a971c4e6b8ccd3a107d48ff1d6bd2ee18621d08d27

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 83d4e975bb299fb60697beb6bddbe2c3d5df0b41a36902aade7c29ca3a61142b
MD5 7b2b13f4ef9a27bae635cda64d37078b
BLAKE2b-256 82db0db9369fe282b880aa930ef180f5908645fb7bf76d719e82314d1830b428

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_s390x.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 d3a8d02ccbc556439c88b863181f0e36408af505209ccb657ff9179fe6c50051
MD5 5ecce9743ab4a0863d481186301d5364
BLAKE2b-256 5863201497e2bbadcf223b3359cacc8f5bfaa48964c9e9b32823b1a0d10fc4b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_ppc64le.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 bde366cde79dc05d51608ec171f275f45398d42fb5da93e5f7a30d71bbb6fb9e
MD5 047d40d781606cdbd8c2aa8d48a16641
BLAKE2b-256 f3cbb8bb87fd199aa588280f397e1ceedf714d400074a6dc8868d4e085d00950

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_i686.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b9d083d354481b4e78d0f1e6df5978fdf3698f87159ce29d1b3034bb0d82834a
MD5 7d319e5467046edfc27a420b9ff781fd
BLAKE2b-256 9e343da0a63bfbfc68e8dc5927066938d882ee5f1d1adfad83632eb985b6de49

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1a5c44268f2de36acd74cacd1faaead380b22dfceda1aafc585964ae813cfa60
MD5 c175c35bce4675a59175331f4340e832
BLAKE2b-256 4ac22d5fd5d78ec9d897293d3aedc1274deea2127137ac0f0391644f82bf413f

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_s390x.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_s390x.whl
Algorithm Hash digest
SHA256 9ace39e243b9486ac78e5be1c3224f2e94a7c5257bf2335f187e3d6a3ecbb171
MD5 565581310f50c08bcce386390615f4da
BLAKE2b-256 34caaee6e57acc6e6dd03afc4f2336b7f53027b604129431c226292c220b950c

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_s390x.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 87ec95a2c9f80bea3cccc286f155ae7715a12153ffe4edaf1f4933467dd53a2b
MD5 ed79c465727d75091ea5cbc1dc374a88
BLAKE2b-256 7d9f788720f472401ec9a385f29ff94621474c7caf99611e92ed5f3f24c2e527

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_ppc64le.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_ppc64le.whl
Algorithm Hash digest
SHA256 a27cb486d63fefa6e2e3b560630f112fb568e840373c29d66195fabb678d1f27
MD5 d45ddf3acf86d0150cdf9cf48136808c
BLAKE2b-256 da181a88287b3e76e4a768cea4988c7c62014ef1217bc87067fb11edeb15376e

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_ppc64le.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 daf932bdaf57a233f1e20d6c98a2d7aeb8249206698b35a2dd2118ebbe508be0
MD5 ced036cf425be5e0dd4fd7dcf3ff1b81
BLAKE2b-256 247c3c24b06a51ba104e558822a1259182dec8cc9799173377fbad934fcaefc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_i686.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1cf58cd27437a814d0a811e7f26ed3d7ce6d22312ec905b0ffdb3992c384a5c8
MD5 0f39133f2175e4c919888aa92402e48f
BLAKE2b-256 b2f71743e6b5e479b93d575d811ddcf4cbfce87919427d28ec78f7302b3a9340

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 d267c0349946ec878e84920f59ffacd05d3b91907d96e75ef5837f0a6c38723b
MD5 a9c767d1b91e470d35abe5c6082892ab
BLAKE2b-256 126feb61adb17a6da36667345a20e111690186aea2d20c9fe21404de3e2ada4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c09ba3d5e63ecdf05a29ff43678e83f05d5cf3df68f652b0f1c6a4814dcbf9b2
MD5 176a1a28593ab341dd87d1f4f04b4170
BLAKE2b-256 8dee92d53252347125635cecfc0edafb2dbee5267551da16d33d56a1394676a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 e2101f9f8f4b5a04ae92e48bc44b6b0d628b63b3badc857ae0a02fbc582067e5
MD5 7a2a69af49e86e0462106ace6331a4bc
BLAKE2b-256 d737d5a619b2bca8b428a08dc63513356659e56320989f1ed9636ac3ddfa1f11

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_s390x.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 b8ecb5b26964b1cc2e65d049512fc5d2975e70d2b74d32ad1fc510531062b55d
MD5 eed8999a52b75011f82f3b3f32e0116f
BLAKE2b-256 68677dfdc1b9dbf55ed1591abb14a3c2cdcae3b029ed81a1e1d81e5c0dcfb8e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_ppc64le.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 464d50affebf7b6d1d3c22933a561ca37054c6a67f1d5e791fd09555c8c1bc82
MD5 965839e1a190d8e6985645d1a7c94142
BLAKE2b-256 98181d6b8268a8625e330f3663216064e537dabbf13c162829211576fddedcd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_i686.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a847accd81e1d5d37f45d76a667876a5a09ad1cff8de79a0d6139028602dccc6
MD5 e0bdcc82b36fb7d262343af42e590a13
BLAKE2b-256 e0be14b0fcf0342a5233237629fe3f76189249a8e034eb02e585c88ae0cacf66

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 61c239544937b668589db61a1c328aad8a9afebd8407d99cf3ad9c6e1e4b6943
MD5 42bb336c43272db99c6920928fe19262
BLAKE2b-256 29cf7d37761752731429fe63890018584cda221277f2ca21015c54333d12ddcc

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_s390x.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_s390x.whl
Algorithm Hash digest
SHA256 6177cc936f4e49544cbb74b60daf6ed093eae288f8fc9fe1fd19ee30736c6fb3
MD5 0b5a97fdc991584da6ef38bd237abe6b
BLAKE2b-256 cdde9351146401cff76f5300bd70a14a66d8a35c77be8a62842d8661500f23f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_s390x.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl
Algorithm Hash digest
SHA256 a8d8d21a903b636abc0fdd9b1d69b51505aeeb68de462473b666a23dc59d55a7
MD5 59ecedd4848545adcdc547357ba1b49f
BLAKE2b-256 85d76ae8ae83e33a01280d680f6113262f140b32aef65987be9bf35d92ba8b71

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_ppc64le.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_ppc64le.whl
Algorithm Hash digest
SHA256 15d861f7f8991d6e7df25dd27ea31cee1987baf8cd607af2c7ec6ff38d17820b
MD5 d737e53ac0ddea4bcbdec620e598918c
BLAKE2b-256 34dcb92b03f420af33d82b83cb6e703bddafbedebc2029e13d11d4ba5f5e04e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_ppc64le.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_i686.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_i686.whl
Algorithm Hash digest
SHA256 0762c671c07b2d44ffeda015a2afcdcf29363b34bab3ccd94a6c9e69fa746e54
MD5 5cefaebefe095cec34a88f428ccff35c
BLAKE2b-256 0097bfee8ba55da94a20ef0e4c6710782aa4bcd993ef633ab5a17b8d89145641

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_i686.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 01cdd168032eb9638f7101c48e2b3ad36ccb0946d57bfd3bedfd255e303e4135
MD5 6c1cbc3fb5e1561724c7a9a725410659
BLAKE2b-256 1e625117a58eea637649f116103c6972e52b71f70ea113211dc48a3c3f7374ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 9f36eebe703a46a8cabba49a28e32e3453a9b6c007e267e096dd05f092665e01
MD5 4054b6a60ec8c5dae020e8827acbf486
BLAKE2b-256 5fe5e564ae7943d592e145253d18b31100d735772bc9b64c02008a4db1f08a3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_34_aarch64.manylinux_2_39_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a8ae894d8f232d7625798eb16b3bc195c9153093ddc14b6edd2ccc916f479467
MD5 69ec25911e23030fc353a2717050295c
BLAKE2b-256 b4bd26ae03e98b9bade40ef584089ac814e8b523dd620083c282730ac896377b

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_s390x.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 5c71c4d2bec0c7606ebe7cc48385ef954e07071c319a2174698a983bfab403f3
MD5 07749e0a398d9ed7bb0b767fa149000a
BLAKE2b-256 ecfad543b1ae6fb6a2b9d53d4e870bbcb9475db969e4f6e613ce4caa786a2f78

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_s390x.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 c877ed4e2dede4894ba89c82d63539b9ba6e071d90f29eef1b95439088287ecb
MD5 159a8a8c11d5ccccd264bef5d25db8be
BLAKE2b-256 8984ea1356117a029755021a76db342fee810f73b5c523afcf7ffc198afcf410

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_ppc64le.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 b6cc50bb11cb46bd58da3eeaee839f7fe84bb60f6c39e024a63639e0253a4bef
MD5 0174b7e003ba85437243a5fc14934233
BLAKE2b-256 590c237b773c7b8bcb45682226ade52ac7d1584665bba65880c44bd5d2853de5

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_i686.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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

File details

Details for the file asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d172369b5d4b6d936f9d7ffc6945318916cf6863a2c7c4c18ed49b9e07f5caa0
MD5 eb9e67f7bc58cac4cd477af3f27dfa5b
BLAKE2b-256 fc0975c771d394e849783202ae46bdf2d2039106cd4aa29fe53f043b699d08b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for asyncproxy-1.3.0-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: build_and_test.yml on sippy/libasyncproxy

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