A simple Cargo.toml dependency manager built with Tkinter. It lets you select a Rust project's Cargo.toml, search crates on crates.io, add them to the relevant sections (dependencies, dev-dependencies, build-dependencies), or remove existing ones. The app fetches the latest version and short description of each crate via the crates.io API. Source code: cargoManager.py.
Note: The app writes directly to your
Cargo.toml. It automatically creates a.backupfile as a safety copy.
- Select and parse
Cargo.toml - List sections:
dependencies,dev-dependencies,build-dependencies - Search crates.io, open selected crate page in browser
- Add selected crate to chosen section
- Remove existing crate
- Status bar and progress indicator
- Automatic backup (
Cargo.toml.backup)
Here are some screenshots of the application in action:
- Python 3.9+ recommended
From requirements.txt:
pip install -r requirements.txt
tkinterships with Python. On some Linux distros, you may need to install it via your package manager (e.g., Ubuntu/Debian:sudo apt install python3-tk).
python cargoManager.py- Click Select Cargo.toml and choose a Rust project file.
- Left panel shows existing dependencies (section, name, current version, latest version, description).
- In the right panel, enter a search term and press Search.
- Pick a result; choose the target section (
dependencies,dev-dependencies,build-dependencies), then Add to Selected. - To remove a dependency, select it from the left panel and press Remove Selected.
- Use Open Crates Link to open the selected crate’s crates.io page.
Changes are written directly to
Cargo.tomland a.backupis created.
- GUI:
tkinter+ttk - HTTP requests:
requests - TOML read/write:
toml - Uses crates.io REST API directly
- Main class:
CargoManager(inherits fromtk.Tk) - Progress bar shows network request delays for large dependency lists
Using a virtual environment:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtFor code quality, consider adding: ruff, black
You can build a standalone executable with pyinstaller:
pip install pyinstaller
pyinstaller --noconfirm --onefile --windowed cargoManager.pyThe binary will be inside dist/.
Developed by İbrahim Turhan Bayraktar
