Add your description here
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fitgirl-0.2.0.tar.gz.
File metadata
- Download URL: fitgirl-0.2.0.tar.gz
- Upload date:
- Size: 30.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5071001af88f705a28c674575a947f07429e77e9d33fbbbc26ff5f43f2ed4d1c
|
|
| MD5 |
402fae41353d957c9366154ee7808e37
|
|
| BLAKE2b-256 |
b2761519b446ebcadca8ef9f96e8b5b3ff64457e8544758ec25d818fb9460415
|
Provenance
The following attestation bundles were made for fitgirl-0.2.0.tar.gz:
Publisher:
python-package.yml on xsyncio/fitgirl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fitgirl-0.2.0.tar.gz -
Subject digest:
5071001af88f705a28c674575a947f07429e77e9d33fbbbc26ff5f43f2ed4d1c - Sigstore transparency entry: 847140139
- Sigstore integration time:
-
Permalink:
xsyncio/fitgirl@a39cb40f0c292cb8c0650f702b5253cff6de5d0a -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/xsyncio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-package.yml@a39cb40f0c292cb8c0650f702b5253cff6de5d0a -
Trigger Event:
release
-
Statement type:
File details
Details for the file fitgirl-0.2.0-py3-none-any.whl.
File metadata
- Download URL: fitgirl-0.2.0-py3-none-any.whl
- Upload date:
- Size: 44.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ef0916673ca144bec61ea831af5a34ee3be206982a80e47d863f4184a37fb3c
|
|
| MD5 |
566acb72a6bd5fbc193215701260dd8c
|
|
| BLAKE2b-256 |
0aad6a77bd114cb51e6c579c5cc613d5ba78b2890c6d465217b8a08d82a2b572
|
Provenance
The following attestation bundles were made for fitgirl-0.2.0-py3-none-any.whl:
Publisher:
python-package.yml on xsyncio/fitgirl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fitgirl-0.2.0-py3-none-any.whl -
Subject digest:
2ef0916673ca144bec61ea831af5a34ee3be206982a80e47d863f4184a37fb3c - Sigstore transparency entry: 847140196
- Sigstore integration time:
-
Permalink:
xsyncio/fitgirl@a39cb40f0c292cb8c0650f702b5253cff6de5d0a -
Branch / Tag:
refs/tags/0.2.0 - Owner: https://github.com/xsyncio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-package.yml@a39cb40f0c292cb8c0650f702b5253cff6de5d0a -
Trigger Event:
release
-
Statement type: