Skip to main content

tethered

Runtime network egress control for Python. One function call sets an allow list for the process, and every connection made through Python's socket layer is checked against it, from inside the process, before the connection is opened. No runtime dependencies and no infrastructure changes.

uv add tethered

Or pip install tethered. Python 3.11+ on Linux, macOS and Windows. Wheels are prebuilt; a source install needs a C compiler.

import tethered

tethered.activate(allow=["*.stripe.com", "db.internal"])

import urllib.request
urllib.request.urlopen("https://api.stripe.com/v1/charges")  # allowed: matches *.stripe.com
urllib.request.urlopen("https://evil.test/exfil")            # raises tethered.EgressBlocked
  • activate() sets the ceiling for the whole process. scope() narrows a single code path, as a decorator or a with block, and never widens the policy.
  • Python child processes started with the same interpreter inherit the policy as they start. Every other launch is logged by default and refused with external_subprocess_policy="block".
  • With locked=True, replacing or switching off the policy takes a token, and tampering with tethered's own code or with the active policy is detected and fails closed.
  • It is a guardrail at Python's audit-event layer, not a sandbox. Code that goes below that layer is not stopped: ctypes, cffi, a C extension, or a library that resolves and connects inside its own C code. Under asyncio it enforces on asyncio's own selector event loop: it refuses to run next to uvloop, and on Windows the default ProactorEventLoop gets DNS-time hostname checks only. On a free-threaded build of Python, activating a policy turns the GIL back on.
  • The application turns it on. A library uses tethered in its tests and leaves the policy to the application that runs the process.

Upgrading from 0.5.x? 1.0 refuses to run where 0.5.x went on without enforcing, so a deployment can stop at start-up after the upgrade. Read the migration guide first.

See the documentation for the quick start, what each server and task queue needs, and the API, the security model for what tethered does and does not protect against, and the repository for the source.

Licensed under MIT.

Metadata

Release files for tethered 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tethered 1.1.0
File Size Uploaded
tethered-1.1.0.tar.gz 139.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for tethered 1.1.0
File
tethered-1.1.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
tethered-1.1.0-cp315-cp315-win32.whl CPython 3.15 CPython 3.15 Windows x86-32 Details
tethered-1.1.0-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details
tethered-1.1.0-cp315-cp315-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ ARM64 Details
tethered-1.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
tethered-1.1.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
tethered-1.1.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
tethered-1.1.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
tethered-1.1.0-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
tethered-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
tethered-1.1.0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
tethered-1.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
tethered-1.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
tethered-1.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
tethered-1.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
tethered-1.1.0-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
tethered-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
tethered-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
tethered-1.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
tethered-1.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
tethered-1.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
tethered-1.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
tethered-1.1.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
tethered-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
tethered-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
tethered-1.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
tethered-1.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
tethered-1.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
tethered-1.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
tethered-1.1.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
tethered-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
tethered-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
tethered-1.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
tethered-1.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
tethered-1.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 7.5 MB

Release files / tethered-1.1.0.tar.gz

Download URL tethered-1.1.0.tar.gz
Size 139.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6cfade04c4b86125cd6c0a4cff915e594dd68ab47e6a8b49faa980e8f4d531d9
BLAKE2b-256 checksum
How to use checksums
caf1ed404d109acb041ccd09be209aa8273e349b2617dc2db7d0b458337aa0bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp315-cp315-win_amd64.whl

Download URL tethered-1.1.0-cp315-cp315-win_amd64.whl
Size 161.1 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
b4af70272b79e39af4eddab6e04776fd46115fc3fb6959a59e8108ed8e5a3e43
BLAKE2b-256 checksum
How to use checksums
0f2d08c43cf1048841e5634c0101cc8a9d1dd55336d37aebd6fc482034966710
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp315-cp315-win32.whl

Download URL tethered-1.1.0-cp315-cp315-win32.whl
Size 158.5 kB
Tags CPython 3.15 Windows x86-32
SHA-256 checksum
How to use checksums
1f9a81693cc764fd5ee1c8667af236e2956284e15a1e22389cee52735d98e885
BLAKE2b-256 checksum
How to use checksums
f7ca7d967ed33bd1d5d84ec306e8c3b4e64354a3ac7de269d6513d298bc3e5f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL tethered-1.1.0-cp315-cp315-musllinux_1_2_x86_64.whl
Size 247.1 kB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
48b41f182a7633d52cf0f3ef6bfb4cc68116749b02c24dd299fe00ad624c0397
BLAKE2b-256 checksum
How to use checksums
4b789b98aaea1a70b36d04147d95e606035a16a07ef72f0412d4b33acaea61f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp315-cp315-musllinux_1_2_aarch64.whl

Download URL tethered-1.1.0-cp315-cp315-musllinux_1_2_aarch64.whl
Size 247.4 kB
Tags CPython 3.15 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
8722014605ea72d29eca8f04aa63f68a64b345c1743cbd4bc614f9f3ee3a43df
BLAKE2b-256 checksum
How to use checksums
fbb031f561ba0527d270e96d5202790195043123b3850b6da67012991aa9570d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL tethered-1.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 249.2 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6e6f5639f33fa2e3dacb389355a25a0adc9dd1f9cc27e690f08e4b88f0cbd4de
BLAKE2b-256 checksum
How to use checksums
504e61c439e224349c643d59902918b4d81bd10b7b5517cdfc83c629e7e7bbe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL tethered-1.1.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 250.3 kB
Tags CPython 3.15 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4f87ee95a908f32257f71546ea306f70092a0cff09e534c6e0472b74b7aa6516
BLAKE2b-256 checksum
How to use checksums
7a88e123d6db4fa534431e9b5fc9bd5537ecfa5eb957a0f1a483b50e8a29f2ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL tethered-1.1.0-cp315-cp315-macosx_11_0_arm64.whl
Size 159.5 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1e409e4a54ef719054fa21f34c256fe6ffaea9ead88b0f615ba78ec521be14ff
BLAKE2b-256 checksum
How to use checksums
36c4e4569ca910935a9587e4cf6fbc4bffbbb20dd4b758c52faadfe63e1835fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp314-cp314-win_amd64.whl

Download URL tethered-1.1.0-cp314-cp314-win_amd64.whl
Size 161.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
3b85943b0046ac0027ed9683f94b58c279ba61cbe343be4a8b300b9612701bff
BLAKE2b-256 checksum
How to use checksums
97fc1aafdff7277bd5acd76b2abe580c0843e04584e5b28d37f92064a54f7fb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp314-cp314-win32.whl

Download URL tethered-1.1.0-cp314-cp314-win32.whl
Size 158.5 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
f49ba25f50747392bacf297986782af8520009bf644dc353f82e76a32b499d94
BLAKE2b-256 checksum
How to use checksums
9da252943422ce59c136d40ac061ffbfb34b28d63b21c04df500439a5277bc25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL tethered-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 246.6 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
23f2eb3b794c7e6191f376bde9f8712bdc2987f9d54a69ab8f7e8e5cb5f536dc
BLAKE2b-256 checksum
How to use checksums
a0df250b190880d6e52ee3c9c9ee2a65a2b1f5c684e29d792c1b36983d274150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL tethered-1.1.0-cp314-cp314-musllinux_1_2_aarch64.whl
Size 246.9 kB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
0895ea3743418451ed706a1d2d03206fbf54526096d0803ee6af689dac4256d6
BLAKE2b-256 checksum
How to use checksums
d846772905d35128abb34ec3256ae680ae5001abe66422241c5103f738b1bd5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL tethered-1.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 248.7 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cc387ac78318be6cb1cb2151b7a3d6fd10088d4758cec769a97ca9830ae140f4
BLAKE2b-256 checksum
How to use checksums
cf2838d8372b5a98a20d5823389a2532a8cb2a70e63022efdc98c6e68ba61869
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL tethered-1.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 249.7 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6c2edfcdd01c3a64a8b3e2c48437f473a94dd26671bb0a67b0d69dda5f49f839
BLAKE2b-256 checksum
How to use checksums
84f156f027c8a36e190b5a0a15a917b9d3117f378780dc0f75844b0cd89c2b64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL tethered-1.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 159.4 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
75ed62a315431643b724767440a0919504ec3dda44fa6d6242f4dde4e1293575
BLAKE2b-256 checksum
How to use checksums
7f7cb28cc336a6378891fcda77ab3eabb51f4ab2a4abd7188a0e3caf0d1c99ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp313-cp313-win_amd64.whl

Download URL tethered-1.1.0-cp313-cp313-win_amd64.whl
Size 160.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
38576026a110adbb6a45a05b6828d3a5bc8e0d2f620e49f13fa5df038622bab2
BLAKE2b-256 checksum
How to use checksums
8f6b6e8d6574a0b2f6c309435da22e086f17ac83bdcc5eaf5871acfc26354abb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp313-cp313-win32.whl

Download URL tethered-1.1.0-cp313-cp313-win32.whl
Size 157.4 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
a6802efc3d1e167d7b17b0634fd9aad0b361f07edfa53b494812e378c5c3c45c
BLAKE2b-256 checksum
How to use checksums
63a5565cc214f6fa90f89b573b5baac0cbe932aa8aced70fdb3c2f61a5cd92b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL tethered-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 247.1 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8399768407f5ee0a2c0e28cf8796ef576f630d774516b2352baeafb3ea720277
BLAKE2b-256 checksum
How to use checksums
7bf870536bb6a6baddf0b78f661b7641aea4e6a26043402c51b74da912c2a6ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL tethered-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 247.0 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
d0ff243c55cddf494997282071fcf7ab563c391e1a743a3bc9ef81bfc578f6f2
BLAKE2b-256 checksum
How to use checksums
667c550cb493847f2c4fb417e2fe04917aa06073dbde6d318835f4293d375ab6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL tethered-1.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 249.1 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fc738a3b567f88ba766b79924b3dd3570c2fbd2d8811c3492595b5ee4cc18e24
BLAKE2b-256 checksum
How to use checksums
951f6fdd406bd49eaac868039142d0460f608f1681509dc2fe1c106839a7db88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL tethered-1.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 249.9 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
58a369e1efed2d5be654aed032c447120314fe33c2c8802d0d8450ef1a8a2c4d
BLAKE2b-256 checksum
How to use checksums
cbf9cbde9306866ec7b51572fd4ce5f466e25e3d727e0f0b4be068a28566aa08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL tethered-1.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 159.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
743f8089312358fa033437918ecb88e5f3b91f2a81360954b01300a00119d950
BLAKE2b-256 checksum
How to use checksums
45e7be79f038d8db708cc668af798bb13c681445ebeda85dc4c08a18d96a9673
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp312-cp312-win_amd64.whl

Download URL tethered-1.1.0-cp312-cp312-win_amd64.whl
Size 160.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
afdbb7104cbbd2c4b99b714785140ef7abfd2f6937d83c94dfd485e29c4d0c9a
BLAKE2b-256 checksum
How to use checksums
30ed4426975fd706d41f1bbc23c135b159c73819b9c89ccb1b76a1428664546d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp312-cp312-win32.whl

Download URL tethered-1.1.0-cp312-cp312-win32.whl
Size 157.4 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
b8e7f9b0efe0d65ef2174c08ea208d3e224f6bb53858032ee991292c70ffea9e
BLAKE2b-256 checksum
How to use checksums
b9124f244e4b4c9c012a85b729dfd865df60f2c1802fccd79880931c22666fc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL tethered-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 247.1 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
57178e52df7508a8bb5023db3df49725b1ad9e34daafd91d94d475f84f97c9ac
BLAKE2b-256 checksum
How to use checksums
3f47d1476b2304ee5c057deff13d8efa33645a4f6c21deb979a18a945e40b2f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL tethered-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 247.0 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
d84143f25e21c997a35093f4f8c983636291f24797212c3ce6b7b1a2b50e2c89
BLAKE2b-256 checksum
How to use checksums
8227015d54ce7e3e9ce40886fd6c8f440e6c728d11795b103ed58d3689b5f010
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL tethered-1.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 249.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
12ee812a2a187ae659eecb4f0677f00429dc5fb6dfc4fa503841fab02a5c3576
BLAKE2b-256 checksum
How to use checksums
30a5f72db8b0acd0995fbdc4fede97a64ee09e7c9821578d91094d94485a0425
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL tethered-1.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 249.9 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
128f53ebc13f1b13564178d27c0730e9d219b8ee8b3a20d576712e2bfd3adf1f
BLAKE2b-256 checksum
How to use checksums
43938a14b0e768f1f992520a550fce1fa87dddb393217b06534eab1e58bc7183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL tethered-1.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 159.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b2c950ab7eee45d25637b7b08bb4a59fb2a87216ac53737acc77e657624d03d8
BLAKE2b-256 checksum
How to use checksums
b4a84bf4767a543a81f009b6d281b39b1ab32da07366b22c129e2d64f9740295
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp311-cp311-win_amd64.whl

Download URL tethered-1.1.0-cp311-cp311-win_amd64.whl
Size 159.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
54ccf13bdae2adcfac6d0ceba6862c14f93326d9ddb029373aa3494de9bd947a
BLAKE2b-256 checksum
How to use checksums
1f2f0dbfcdbe81bf195cc22f9c8758ffcfbe2b8a1bf709222fc890826f568eb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp311-cp311-win32.whl

Download URL tethered-1.1.0-cp311-cp311-win32.whl
Size 157.6 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
5499edb4099528ea5b340af26574fdc126d7d2979f397c9728480b06d3a1a0dc
BLAKE2b-256 checksum
How to use checksums
45310875790c8595c6c4932d5f1c24a9a8bf9be0f90edee801d6b463c20fe7d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL tethered-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 242.9 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
eba3a0d479489da3b8878fa2d479c7bfd698df11923cb02a3e1eecaa6b665c5c
BLAKE2b-256 checksum
How to use checksums
06c0e63b9afeb5204b80cfae8ec903f0de4a902ece2758bf389d509f8fa5e555
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL tethered-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
Size 243.8 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
fb5ce9e151882bc49b89c7429511f883964083059d6106c16ab1023261efcf76
BLAKE2b-256 checksum
How to use checksums
2a2aa0e863268551bb8d91f32f3cc547788bb44d97095218303e2bcd42c54a36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL tethered-1.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 244.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cdedf2bbc63e951478f7d32295e94033946146adfbfb3cc7164338e6975873bd
BLAKE2b-256 checksum
How to use checksums
785e9de7e8512eb2b5b1eec670b4007b75ea4ef07e07bbe89af760d886a59f3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL tethered-1.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 246.1 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6cb83828bf639cf0e5a054a87ce708ea8123b4b218363dcfaefc5dde81dcd976
BLAKE2b-256 checksum
How to use checksums
3fdb49fe9bb273a7e224897fc7038a1f5fbf2ca9b277938f11439aed998154d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / tethered-1.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL tethered-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 159.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8b21735fc82c563c40853dc82895a0b46b744432b7cd54931a5a0de2f6196e93
BLAKE2b-256 checksum
How to use checksums
fb4737092a82fb0abebdee61e8c74287edf159712c2fbcd581291e489e421a99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

36 release files

1.0.1

36 release files

1.0.0

36 release files

0.5.3

36 release files

0.5.2

36 release files

0.5.1

36 release files

0.5.0

33 release files

0.4.0

33 release files

0.3.3

2 release files

0.3.2

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page