A toolbox for managing Yoto content from the command line, terminal UI, or a GUI.
Yoto-UP helps with content organization, device management, icon handling, and easy integration with Yoto services.
- 🔗 Integration with Yoto Services — simplified access to the Yoto API and helper utilities
- 🗂️ Playlist/Card organization — chapters, tracks, and metadata management
- 🎵 Track titles, keys, and durations
- 🖼️ Icon management — autoselect or pick icons via search
- 🖌️ Cover management — set, import, or auto-search cover art; embed into card metadata
- 📤 Export / 📥 Import cards
- 🖥️ Interfaces — CLI, TUI (terminal UI), and a graphical UI
- 🔊 Audio preparation — normalize volume levels, auto-trim silence, and apply basic level adjustments before upload
- 🖼️ Icon editor — feature-rich editor with text and image stamping
For full docs and examples see the project site: https://xkjq.github.io/yoto-up/
Leveraging Python libraries like Typer, Rich, and Textual for a vibrant, user-friendly command-line experience. Creating and managing cards with text has never been easier or more colorful 🌈.
For tasks better suited to a visual workflow, Yoto-UP also provides a GUI built with Flet, making advanced operations accessible and intuitive.
-
Run with uvx (without installing if you just want to try it out)[1]
Command line
uvx --from "git+https://github.com/xkjq/yoto-up.git@main#egg=yoto-up" yoto [command]GUI
uvx --from "git+https://github.com/xkjq/yoto-up.git@main#egg=yoto-up[gui]" yoto gui -
If you like it, install with uv tool[2]
uv tool install "git+https://github.com/xkjq/yoto-up.git@main#egg=yoto-up"This should add the command
yototo your path, test it out withyoto --help
or if you want the GUI
uv tool install "git+https://github.com/xkjq/yoto-up.git@main#egg=yoto-up[gui]"Then run
yoto gui
[1] uvx allows you to run a python tool/package without installation (by creating a temporary isolated environment).
[2] uv tool also supports upgrading the tool once installed, see their docs for more information.
-
Clone the repository and change into it:
git clone https://github.com/xkjq/yoto-up.git cd yoto-up -
Create and activate a virtual environment
You can use the standard Python venv workflow, but uv is recommended
Standard (bash / zsh / sh):
python -m venv .venv source .venv/bin/activateStandard (fish):
python -m venv .venv source .venv/bin/activate.fishUsing
uv(recommended if available):uv venv source .venv/bin/activate -
Install the package and dependencies:
Using
uv(recommended):uv pip install -e .or with GUI support:
uv pip install -e .[gui]
Using standard pip:
pip install -e .or with GUI support:
pip install -e .[gui]
Quick checks and notes:
- Confirm the venv Python is active:
python --versionandwhich pythonshould point into.venv/. - macOS / Linux: use the system
python3ifpythonis not available. - Alternative workflows:
pipxorpoetrycan be used if preferred.
- Confirm the venv Python is active:
For more details please see the docs
If installed, you can run the commands directly:
yoto --help
yoto edit-card <CARD_ID>Otherwise, you can run from source using Python modules:
PYTHONPATH=src python -m yoto_up.yoto --help
PYTHONPATH=src python -m yoto_up.yoto edit-card <CARD_ID>If installed, run the GUI via:
yoto guior:
guiOtherwise, you can run from source using Python modules:
PYTHONPATH=src python -m yoto_up.guiMIT — see LICENSE for details.