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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| fitgirl-0.2.0.tar.gz | 30.6 kB | With provenance | Details for fitgirl-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fitgirl-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for fitgirl-0.2.0-py3-none-any.whl |
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 logSecurity for fitgirl 0.2.0
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.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for fitgirl-0.2.0.tar.gz
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 logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.