High-Performance, Async-First Scraper for the FitGirl Repacks Universe
⚡ Overview
FitGirl Scraper is a production-grade Python library designed to programmatically interact with fitgirl-repacks.site. Unlike simple HTML parsers, it leverages the hidden WordPress REST API for robust data retrieval, falling back to high-speed HTML parsing (via selectolax) only when necessary.
It is built for speed, stealth, and type safety.
✨ Key Features
🚀 Async & Fast |
🛡️ Type Safe |
🕵️ Hybrid Engine |
- Torrent Health: Real-time UDP tracker scraping to check seeds/peers.
- Smart Search: Advanced filtering by category (Lossless, Repack), tags, and dates.
- Resilient: Built-in exponential backoff, retry logic, and error handling.
- Zero-Config: Works out of the box with sensible defaults.
📦 Installation
Requires Python 3.13+. Use uv for the best experience.
uv add fitgirl
Or standard pip:
pip install fitgirl
🚀 Quick Start
import asyncio
from fitgirl import FitGirlClient
async def main():
# Context manager handles session cleanup automatically
async with FitGirlClient() as client:
# 1. Search for a game (Uses API for speed)
print("🔍 Searching for 'Cyberpunk'...")
results = await client.search_api("cyberpunk")
for post in results.items:
print(f"found: {post.title}")
# 2. Get Deep Details
slug = "cyberpunk-2077"
print(f"\n📥 Fetching details for {slug}...")
repack = await client.get_repack_api(slug)
print(f"📦 Size: {repack.repack_size}")
print(f"🧲 Magnet: {repack.torrent_sources[0].magnet.raw_uri[:60]}...")
# 3. Check Real-time Health
health = await client.check_magnet_health(repack.torrent_sources[0].magnet)
if health:
print(f"🟢 Seeds: {health.seeds} | 🔴 Peers: {health.peers}")
if __name__ == "__main__":
asyncio.run(main())
Detailed Usage: Check the Wiki Usage Guide for advanced examples.
📚 Documentation
The documentation is hosted in the GitHub Wiki:
- Home: Architecture & Design.
- Installation: Setup & Requirements.
- Usage Guide: Common patterns & recipes.
- API Reference: Complete method documentation.
- Contributing: How to build & test.
⚖️ Legal & Disclaimer
This software is for educational purposes only. The authors are not affiliated with FitGirl Repacks. Downloading copyrighted material without permission may be illegal in your jurisdiction. Use this tool responsibly.
Release files for fitgirl 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fitgirl-0.2.0.tar.gz | 30.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fitgirl-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 74.6 kB
Release files / fitgirl-0.2.0.tar.gz
| Download URL | fitgirl-0.2.0.tar.gz |
|---|---|
| Size | 30.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5071001af88f705a28c674575a947f07429e77e9d33fbbbc26ff5f43f2ed4d1c
|
|
BLAKE2b-256 checksum How to use checksums |
b2761519b446ebcadca8ef9f96e8b5b3ff64457e8544758ec25d818fb9460415
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 23, 2026.
Transparency logRelease files / fitgirl-0.2.0-py3-none-any.whl
| Download URL | fitgirl-0.2.0-py3-none-any.whl |
|---|---|
| Size | 44.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ef0916673ca144bec61ea831af5a34ee3be206982a80e47d863f4184a37fb3c
|
|
BLAKE2b-256 checksum How to use checksums |
0aad6a77bd114cb51e6c579c5cc613d5ba78b2890c6d465217b8a08d82a2b572
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 23, 2026.
Transparency log