Community Contributions
This release includes a major contribution from @yarikoptic (Yaroslav Halchenko) - thank you for this substantial improvement to the project!
Added
-
Unified CLI interface (
python -m src <command>) - All operations now route through a single entry point with intuitive subcommands:auth,backup,schedule,export,stats,list-chats. Includes comprehensive--helpwith workflow guidance. (contributed by @yarikoptic, PR #57) -
Python packaging with
pyproject.toml- Proper PEP 621 package definition with centralized dependencies. Install locally withpip install -e .to get thetelegram-archivecommand. (contributed by @yarikoptic, PR #57) -
--data-diroption for local development - Override the default/datadirectory to avoid permission issues when developing outside Docker:telegram-archive --data-dir ./data list-chats python -m src --data-dir ./data backup
-
telegram-archiveexecutable script - Direct execution without installation (./telegram-archive --help). (contributed by @yarikoptic, PR #57) -
Smart database migrations in entrypoint - Migrations now skip for
authcommand (no DB needed yet) and check database existence before running SQLite migrations. (contributed by @yarikoptic, PR #57)
Changed
-
Dockerfile default CMD now shows help - Running the container without an explicit command displays help instead of silently starting the scheduler. The
docker-compose.ymlexplicitly runsschedule. This is a behavioral change for users runningdocker runwithout a command - addpython -m src scheduleto your command. -
Unified command syntax - Old module-based commands (
python -m src.telegram_backup,python -m src.export_backup stats) are replaced bypython -m src backup,python -m src stats, etc.
📋 Full changelog: docs/CHANGELOG.md