Skip to main content

Drop-in socket replacement for transparent Tor routing in Python

Project description

tor-native-requests

Drop-in socket replacement for transparent Tor routing in Python.

Routes TCP traffic through the Tor network using arti-client (the Tor Project's pure-Rust Tor implementation). No need to install the Tor daemon — everything is self-contained in a native Python extension.

Installation

pip install tor-native-requests

For requests library integration:

pip install tor-native-requests[requests]

Quick Start

Context Manager (recommended)

Route all TCP traffic through Tor within a context:

import requests
from tor_native_requests import tor_context

with tor_context():
    r = requests.get("https://check.torproject.org/api/ip")
    print(r.json())  # {"IP": "...", "IsTor": true}

Requests Session

Create a requests.Session that routes through Tor:

from tor_native_requests import create_session

session = create_session()
resp = session.get("https://httpbin.org/ip")
print(resp.json())
session.close()

Raw Socket

Use TorSocket as a drop-in socket.socket replacement:

from tor_native_requests import TorConfig, TorSocket
from tor_native_requests._native import TorTunnel

config = TorConfig()
tunnel = TorTunnel(config.to_native())

sock = TorSocket(tunnel)
sock.connect(("httpbin.org", 80))
sock.sendall(b"GET /ip HTTP/1.1\r\nHost: httpbin.org\r\nConnection: close\r\n\r\n")
print(sock.recv(4096))
sock.close()
tunnel.close()

.onion Services

Access Tor hidden services directly:

from tor_native_requests import create_session

session = create_session()
resp = session.get("https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/")
print(resp.status_code)
session.close()

Circuit Isolation

Use separate Tor circuits per connection for different exit IPs:

from tor_native_requests import TorConfig, create_session

config = TorConfig(isolation=True)
session = create_session(config)
# Each request may use a different exit node
resp = session.get("https://check.torproject.org/api/ip")
print(resp.json()["IP"])
session.close()

Bridge Relays

Not yet supported. Passing bridges to TorConfig currently raises a ValueError. This section documents the intended API and bridge line format for when support lands. Track progress in the issue tracker.

Bridge relays help reach Tor on censored networks. The bridges list accepts standard bridge lines in the same format used by Tor Browser — one string per bridge.

Vanilla bridge (direct TCP, no obfuscation)

from tor_native_requests import TorConfig, create_session

# A vanilla bridge is just an IP:port plus the relay fingerprint.
# Format: <ip>:<port> <fingerprint>
config = TorConfig(bridges=[
    "192.0.2.47:9001 A1B2C3D4E5F6A1B2C3D4E5F6A1B2C3D4E5F6A1B2",
])
session = create_session(config)

obfs4 bridge (recommended for censored networks)

# obfs4 lines include the pluggable-transport name, address, fingerprint,
# the base64 certificate, and the IAT (inter-arrival timing) mode.
# Format: obfs4 <ip>:<port> <fingerprint> cert=<base64> iat-mode=<0|1|2>
config = TorConfig(bridges=[
    "obfs4 198.51.100.73:443 B3C4D5E6F7A8B3C4D5E6F7A8B3C4D5E6F7A8B3C4 cert=bGV0bWVpbnRoZW5ldHdvcmtwbGVhc2V0aGFua3lvdXZlcnltdWNoaGVsbG8K iat-mode=0",
    "obfs4 203.0.113.18:8443 C4D5E6F7A8B9C4D5E6F7A8B9C4D5E6F7A8B9C4D5 cert=dGhpc2lzYWZha2VjZXJ0aWZpY2F0ZWZvcmRvY3VtZW50YXRpb25wdXJwb3Nlcwo= iat-mode=0",
])
session = create_session(config)

Bridge line fields:

Field Example Notes
Transport obfs4 Omit for vanilla bridges
Address 198.51.100.73:443 RFC 5737 documentation range
Fingerprint B3C4D5E6F7A8B3C4 (40 hex chars) SHA-1 of the relay's identity key
cert= base64 string obfs4 only — public key material
iat-mode= 0 obfs4 only — 0 disables timing obfuscation

Obtain real bridge lines from bridges.torproject.org or by emailing bridges@torproject.org.

Async Support

import asyncio
from tor_native_requests import TorConfig
from tor_native_requests._native import TorTunnel
from tor_native_requests.async_socket import AsyncTorSocket

async def main():
    config = TorConfig()
    tunnel = TorTunnel(config.to_native())

    async with AsyncTorSocket(tunnel) as sock:
        await sock.connect(("httpbin.org", 80))
        await sock.send(b"GET /ip HTTP/1.1\r\nHost: httpbin.org\r\nConnection: close\r\n\r\n")
        data = await sock.recv(4096)
        print(data)

    tunnel.close()

asyncio.run(main())

Configuration

TorConfig accepts the following options:

Parameter Type Default Description
data_dir str | None None Directory for Tor state/cache (uses arti default)
bridges list[str] [] Bridge relay lines for censored networks
isolation bool False Per-stream circuit isolation for IP diversity

Building from Source

Requires Rust toolchain (1.70+) and Python 3.9+:

git clone https://github.com/bshuler/tor-native-requests
cd tor-native-requests
pip install maturin
maturin develop

Run tests:

pip install pytest pytest-asyncio
pytest tests/unit -v

Architecture

  • Rust native extension (arti-client + tokio): Handles Tor protocol, circuit building, and async I/O
  • Python wrapper: Provides socket.socket-compatible API, TLS via ssl.MemoryBIO, and requests integration
  • Async-to-sync bridge: Background tokio runtime with crossbeam channels for Python↔Rust communication

License

Apache-2.0

Project details


Download files

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

Source Distribution

tor_native_requests-0.2.0.tar.gz (48.4 kB view details)

Uploaded Source

Built Distributions

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

tor_native_requests-0.2.0-cp313-cp313-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.13Windows x86-64

tor_native_requests-0.2.0-cp313-cp313-win32.whl (4.4 MB view details)

Uploaded CPython 3.13Windows x86

tor_native_requests-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

tor_native_requests-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_i686.whl (6.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ i686

tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARMv7l

tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

tor_native_requests-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tor_native_requests-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

tor_native_requests-0.2.0-cp312-cp312-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.12Windows x86-64

tor_native_requests-0.2.0-cp312-cp312-win32.whl (4.4 MB view details)

Uploaded CPython 3.12Windows x86

tor_native_requests-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

tor_native_requests-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_i686.whl (6.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ i686

tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARMv7l

tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

tor_native_requests-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tor_native_requests-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

tor_native_requests-0.2.0-cp311-cp311-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.11Windows x86-64

tor_native_requests-0.2.0-cp311-cp311-win32.whl (4.4 MB view details)

Uploaded CPython 3.11Windows x86

tor_native_requests-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

tor_native_requests-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_i686.whl (6.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ i686

tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARMv7l

tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

tor_native_requests-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tor_native_requests-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

tor_native_requests-0.2.0-cp310-cp310-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.10Windows x86-64

tor_native_requests-0.2.0-cp310-cp310-win32.whl (4.4 MB view details)

Uploaded CPython 3.10Windows x86

tor_native_requests-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

tor_native_requests-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_i686.whl (6.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ i686

tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARMv7l

tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

tor_native_requests-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tor_native_requests-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

tor_native_requests-0.2.0-cp39-cp39-win_amd64.whl (5.2 MB view details)

Uploaded CPython 3.9Windows x86-64

tor_native_requests-0.2.0-cp39-cp39-win32.whl (4.4 MB view details)

Uploaded CPython 3.9Windows x86

tor_native_requests-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

tor_native_requests-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_i686.whl (6.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ i686

tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_armv7l.whl (5.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARMv7l

tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

tor_native_requests-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (5.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tor_native_requests-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file tor_native_requests-0.2.0.tar.gz.

File metadata

  • Download URL: tor_native_requests-0.2.0.tar.gz
  • Upload date:
  • Size: 48.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tor_native_requests-0.2.0.tar.gz
Algorithm Hash digest
SHA256 277e735ab5ed12d29b5142a91c836da735b22d1fdc42d2f8eff10c4fe5a00f7c
MD5 efd3801fb12aab18e55bf1f74a48aeae
BLAKE2b-256 7ae94a76b65ddde4ac771abe159c2e3e7879eb2fe783e9abe8fede4251e1d818

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 65aea320da76042e74a973cf298c2b667098933efc867c56db2807d83a0c77c2
MD5 b55a97ca88abd526d0df0181428c6b65
BLAKE2b-256 3b7087754bf96e3d4833bf0958d3043108a3248893942d8cdfbde83f799064cc

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 dfd5d76ba56a464610f56ba0e8f684025d06b616178552b8344da4e502541e97
MD5 dde073157b6ce88bf6052f738b6f2a34
BLAKE2b-256 d9a8c7832f899477f5031d054bc4abf23c4799adb63110db36e3df5003500b09

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a486092115ed228bd88c2c81504c106465994af92c33fee3a0e1dc38d9174a5f
MD5 c9ed560baca398f5fd4b5f47be1e66f2
BLAKE2b-256 4c5527efd36188c72d388323b57057c96820ba50156513d4c4111dc0097931f4

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 be6e57ad28660796ee481b838bdb7514d55979baceb994a95bb7e061f3823a1c
MD5 24462e7eb99b30d93b2bbe2723280369
BLAKE2b-256 9b7ac5a1b54fa0c4fb960ac35e0bf663801aafe7b0a5a1e3487e8e0e178d8473

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 db00a1021121ece7c505e354c65d39e93cb5c21260044da933318e32bd863411
MD5 4d32a74e3829ee6b08c9b1838d4fa65b
BLAKE2b-256 c1f7c9eea760eaef45707bfb66c13b5d8c58b6e3e0a4e7e2c6a72d4d76d8eef9

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 81e5599ba1cdd5946e26a5ff00b82dc8685b9361c17644fa48b87ab526348959
MD5 184183ac04ecd7b1c3b9dc9ca6c2c2f7
BLAKE2b-256 e69d1ea0bba829813c84b46ca408cc0d758e4bbd88cb76f86b2cd6408ab615cc

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 e63f8f44bee46a887a6f46e89017efad97d8ab33a46c6f1d6c65c3ac476f4523
MD5 3e9587115631a7466bed2daa68c02e3c
BLAKE2b-256 de3df08a77e57838bd8e31e00c2c516a37e62f2991906b9e7934cb71da4ea3b8

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a031f55552b15a3a0f6d6e97d7db70c0fa55dcbaa9e22772c9b4ceb3d2d97983
MD5 d4e8f3e60e9fa4b2051fb3bddcb76b29
BLAKE2b-256 26f635e799d7ec6d628e4c2ec70b587a521e0beaf5ddc7579f5b419ec1b3ec16

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0446c0fa2c4544bc177a3c578ec5cec9c4243dc38e4bc0ba66b3b3d949ae5b08
MD5 7513e0b0d4d382fee4f4eb173805c89c
BLAKE2b-256 0552c5a04d22173fe2bc8481888e53a875f559cbbd9900912051da1f9f2b5b50

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2e890660af6609def0152923d741acd0b7a5069bc9c35353b1282c7ecde70224
MD5 fdfeb6e163b8d108222d56c7448b070a
BLAKE2b-256 73fb5c2f3905e51ab5bca614bcaf8da2b0955c75171cb62d904221712c64d208

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 41bf8ebd307df06ef2c888a2e70a37583285292a0ab0627e0f743022424c95cc
MD5 8bf637c805a4feb19e0b8a9f7186851b
BLAKE2b-256 004817a390256d889e5ec077b73686aef51e7ac7180aeac84fd254f308b015fc

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 be3db34761d623f40629c86e8ce933fa5bdf7cbd4772286d629ce6115fca5fab
MD5 d78112d3d20e85c8513257d2e58d0404
BLAKE2b-256 951dacfa391e145f2068990217fc27455ad21105260168d042b5b5a1aa8fccc4

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 89656283374e4da4ca2395da41841f5d8ab51f79f5603f219eb4ef990c5165e1
MD5 b0efcc2e3a2de163ec3c9215fcd37155
BLAKE2b-256 9893aec15a576d8470da7f66249f425a10d80f89adb86c73be20a5d92a9e6510

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8881c76c7e18ee7fd9a6707ff122c3314e22a6befa4694471694c12744a50252
MD5 d356ab6c08b789c168e1819b1deb9e1d
BLAKE2b-256 80581cd23c6a30db2344d1b331bbd6a5c39d40f1d2483211cf95a36a5c4c10ce

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 db51688849e9962c0f5a3e90d045562e67f72c85a4f7a3b34eab20365c95b6a9
MD5 6b4ce056b19008bdf53a162f5e0e0fad
BLAKE2b-256 c4414aa900bc74d07485cec94422fe27ef5dec611845333eeb1bfd6f9fceae1a

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 e5e4f4daf09079bee2be83e4459383dcc21cad2b948b78e875b505506b9a67d5
MD5 77aaa25a0e83c86719768452c2273362
BLAKE2b-256 8f4bbc0d34837b2247c1d8b627400c3581c58b99b927b5d421397434960190d3

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 b010978e5b2eb1f5090bae5edea90788dd2af6c9d3937838f6e679f7847a8cb3
MD5 98744f934d6c2926c68a97a1e734d47f
BLAKE2b-256 e61942a5b8141cfaddaed9ecc6012f1ca7503e5a061b9ed576372896116dd60c

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d69b3e9979ad91be7c90bd6fb3fc44add591b7d70790cf1d181e4605aacc2d37
MD5 2df18de1346986389279166b40358d02
BLAKE2b-256 9c628e2c66bd6f01c251eeeefdabd121311fa09bac3da714e8c80ed7c32d489a

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e521b2e359fc0781377f51b25e340b5f858f4427e577ba9b9688e5403f3cad4a
MD5 6627c85c7ec29541340f0275ff29c5c2
BLAKE2b-256 2b4185f50f1e2bc16ba6622fc5d54d6c387ed1d0ed6286272c1ae8eb17069f60

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ba6768c09f02e552cff30693b88a22d8b82e129437809d07c0ebd528f4464571
MD5 d27335e2b493c20611d621f36375c8c2
BLAKE2b-256 ec9972975d2eb789a0c07605e3378e0e3c9eb39e1829b216693ba5756d9693a0

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5375019d291253755b4f9ee3c3311a90190df7e8a5334d30d999828bca2613b3
MD5 461cd12e661cd7bbf5e8ec50655f9a68
BLAKE2b-256 36074c0767ee06127e7e9cc9967e80c0e1552a5d98bbee4d020bc47a0a444479

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 cc80326c60fc9b9f8409988e41455bbde640b92e37edb05bb06232ddbad69559
MD5 6858610fa5e97d16e0fd4f4bb4cd539c
BLAKE2b-256 b39c4045f5cc2e80fa95612c2516295673b540d3e675ea1d7a843ebab2852510

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 05a91fea88dad5b13be73f4a1445ff7928234c00b5beba083ed6cfe61e2ffa8e
MD5 06fe0c0c73b109067cdd0ad602242ffb
BLAKE2b-256 8a4710a6a9216cfa40dbae33743e41e4ea82148f067d35542fa0bfbafd7f08d8

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7dbea66e606451e59b8d657d6a61104800e6d463d3e027f93ce6337018ebf9e5
MD5 4aae2c73a078f212ec6e57f6e8a0fb12
BLAKE2b-256 e7546efbab150d385a463991cb17c1170408e971b7dd343e2df0ec1b7a1ebf7b

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34f0bf20f21732843fa423f6224dc2528f1ee179ed2e74821b512e91c3c68e5d
MD5 e3ccff53a8b311712b696145dbdd08c9
BLAKE2b-256 e579a2400d81275e01f5252937319d0b32e65305a137752635ba890ed7f0a495

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 56b55ca21889f54d62ad10aed7f33ffe9091d11a84b2dcccfee0eeaa2aa96697
MD5 81715303f4aa0cf7e73714480c855d07
BLAKE2b-256 67d9f8c6fe33a139861cc517f99248e709c68a4fa060e12a98f0f3a9a5a8836d

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 4e6f1774bb05e63685503d083ad79e914a8658b63cc9bcd4e0ffe96c96fc9dab
MD5 bfb44add03bd53b5b4f67bed59028204
BLAKE2b-256 d08be04da580d2ff0a8f20280353b474aaf53221af6479b43ba58faa5ebcb2f7

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4c114828c6713f5f40f64aa43bf17d82b44213be30e6a8d0a920f3105025a1b5
MD5 0497264a8ef71285d74385923fa1d2d3
BLAKE2b-256 b2f728965bc569a99c9563aa0fd2cbb9e9aa928edc76131f8a80e62b625fb7f9

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 847789e0342bae88a874efaddeb1bd197501879a39d6e59a2c07b14154ac48fc
MD5 3ddb482d282afa68ebbab21cacac2013
BLAKE2b-256 2e8071296ab9dd34204a7b4be7c5ba1553db7aa915d740a5d5eab85e5b6dd475

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bf305d3b94b310c32e25a3b999e001712c878d84538cf0a292cb6cb86fcfe9dc
MD5 aa2a597f4f20ea92262724549cde906c
BLAKE2b-256 a2f2401b61c970cc17a6d6a14fd6323d1390fe145597d2437bd22315c3135824

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ae5ebe82fad8548087c688d2b811da2406ea9dc0c5725eed9dff750a85fa8d00
MD5 58a06ab75516a447ae0758f06a803e34
BLAKE2b-256 1ae9067f5876c4e322a1360f85cebefda1129f2dd0df25a57d29dc17c651458d

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 53690fe6a8a966dcff086b86cb5358576bf6e125e90347f31c55bff09d70a492
MD5 9a56483f0065ab51d5c5a0dd339b6b10
BLAKE2b-256 14ad6663b3ebb18a075c9746318a90ae74be3c6cfe499b5b1f53f6fe1d69b811

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 914daf26f4dfe4c4dc20e84e0002c43efc99c7c9008b4035c29ce1ae48b4c01c
MD5 ae40093aeaeeada403be595ffe8bae3f
BLAKE2b-256 8cebbeb6f19f845fc5178062652d0424e15489c980a1fcbbadfa93a12f1e4fd7

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 51ecbcbfaedd22f2dee7dbbb87ddbb08019c5174517143bb21fe6446abe008fa
MD5 88863951003f785aa1a3f786ef07ac1a
BLAKE2b-256 0b3013ec54befaa31dff58f59f997a682bc18f7fb20ae8df807af06b33b40286

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecfdd2b9ad6eed6a5af53afc822ae0efe92007c982541747c7f64bb88d4c0437
MD5 44f96cd3786e24bff4045a9bb2d7963c
BLAKE2b-256 057365b5ebd978d70b82dd5f75cced77693e65746bfe863f829734871e3ce89b

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 99779567c3dcdc2f4a664f39ea6871ee14a5f132017f9a6485c5b8415397b96a
MD5 de7fde1426155ba2ceef5d8a5c2a5e4e
BLAKE2b-256 14f5c7776a1d8518e2aeef58d1348c3e5ace19f0b5a8b4e40252c5db4ed19c41

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 45b91933509100ee25f5b1863f61e16082275806ed315e7ae7605dd3059e7366
MD5 d10a2ebb1b62884c38781f7b28eaf9af
BLAKE2b-256 dbc0400e2241641dfe7184eeda2c063070e8da526f39415c981b1ac24b14cf0e

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2c4c6814a10f52595f2fd1298164eead4e6a7b0376d4304ea6238fd71dcbd546
MD5 bd67f49b7aed39e8fcc6798b5962bc5b
BLAKE2b-256 e3be948e17a5f261539abc9fa1ef93c52eed7fd35a8972e7d241b7d1fc55c6a4

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 448401a59b7c185d0a6e70351f34e92cdabc965d2b1194a53b856fa7f4d8c9fb
MD5 66c826e9e4a7997cfb8ddd5a4e824802
BLAKE2b-256 f4461e5257b9e69d8244fc4a9cd5c5a0b4c39e36f13d85f2d3c63b1bb1e3406b

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 721595f8a14ffb90dd9f5754023cf9a33c976ed01b7fcbb8b9a4336c1ee9876f
MD5 bd90513b7cac938bf094bcb61808785c
BLAKE2b-256 a5ea394e2698c75c09f60e3f07c2da85efbf75097ea71c69ad7ac5185bcc71b8

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 31d844a4b141c63d6d2da51aaa3e8fd260b5e01fbdfa0c4a7a9f495714026a37
MD5 0eb3ba6017e33d3ac6f7a532f6927bd3
BLAKE2b-256 4bfe5e6df031956f44ec04295b5a88453800febb910708aaaff2f12207146af1

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 f7a5dd87c52f1996680e7a6510296ddfe6238a93cbf982d532b1272a445a8d2a
MD5 baa1c3531caf7ccf5ca3038832bc0933
BLAKE2b-256 5c6d36dfe7acbaf67a1b98246d60c6f567055e9b0bdecf86937007865cbd4a6b

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4f3c1878f7472704c1c3ea3cbf9a22631b7c87071ccb27390b84a1a1146f0216
MD5 a77085ff7d371427bba45a993e5462f4
BLAKE2b-256 ffd3e65a8b5a3620ff48e448bd4ea70d5714d67cf99a1fa359d9e3fdcb9693f5

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 11d8acf3fdd415d9bb60577c0ee3c51fa92f91e69deea3de41bea07bc3cd7291
MD5 3532852e504ced39e1f7ffcd47d29083
BLAKE2b-256 6d8fdedcb61f9e5325ace88300865a51d1f98bd130fb4681bba942d8a1805936

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4846f434a27120971993d3e26ae7c6b7ddd2da53678ca841c43748065b9c551
MD5 0116b52b6b0a4b6638e7788cf83f4868
BLAKE2b-256 ac845ebf761920f4254365090c3e2953bc65edf175b0ffa626bca35fa29f81e9

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_i686.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 be97349f1de2554966870cad4b4679616f6812b7bc628140f6dc73fc34ae0013
MD5 00952fc43255f6059ffe6c794266936a
BLAKE2b-256 19965499cee9cf0178bc1d05b0507b58e9bf9d24e1e6f3d7f968fe468441afff

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 e95119737cd4d9488766dfd430d9db318bf2af504ef61195ea02ef0b21354292
MD5 c09b483d79ebe76f9310145f873767e0
BLAKE2b-256 3c0915bcb0cf00a0b462523d079efda8cba573374823c64b17acc5d2d80bfada

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 65707a644daab71cc8d7518af72b45ce68d875621bba51b3bb977b0ed5f00f1f
MD5 eb7c7cc405c23dfe013cc2e281aa8200
BLAKE2b-256 fbb740eb54597e865ef166194ad5c433b7c5640061baa58f520414fddfb5f650

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e96394860e7f396bda31905e80753c4f2fed5305ae410150f51407f0a7b2544
MD5 3bf87aacab18bfa142c4b9483b73631b
BLAKE2b-256 845feb9b8dcfe1c949b29f09a6b461f208873fc3be957111c5e8472cdfb3a21b

See more details on using hashes here.

File details

Details for the file tor_native_requests-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tor_native_requests-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a1f129a203b958bcfcfeee0c04ecdf4aeb7b885d628ca72484cdf6638fe57d1e
MD5 ae220350ea09c4a6a3eaf375afd1e961
BLAKE2b-256 df787e85785e3b5a9b385948f52ff0568dd5a1777408a188dc14c41d8a29eb2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page