Skip to content
This repository was archived by the owner on Jun 29, 2026. It is now read-only.

bchilton9/MAM-Checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

License Last Commit Python

MAM Library Checker

Scan your local ebook and audiobook collection and compare it against MyAnonamouse (via Prowlarr) to see what you already have vs what might be missing.

✨ Features

  • 📚 Supports ebooks + audiobooks
  • ⚡ Multithreaded (fast scanning)
  • 📊 Live progress + ETA
  • 🧠 Smart matching:
    • title
    • author
    • series
    • book number
  • 🔁 Resume support (skips already FOUND items)
  • 💾 Caching (dramatically faster re-runs)
  • 📈 Outputs CSV with:
    • FOUND / PARTIAL / MISSING
    • match score
    • best match on MAM
    • search query used

🧰 Requirements

  • Python 3.9+
  • Prowlarr with MyAnonamouse configured

Install dependencies:

pip install requests rapidfuzz ebooklib pypdf

⚙️ Configuration

Edit these values in the script:

BOOK_DIRS = [
    ("/your/ebooks", "ebook"),
    ("/your/audiobooks", "audiobook"),
]

PROWLARR_URL = "http://your-prowlarr:9696"
PROWLARR_API_KEY = "your_api_key"
INDEXER_IDS = [52]  # your MAM indexer ID

▶️ Usage

python3 mam_checker.py

📊 Output

Creates:

mam_missing_report.csv

With columns:

  • status → FOUND / PARTIAL / MISSING
  • match_score
  • title
  • author
  • series
  • book_number
  • best_mam_match
  • searched_query
  • type (ebook/audiobook)
  • cache_hits
  • live_hits
  • error
  • local_file

🧠 Matching Logic

The script uses fuzzy matching:

  • Title = primary signal
  • Author = secondary
  • Series = bonus signal
  • Book number = small boost

Status meanings:

Status Meaning
FOUND Very strong match
PARTIAL Likely match but uncertain
MISSING No good match found
ERROR API or parsing issue

⚡ Performance

  • First run: slower (builds cache)
  • Future runs: much faster due to:
    • cached search results
    • skipping FOUND items

Cache file:

prowlarr_search_cache.json

🗂️ Recommended Folder Structure

/Books/
  Author/
    Series/
      Author - Series 01 - Title.epub

/Audiobooks/
  Author/
    Series/
      Author - Series 01 - Title.m4b

🔧 Tips

  • Lower FOUND_MATCH if too many false MISSING
  • Raise it if too many false positives

Start with:

MAX_WORKERS = 4

⚠️ Notes

  • Matching is heuristic — not perfect
  • Torrent titles are messy
  • Expect some PARTIAL results

📜 License

MIT – free to use and modify. Not affiliated with theme.park or any of the apps.


🙌 Credits

Based on the incredible work of MyAnonamouse.


🛠 Made By

ChilSoft.com with caffeine and questionable commits.


⚠️ Disclaimer

This site and its contents are provided for informational and educational purposes only.

Use any code, tools, or instructions at your own risk.
We are not responsible for any damage to your device, data loss, or unintended consequences.

Always proceed with care — and make backups.

© 2025 ChilSoft. All rights reserved.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages