Skip to content

Commit c4e25d7

Browse files
chore: remove dependencies
1 parent aae2b74 commit c4e25d7

File tree

8 files changed

+164
-59
lines changed

8 files changed

+164
-59
lines changed

requirements.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
# Base
22
chardet~=5.2.0
3-
requests~=2.32.3
4-
tqdm~=4.67.1
53
idna~=3.10

setup.cfg

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ license_file = LICENSE
66
python_requires = >=3.8
77
install_requires =
88
chardet ~= 5.2.0
9-
requests ~= 2.32.3
10-
tqdm ~= 4.67.1
119
idna ~= 3.10
1210
classifiers =
1311
Development Status :: 5 - Production/Stable

tls_requests/client.py

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,11 @@ def __init__(
119119
self.max_redirects = max_redirects
120120
self.http2 = http2
121121
self.verify = verify
122-
self.client_identifier = TLSIdentifierRotator.from_file(client_identifier) if isinstance(client_identifier, list) else client_identifier
122+
self.client_identifier = (
123+
TLSIdentifierRotator.from_file(client_identifier)
124+
if isinstance(client_identifier, list)
125+
else client_identifier
126+
)
123127
self.encoding = encoding
124128

125129
@property
@@ -191,7 +195,9 @@ def prepare_auth(
191195

192196
return auth
193197

194-
def prepare_headers(self, headers: HeaderTypes = None, user_agent: Optional[str] = None) -> Headers:
198+
def prepare_headers(
199+
self, headers: HeaderTypes = None, user_agent: Optional[str] = None
200+
) -> Headers:
195201
"""Prepare Headers. Gets base headers from rotator if available."""
196202
if headers is None:
197203
return self.headers.copy()
@@ -224,14 +230,18 @@ def prepare_proxy(self, proxy: ProxyTypes | None) -> Optional[Proxy]:
224230
return Proxy(str(proxy))
225231
raise TypeError(f"Unsupported proxy type: {type(proxy)}")
226232

227-
def prepare_tls_identifier(self, identifier: Optional[str, TLSIdentifierRotator]) -> str:
233+
def prepare_tls_identifier(
234+
self, identifier: Optional[str, TLSIdentifierRotator]
235+
) -> str:
228236
if isinstance(identifier, str):
229237
return identifier
230238
if isinstance(identifier, TLSIdentifierRotator):
231239
return identifier.next()
232240
return DEFAULT_TLS_IDENTIFIER
233241

234-
def prepare_config(self, request: Request, tls_identifier: str = DEFAULT_TLS_IDENTIFIER):
242+
def prepare_config(
243+
self, request: Request, tls_identifier: str = DEFAULT_TLS_IDENTIFIER
244+
):
235245
"""Prepare TLS Config"""
236246

237247
config = self.config.copy_with(
@@ -516,9 +526,13 @@ def send(
516526
response = self._send(request, start=time.perf_counter(), history=[])
517527

518528
if isinstance(self.proxy, ProxyRotator) and response.request.proxy:
519-
proxy_success = 200 <= response.status_code < 500 and response.status_code not in [407]
529+
proxy_success = (
530+
200 <= response.status_code < 500 and response.status_code not in [407]
531+
)
520532
self.proxy.mark_result(
521-
proxy=response.request.proxy, success=proxy_success, latency=response.elapsed
533+
proxy=response.request.proxy,
534+
success=proxy_success,
535+
latency=response.elapsed,
522536
)
523537

524538
if self.hooks.get("response"):
@@ -761,7 +775,9 @@ class AsyncClient(BaseClient):
761775
**Parameters:** See `tls_requests.BaseClient`.
762776
"""
763777

764-
async def aprepare_headers(self, headers: HeaderTypes = None, user_agent: Optional[str] = None) -> Headers:
778+
async def aprepare_headers(
779+
self, headers: HeaderTypes = None, user_agent: Optional[str] = None
780+
) -> Headers:
765781
"""Prepare Headers. Gets base headers from rotator if available."""
766782
if headers is None:
767783
return self.headers.copy()
@@ -1076,9 +1092,13 @@ async def send(
10761092
response = await self._send(request, start=time.perf_counter(), history=[])
10771093

10781094
if isinstance(self.proxy, ProxyRotator) and response.request.proxy:
1079-
proxy_success = 200 <= response.status_code < 500 and response.status_code not in [407]
1095+
proxy_success = (
1096+
200 <= response.status_code < 500 and response.status_code not in [407]
1097+
)
10801098
await self.proxy.amark_result(
1081-
proxy=response.request.proxy, success=proxy_success, latency=response.elapsed
1099+
proxy=response.request.proxy,
1100+
success=proxy_success,
1101+
latency=response.elapsed,
10821102
)
10831103

10841104
if self.hooks.get("response"):

tls_requests/models/cookies.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,7 @@ def __setstate__(self, state):
350350
self.__dict__.update(state)
351351
if "_cookies_lock" not in self.__dict__:
352352
import threading
353+
353354
self._cookies_lock = threading.RLock()
354355

355356
def copy(self):

tls_requests/models/libraries.py

Lines changed: 109 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -137,42 +137,106 @@ class TLSLibrary:
137137
"name": "v1.11.2",
138138
"tag_name": "v1.11.2",
139139
"assets": [
140-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-darwin-amd64-1.11.2.dylib', 'name': 'tls-client-darwin-amd64-1.11.2.dylib'},
141-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-darwin-arm64-1.11.2.dylib', 'name': 'tls-client-darwin-arm64-1.11.2.dylib'},
142-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-linux-alpine-amd64-1.11.2.so', 'name': 'tls-client-linux-alpine-amd64-1.11.2.so'},
143-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-linux-arm64-1.11.2.so', 'name': 'tls-client-linux-arm64-1.11.2.so'},
144-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-linux-armv7-1.11.2.so', 'name': 'tls-client-linux-armv7-1.11.2.so'},
145-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-linux-ubuntu-amd64-1.11.2.so', 'name': 'tls-client-linux-ubuntu-amd64-1.11.2.so'},
146-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-windows-32-1.11.2.dll', 'name': 'tls-client-windows-32-1.11.2.dll'},
147-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-windows-64-1.11.2.dll', 'name': 'tls-client-windows-64-1.11.2.dll'},
148-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-darwin-amd64.dylib', 'name': 'tls-client-xgo-1.11.2-darwin-amd64.dylib'},
149-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-darwin-arm64.dylib', 'name': 'tls-client-xgo-1.11.2-darwin-arm64.dylib'},
150-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-386.so', 'name': 'tls-client-xgo-1.11.2-linux-386.so'},
151-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-amd64.so', 'name': 'tls-client-xgo-1.11.2-linux-amd64.so'},
152-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-arm-5.so', 'name': 'tls-client-xgo-1.11.2-linux-arm-5.so'},
153-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-arm-6.so', 'name': 'tls-client-xgo-1.11.2-linux-arm-6.so'},
154-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-arm-7.so', 'name': 'tls-client-xgo-1.11.2-linux-arm-7.so'},
155-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-arm64.so', 'name': 'tls-client-xgo-1.11.2-linux-arm64.so'},
156-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-ppc64le.so', 'name': 'tls-client-xgo-1.11.2-linux-ppc64le.so'},
157-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-riscv64.so', 'name': 'tls-client-xgo-1.11.2-linux-riscv64.so'},
158-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-s390x.so', 'name': 'tls-client-xgo-1.11.2-linux-s390x.so'},
159-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-windows-386.dll', 'name': 'tls-client-xgo-1.11.2-windows-386.dll'},
160-
{'browser_download_url': 'https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-windows-amd64.dll', 'name': 'tls-client-xgo-1.11.2-windows-amd64.dll'}],
140+
{
141+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-darwin-amd64-1.11.2.dylib",
142+
"name": "tls-client-darwin-amd64-1.11.2.dylib",
143+
},
144+
{
145+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-darwin-arm64-1.11.2.dylib",
146+
"name": "tls-client-darwin-arm64-1.11.2.dylib",
147+
},
148+
{
149+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-linux-alpine-amd64-1.11.2.so",
150+
"name": "tls-client-linux-alpine-amd64-1.11.2.so",
151+
},
152+
{
153+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-linux-arm64-1.11.2.so",
154+
"name": "tls-client-linux-arm64-1.11.2.so",
155+
},
156+
{
157+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-linux-armv7-1.11.2.so",
158+
"name": "tls-client-linux-armv7-1.11.2.so",
159+
},
160+
{
161+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-linux-ubuntu-amd64-1.11.2.so",
162+
"name": "tls-client-linux-ubuntu-amd64-1.11.2.so",
163+
},
164+
{
165+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-windows-32-1.11.2.dll",
166+
"name": "tls-client-windows-32-1.11.2.dll",
167+
},
168+
{
169+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-windows-64-1.11.2.dll",
170+
"name": "tls-client-windows-64-1.11.2.dll",
171+
},
172+
{
173+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-darwin-amd64.dylib",
174+
"name": "tls-client-xgo-1.11.2-darwin-amd64.dylib",
175+
},
176+
{
177+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-darwin-arm64.dylib",
178+
"name": "tls-client-xgo-1.11.2-darwin-arm64.dylib",
179+
},
180+
{
181+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-386.so",
182+
"name": "tls-client-xgo-1.11.2-linux-386.so",
183+
},
184+
{
185+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-amd64.so",
186+
"name": "tls-client-xgo-1.11.2-linux-amd64.so",
187+
},
188+
{
189+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-arm-5.so",
190+
"name": "tls-client-xgo-1.11.2-linux-arm-5.so",
191+
},
192+
{
193+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-arm-6.so",
194+
"name": "tls-client-xgo-1.11.2-linux-arm-6.so",
195+
},
196+
{
197+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-arm-7.so",
198+
"name": "tls-client-xgo-1.11.2-linux-arm-7.so",
199+
},
200+
{
201+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-arm64.so",
202+
"name": "tls-client-xgo-1.11.2-linux-arm64.so",
203+
},
204+
{
205+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-ppc64le.so",
206+
"name": "tls-client-xgo-1.11.2-linux-ppc64le.so",
207+
},
208+
{
209+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-riscv64.so",
210+
"name": "tls-client-xgo-1.11.2-linux-riscv64.so",
211+
},
212+
{
213+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-linux-s390x.so",
214+
"name": "tls-client-xgo-1.11.2-linux-s390x.so",
215+
},
216+
{
217+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-windows-386.dll",
218+
"name": "tls-client-xgo-1.11.2-windows-386.dll",
219+
},
220+
{
221+
"browser_download_url": "https://github.com/bogdanfinn/tls-client/releases/download/v1.11.2/tls-client-xgo-1.11.2-windows-amd64.dll",
222+
"name": "tls-client-xgo-1.11.2-windows-amd64.dll",
223+
},
224+
],
161225
}
162226

163227
@staticmethod
164228
def _parse_version(version_string: str) -> Tuple[int, ...]:
165229
"""Converts a version string (e.g., "v1.11.2") to a comparable tuple (1, 11, 2)."""
166230
try:
167-
parts = version_string.lstrip('v').split('.')
231+
parts = version_string.lstrip("v").split(".")
168232
return tuple(map(int, parts))
169233
except (ValueError, AttributeError):
170234
return 0, 0, 0
171235

172236
@staticmethod
173237
def _parse_version_from_filename(filename: str) -> Tuple[int, ...]:
174238
"""Extracts and parses the version from a library filename."""
175-
match = re.search(r'v?(\d+\.\d+\.\d+)', Path(filename).name)
239+
match = re.search(r"v?(\d+\.\d+\.\d+)", Path(filename).name)
176240
if match:
177241
return TLSLibrary._parse_version(match.group(1))
178242
return 0, 0, 0
@@ -195,9 +259,7 @@ def cleanup_files(cls, keep_file: str = None):
195259
@classmethod
196260
def fetch_api(cls, version: str = None, retries: int = 3):
197261
def _find_release(data, version_: str = None):
198-
releases = [
199-
Release.from_kwargs(**kwargs) for kwargs in data
200-
]
262+
releases = [Release.from_kwargs(**kwargs) for kwargs in data]
201263

202264
if version_ is not None:
203265
version_ = (
@@ -226,7 +288,7 @@ def _find_release(data, version_: str = None):
226288
# Use standard library's urllib to fetch API data
227289
with urllib.request.urlopen(GITHUB_API_URL, timeout=10) as response:
228290
if response.status == 200:
229-
content = response.read().decode('utf-8')
291+
content = response.read().decode("utf-8")
230292
_find_release(json.loads(content))
231293
break
232294
except Exception as ex:
@@ -281,7 +343,9 @@ def download(cls, version: str = None) -> str:
281343
# Use standard library's urllib to download the file
282344
with urllib.request.urlopen(download_url, timeout=10) as response:
283345
if response.status != 200:
284-
raise urllib.error.URLError(f"Failed to download file: HTTP {response.status}")
346+
raise urllib.error.URLError(
347+
f"Failed to download file: HTTP {response.status}"
348+
)
285349

286350
os.makedirs(BIN_DIR, exist_ok=True)
287351
total_size = int(response.headers.get("content-length", 0))
@@ -301,9 +365,15 @@ def download(cls, version: str = None) -> str:
301365
if total_size > 0:
302366
percent = downloaded / total_size * 100
303367
bar_length = 50
304-
filled_length = int(bar_length * downloaded // total_size)
305-
bar = "=" * filled_length + '-' * (bar_length - filled_length)
306-
sys.stdout.write(f'\rDownloading {destination_name}: [{bar}] {percent:.1f}%')
368+
filled_length = int(
369+
bar_length * downloaded // total_size
370+
)
371+
bar = "=" * filled_length + "-" * (
372+
bar_length - filled_length
373+
)
374+
sys.stdout.write(
375+
f"\rDownloading {destination_name}: [{bar}] {percent:.1f}%"
376+
)
307377
sys.stdout.flush()
308378

309379
print() # Newline after download completes
@@ -351,15 +421,20 @@ def _load_library(fp_):
351421
newest_local_version = file_version
352422
newest_local_file = file_path
353423
print(
354-
f"Found newest local library: {newest_local_file} (version {'.'.join(map(str, newest_local_version))})")
424+
f"Found newest local library: {newest_local_file} (version {'.'.join(map(str, newest_local_version))})"
425+
)
355426
else:
356427
print("No local library found.")
357428

358429
if newest_local_version < target_version:
359430
if newest_local_file:
360-
print(f"Local library is outdated. Upgrading to {LATEST_VERSION_TAG_NAME}...")
431+
print(
432+
f"Local library is outdated. Upgrading to {LATEST_VERSION_TAG_NAME}..."
433+
)
361434
else:
362-
print(f"Downloading required library version {LATEST_VERSION_TAG_NAME}...")
435+
print(
436+
f"Downloading required library version {LATEST_VERSION_TAG_NAME}..."
437+
)
363438

364439
downloaded_fp = cls.download(version=LATEST_VERSION_TAG_NAME)
365440
if downloaded_fp:

0 commit comments

Comments
 (0)