--- id: tls-client version: "1.0.1" license: MIT license_treatment: permissive maintenance: dormant --- # tls-client — Advanced Python HTTP Client. License: permissive · Maintenance: dormant · Downloads: 831.7K/mo ## 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 above — verify before relying. An HTTP client library that mimics the requests API but uses TLS fingerprinting to emulate specific browser and mobile client identities, helping bypass detection systems that block standard HTTP clients. 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 pip install tls-client uv add tls-client poetry add tls-client ## Installing tls-client 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. 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"}) 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. 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 - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: dormant - Downloads: 831.7K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags tls fingerprinting http client, browser fingerprint spoofing, bypass http detection, requests-like tls client, chrome firefox safari http emulation, anti-bot http library, ja3 tls customization, tls-fingerprinting, anti-detection, web-scraping [View on SkillFed](https://skillfed.io/packages/tls-client) · [View on PyPI](https://pypi.org/project/tls-client/)