Skip to content

xkjq/yoto-up

Repository files navigation

Yoto-UP

Artwork preview

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.

✨ Highlights

  • 🔗 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/

Command Line First

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 🌈.

Graphical Interface Included

For tasks better suited to a visual workflow, Yoto-UP also provides a GUI built with Flet, making advanced operations accessible and intuitive.

🛠️ Installation

With uv(x)

  1. Install uv

  2. 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
  3. 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 yoto to your path, test it out with

    yoto --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.

From source

  1. Clone the repository and change into it:

    git clone https://github.com/xkjq/yoto-up.git
    cd yoto-up
  2. 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/activate

    Standard (fish):

    python -m venv .venv
    source .venv/bin/activate.fish

    Using uv (recommended if available):

    uv venv
    source .venv/bin/activate
  3. 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 --version and which python should point into .venv/.
    • macOS / Linux: use the system python3 if python is not available.
    • Alternative workflows: pipx or poetry can be used if preferred.

▶️ Usage

For more details please see the docs

CLI / TUI

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>

asciicast asciicast

GUI

If installed, run the GUI via:

yoto gui

or:

gui

Otherwise, you can run from source using Python modules:

PYTHONPATH=src python -m yoto_up.gui

📜 License

MIT — see LICENSE for details.

About

Tools for your Yoto player

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors