Skip to main content

Concurrent threaded URL fetcher for data engineering workflows

Project description

threaded-fetcher

A small Python package that fetches many URLs concurrently using threads, records per-task timing, supports retries with exponential backoff, and optional rate limiting.

Features

  • ThreadPoolExecutor-based concurrency
  • Per-task start/end timestamps and elapsed time
  • Retries with exponential backoff
  • Token-bucket rate limiter
  • Load URLs from .txt, .csv, .xlsx, .json
  • Save results to .csv, .json, .xlsx (multi-sheet summary), .parquet, .feather, .sqlite
  • Auto-detect URL column names (e.g. url, link, Career Page Link)
  • Colored console output and summary metrics

Installation

Create and activate a virtualenv, then install:

python -m venv .venv
# Windows (PowerShell)
.\.venv\Scripts\Activate.ps1
# macOS / Linux
# source .venv/bin/activate

pip install -e .
pip install openpyxl pyarrow colorama tqdm

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

threaded_fetcher-0.2.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

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

threaded_fetcher-0.2.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file threaded_fetcher-0.2.1.tar.gz.

File metadata

  • Download URL: threaded_fetcher-0.2.1.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for threaded_fetcher-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c1618543e846ea18437192023867a2875068e14f4452a14a67aecdd95d634e0d
MD5 1dee290aaf8d0365d09b9371777d7a27
BLAKE2b-256 8b672192646ae02508b114042add45b4e802203f0f4e49799f9c9382ee19cc5b

See more details on using hashes here.

File details

Details for the file threaded_fetcher-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for threaded_fetcher-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5cacdf39349b85cbe099710008f6e1b3a18510ecf172d78097e576ffedf48a7e
MD5 c3f6dd0774514202369678495e0b0ec9
BLAKE2b-256 2c0b8015ee77521b9b8797dc2ccc670221fe61eee53356ee70e6ff728f7a8f05

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