A Python-based desktop application that automates the installation and management of TMC releases. Features a modern GUI built with CustomTkinter for easy interaction.
- Automated Release Management: Automatically fetch and display the latest TMC releases from GitHub
- ROM Installation: Manage ROM installations with verification and tracking
- Auto-Update Checking: Optional automatic update checks at configurable intervals
- Settings Management: Persistent configuration stored locally
- Modern UI: Clean, dark-themed desktop interface with multiple tabs
- Database Tracking: SQLite database for tracking installed versions and ROMs
- Python 3.14+
- Windows, macOS, or Linux
- 200MB+ disk space for the application and dependencies
- Download Python 3.14 from python.org
- Run the installer
- Check "Add Python to PATH" during installation
- Verify with:
python --version
# Using Homebrew (recommended)
brew install python@3.14
# Or download from python.org# Ubuntu/Debian
sudo apt update
sudo apt install python3.14 python3.14-venv
# Fedora/CentOS
sudo dnf install python3.14
# Arch Linux
sudo pacman -S pythongit clone https://github.com/ItsDeidara/auto-tmc.git
cd auto-tmcpip install -r requirements.txtDependencies:
customtkinter>=5.2.2- Modern GUI frameworkrequests>=2.31.0- HTTP library for GitHub APIPillow>=10.0.0- Image processingpyinstaller>=6.0.0- Executable packaging (for developers)
python main.pyConfiguration is automatically created and managed in:
- Windows:
%APPDATA%\AutoTMC\config.json - macOS/Linux:
~/.AutoTMC/config.json
- View installation status
- Start installations
- Monitor current version
- Browse available TMC releases
- Check release notes
- Download and install specific versions
- Configure installation directory
- Set ROM path
- Enable/disable auto-update checks
- Adjust update check interval
- Change application theme
The application connects to the TMC GitHub repository (999sian/tmc) to:
- Fetch available releases
- Download release assets
- Verify file integrity with SHA256 checksums
- Display release information and changelogs
You can provide a GitHub personal access token in settings to increase API rate limits. This is optional but recommended for frequent use.
- Check that Python 3.14+ is installed:
python --version - Verify all dependencies are installed:
pip install -r requirements.txt - Check
error.logfor detailed error messages
- Ensure your display server is running (for headless systems)
- Try updating CustomTkinter:
pip install --upgrade customtkinter
- Verify internet connection
- Check if GitHub API is accessible
- Try again in a few moments (API rate limiting)
- Delete the config file to reset to defaults
- Manually edit
config.jsonin the AppData folder if needed
To package AutoTMC as a standalone Windows executable, use PyInstaller:
pyinstaller --onefile --windowed --name="AutoTMC-Windows" --distpath="." main.pyImportant: This places AutoTMC-Windows.exe directly in the project root (no dist/ folder is created).
Build flags:
--onefile- Creates a single executable file--windowed- Removes the console window (GUI-only application)--name="AutoTMC-Windows"- Names the exe "AutoTMC-Windows.exe"--distpath="."- Places the exe in the project root (overwrites existing files)--hidden-import=customtkinter- Include CustomTkinter if the exe crashes on startup
After building, remove the generated .spec file:
# Delete the .spec file (not needed in repo)
rm *.specThe compiled exe will be in: AutoTMC-Windows.exe (project root)
.\AutoTMC-Windows.exe- The first build takes longer as PyInstaller analyzes all dependencies
- Subsequent builds are faster
- No
dist/folder is created - the exe is placed directly in the project root - Delete
.specfiles after building - they are not needed in the repository - The exe is placed directly in the project root and will overwrite any existing
AutoTMC-Windows.exe - The
build/directory can be safely deleted between builds
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See LICENSE file in the repository for details.
For issues, questions, or suggestions:
- Open an issue on GitHub
- Check existing issues for solutions
- Review
error.logfor debugging information
AutoTMC is designed to work with the TMC project (https://github.com/999sian/tmc).
Version: 1.0.0
Last Updated: May 2026