$npx skillfedfor your agent

tls-client

Advanced Python HTTP Client.

With conditionsPyPI LibrariesReleased Feb 2024831.7K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — tls_client-1.0.1-py3-none-any.whl
v1.0.1 · released 2024-02-02

Yes, if you need to bypass TLS fingerprinting-based detection or emulate specific browser clients in HTTP requests. The low install friction, permissive license, and requests-like API make it straightforward to adopt. However, maintenance is dormant (last release February 2024); use it for stable, long-term tasks where you do not expect active feature development or rapid security updates. Not suitable if you need ongoing support or compatibility with cutting-edge TLS standards.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Platform-specific compiled dependencies (tls-client-x86.so, tls-client-amd64.so, tls-client-x86.dylib, tls-client-arm64.dylib, or tls-client-64.dll) are bundled; if packaging with Pyinstaller or Pyarmor, these must be explicitly included via --add-binary flags.
  • Low friction: pure Python wheel with no runtime dependencies.
  • Maintenance is dormant (924 days since last release, last commit 2024-07-30), but the repository is not archived and has modest community interest (819 stars).

License · maintenance · safety

MIT (permissive) — MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions, making it safe for both open-source and commercial projects.

last release 2024-02-02 (924 days) · last repo commit 2024-07-30 · 819 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 831,748 downloads/mo, #4,942 on PyPI

Verify before relying

import tls_client

session = tls_client.Session(client_identifier="chrome112")
res = session.get("https://www.example.com/", headers={"key1": "value1"})
  • Whether the package's TLS fingerprinting remains effective against evolving anti-bot detection techniques.
  • Current compatibility with modern TLS 1.3 and HTTP/2 implementations beyond the preset client identifiers listed.
  • Performance characteristics and latency overhead compared to standard requests library.
Same gist for agents: .md · .json

What it is and what it does

tls-client is an HTTP client library that wraps a Go-based TLS client to provide fine-grained control over TLS handshake parameters and HTTP/2 settings. It exposes a requests-like API, so developers familiar with requests can use it with minimal syntax changes. The core purpose is to allow your Python code to impersonate specific browsers (Chrome, Firefox, Safari, Opera) and mobile clients (iOS, Android) by customizing TLS fingerprints, cipher suites, supported algorithms, and HTTP/2 frame settings.

The package is designed for scenarios where standard HTTP clients are blocked or rate-limited by detection systems. It ships with preset client identifiers for common browsers and versions, or you can supply custom JA3 strings and detailed TLS configuration. It has no external runtime dependencies and is available as a pure Python wheel, though it bundles platform-specific compiled binaries (shared objects, DLLs, or dylibs) that must be present at runtime.

Use it for

  • Scraping websites that block or throttle requests from standard HTTP clients by emulating a real browser fingerprint.
  • Testing web services that implement bot detection or client validation based on TLS handshake characteristics.
  • Accessing APIs behind anti-scraping middleware by rotating through preset browser identifiers (Chrome, Firefox, Safari).
  • Researching or auditing TLS fingerprinting detection by crafting custom JA3 strings and HTTP/2 settings.
  • Automating HTTP requests in environments where the client identity matters (e.g., CDN or WAF bypass scenarios).

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need to bypass TLS fingerprinting-based detection or emulate specific browser clients in HTTP requests.

The low install friction, permissive license, and requests-like API make it straightforward to adopt. However, maintenance is dormant (last release February 2024); use it for stable, long-term tasks where you do not expect active feature development or rapid security updates. Not suitable if you need ongoing support or compatibility with cutting-edge TLS standards.

Install

tls-client on PyPI

Before you install

Low friction: pure Python wheel with no runtime dependencies. Maintenance is dormant (924 days since last release, last commit 2024-07-30), but the repository is not archived and has modest community interest (819 stars). Suitable for stable, established use cases where active development is not expected.

Platform-specific compiled dependencies (tls-client-x86.so, tls-client-amd64.so, tls-client-x86.dylib, tls-client-arm64.dylib, or tls-client-64.dll) are bundled; if packaging with Pyinstaller or Pyarmor, these must be explicitly included via --add-binary flags.

License in practice

MIT license is permissive; you may use, modify, and distribute this package freely with minimal restrictions, making it safe for both open-source and commercial projects.

Quickstart

import tls_client

session = tls_client.Session(client_identifier="chrome112")
res = session.get("https://www.example.com/", headers={"key1": "value1"})

Verify before relying

  • Whether the package's TLS fingerprinting remains effective against evolving anti-bot detection techniques.
  • Current compatibility with modern TLS 1.3 and HTTP/2 implementations beyond the preset client identifiers listed.
  • Performance characteristics and latency overhead compared to standard requests library.

Package facts

LicenseMIT permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceDormant 924 days since the last release
Last repo commit
First released
Downloads831,748 / month, #4,942 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Environment :: Web EnvironmentIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Internet :: WWW/HTTPTopic :: Software Development :: Libraries

Evidence: tls_client-1.0.1-py3-none-any.whl

Tags

Capabilities
tls fingerprinting http clientbrowser fingerprint spoofingbypass http detectionrequests-like tls clientchrome firefox safari http emulationanti-bot http libraryja3 tls customization
Topics
tls-fingerprintinganti-detectionweb-scraping

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “chrome firefox safari http emulation”

  • tls-clientAn HTTP client library that mimics the requests API but uses TLS…
  • rnetAn HTTP client library with browser fingerprinting that emulates…
  • primpHTTP client library that mimics real web browsers by impersonating…

Give your agent the search over MCP, or paste the wish link into any chat.

More Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
python-dateutil Worth it
PyPI · Libraries · released Mar 2024

Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.

Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Apache-2.0pure Python
1.2Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo

See also wrapper-tls-requests · rnet · primp · fake-headers · wreq · browserforge · wafer-py · browser-cookie3 · uncurl · curlify