Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
209b4fd
Include torrent ID in MaM download requests
Plungis Jul 28, 2026
6381bfe
Start compatibility-first Python migration
Plungis Jul 28, 2026
0f006af
Add runnable Python downloader command
Plungis Jul 28, 2026
2cfdc17
Port autograbber and library organization
Plungis Jul 28, 2026
c26c929
Ship Python scheduler web UI and integrations
Plungis Jul 28, 2026
b121fac
Harden Python runtime and add manual search
Plungis Jul 28, 2026
3b6a3af
Preserve MaM sessions and legacy filter behavior
Plungis Jul 28, 2026
0c7917f
Finalize legacy export bridge dependencies
Plungis Jul 28, 2026
38ef59a
Complete Python-only source tree
Plungis Jul 28, 2026
4793628
Add end-to-end organizer coverage
Plungis Jul 28, 2026
7231c8f
Harden web rendering and torrent paths
Plungis Jul 28, 2026
d8347ac
Add ready-to-run Python configuration
Plungis Jul 28, 2026
4e1f763
Harden Python duplicate matching and packaging
Plungis Jul 28, 2026
50b6aeb
Use approved HeavyMLM user agent
Plungis Jul 28, 2026
d729fbd
Recover from stale MaM session cookies
Plungis Jul 29, 2026
40fe5b7
Accept MaM non-JSON session responses
Plungis Jul 29, 2026
3b61689
Accept MaM IP-locked API sessions
Plungis Jul 29, 2026
586eb6f
Redesign HeavyMLM web interface
Plungis Jul 29, 2026
61f2bf7
Explain queued download states
Plungis Jul 29, 2026
8a1293c
Track list history and add diagnostics
Plungis Jul 29, 2026
28b2a34
Format diagnostics migration code
Plungis Jul 29, 2026
9b6aaf5
Add live download policy controls
Plungis Jul 29, 2026
79b3343
Fix legacy interval saves
Plungis Jul 29, 2026
226dfa2
Add dual-format imports and organizer diagnostics
Plungis Jul 29, 2026
86af1aa
Speed up UI and stream organizer progress
Plungis Jul 29, 2026
0dba095
Scope organizer to configured libraries
Plungis Jul 29, 2026
4a8d454
Decode nested MaM metadata
Plungis Jul 29, 2026
1d6b98d
Fix freeleech wedge decisions
Plungis Aug 5, 2026
8778648
Add MyAnonaSuite shell and error recovery
Plungis Aug 5, 2026
944b198
Improve HeavyMLM search results
Plungis Aug 5, 2026
2534623
Make organizer file placement transactional
Plungis Aug 5, 2026
4bf939e
Make wedge use strict and add combined search filters
Plungis Aug 5, 2026
fcafbd2
Use MaM torrent endpoint for freeleech wedges
Plungis Aug 5, 2026
67663c8
Add custom-domain request portal
Plungis Aug 6, 2026
636389c
Fix request portal styling behind HTTPS proxy
Plungis Aug 6, 2026
711c1c8
Consolidate HeavyMLM data pages
Plungis Aug 6, 2026
3b77349
Integrate MAM-Spender Web module
Plungis Aug 8, 2026
c9d98ea
Format MAM-Spender Python files
Plungis Aug 8, 2026
b0da928
Complete MAM-Spender module navigation
Plungis Aug 8, 2026
615e5e2
Streamline MAM-Spender dashboard settings
Plungis Aug 8, 2026
9224823
Integrate ABSidekick and secure request portal
Plungis Aug 10, 2026
00084c5
Show live organizer progress counters
Plungis Aug 10, 2026
d249adf
Format organizer progress test
Plungis Aug 10, 2026
c599509
Split collection torrents into individual books
Plungis Aug 11, 2026
41a57a3
Remove collection torrent splitting
Plungis Aug 12, 2026
45a436c
Add manual search to ABS Review Desk
Plungis Aug 12, 2026
f3fa368
Improve ABSidekick matching accuracy
Plungis Aug 12, 2026
44f7136
Bound ABS metadata search latency
Plungis Aug 12, 2026
e954e9d
Keep ABS manual review searches visible
Plungis Aug 12, 2026
2b600a9
Format ABS manual search test
Plungis Aug 12, 2026
d2a623a
Parse ABS series prefixes before matching
Plungis Aug 13, 2026
189b0e0
Add validated native Google Books provider
Plungis Aug 13, 2026
7a9435e
Format Google provider web test
Plungis Aug 13, 2026
3b5fc80
Show live ABSidekick action progress
Plungis Aug 13, 2026
9ced494
Use Google after inconclusive ABS matches
Plungis Aug 14, 2026
a768752
Keep Google enabled through transient failures
Plungis Aug 14, 2026
395f844
Explain match gates and trace Google second pass
Plungis Aug 14, 2026
d601809
Ignore duplicate listings in match margin
Plungis Aug 14, 2026
232e2a2
Clean compound track prefixes before matching
Plungis Aug 14, 2026
e28c1f4
Add native Open Library matching
Plungis Aug 14, 2026
b778921
Trust passing folder-title matches
Plungis Aug 14, 2026
46a615d
Prevent duplicate ABS author updates
Plungis Aug 14, 2026
98897e9
Auto-match exact ABS editions
Plungis Aug 14, 2026
5246dc9
Add opt-in embedded metadata matching
Plungis Aug 15, 2026
f900c76
Parse layered audiobook titles
Plungis Aug 15, 2026
467f1ae
Fix ABS query variants and list metadata
Plungis Aug 15, 2026
b8332ed
Treat strong-match ISBN differences as notes
Plungis Aug 15, 2026
45ee3be
Use file evidence for generic ABS titles
Plungis Aug 15, 2026
ae3ca85
Format ABS title evidence release
Plungis Aug 15, 2026
08fb5df
Repair ABS series metadata
Plungis Aug 16, 2026
b4e98a4
Redesign HeavyMLM home screen
Plungis Aug 17, 2026
277abc3
Simplify HeavyMLM automation UI
Plungis Aug 17, 2026
03878a3
Add request permissions and run controls
Plungis Aug 17, 2026
49d8929
Add per-account request quotas
Plungis Aug 17, 2026
5679dd3
Require tracked request account logins
Plungis Aug 17, 2026
3adff03
Persist ABS matcher credentials
Plungis Aug 18, 2026
c49c80b
Preserve series books during duplicate matching and cleaning
Plungis Aug 18, 2026
030c5b2
Add module management, first-time tutorial, ABS auto-sync, and persis…
Plungis Aug 24, 2026
e34deb1
Refine UI text and documentation to be friendly, clear, and human-sou…
Plungis Aug 24, 2026
bc963b2
Add whole-series search discovery and batch download on admin and req…
Plungis Aug 28, 2026
6a954bc
Add Find Missing Books section in MAM Organizer with library gap audi…
Plungis Aug 28, 2026
e98210b
Add Audiobookshelf library sync to HeavyMLM and missing series detect…
Plungis Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.git
.github
config
data
library
docs
python/.pytest_cache
python/dist
python/tests
**/__pycache__
**/*.pyc
47 changes: 47 additions & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Python

on:
push:
branches: ["main", "agent/python-migration-beta"]
tags: ["v*.*.*"]
pull_request:
branches: ["main"]

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.11", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
cache-dependency-path: python/pyproject.toml
- name: Install
run: python -m pip install -e "./python[dev]"
- name: Lint
run: |
ruff check python/src python/tests
ruff format --check python/src python/tests
- name: Test
run: python -m pytest -q python/tests
- name: Compile
run: python -m compileall -q python/src

wheel:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- run: python -m pip install build
- run: python -m build python
- uses: actions/upload-artifact@v4
with:
name: python-package
path: python/dist/*
81 changes: 0 additions & 81 deletions .github/workflows/windows-publish.yml

This file was deleted.

18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,24 @@
/target
/target-*/
node_modules
docs/book
config.toml
data.db
data.db.*
__pycache__/
.pytest_cache/
*.py[cod]
*.egg-info/
dist/
.venv/


# Local legacy-export sources retained while the Python-only branch is prepared.
/Cargo.toml
/Cargo.lock
/mlm_db/
/mlm_mam/
/mlm_parse/
/server/
/package.json
/pnpm-lock.yaml
Loading
Loading