Welcome back, future MLOps wizard! In our previous chapters, you’ve mastered the art of tracking experiments directly within your Python scripts using Trackio’s elegant API. You’ve logged parameters, metrics, and even artifacts, building a rich dataset of your machine learning endeavors. But what if you need to quickly inspect an experiment, launch your dashboard, or push your results to the cloud without diving back into your Python code?
That’s where the Command Line Interface (CLI) comes in! In this chapter, we’ll unlock the power of Trackio’s CLI tools. You’ll learn how to interact with your experiments, launch the interactive dashboard, and seamlessly sync your local runs with Hugging Face Spaces, all from the comfort of your terminal. Understanding the CLI is crucial for efficient experiment management, quick diagnostics, and integrating Trackio into automated workflows.
Before we begin, make sure you have Trackio installed (as covered in Chapter 1) and have at least one experiment run successfully using the Trackio Python API (as demonstrated in Chapter 3 and 4). This will give us some data to play with using our new CLI commands!
The Power of the Command Line for Experiment Tracking
Think of the CLI as your control panel for Trackio outside of your Python scripts. While the Python API is for logging data during an experiment, the CLI is for managing and viewing that data after or between runs.
Why is this important?
- Quick Access: Need to check the status of a run or launch the dashboard rapidly? The CLI is your fastest route.
- Automation: In continuous integration/continuous deployment (CI/CD) pipelines or automated scripts, the CLI allows you to programmatically manage experiments without relying on Python interpreters for every task.
- Cross-Platform Interaction: It offers a consistent way to interact with Trackio regardless of the specific Python environment or IDE you’re using.
- Hugging Face Spaces Integration: A core strength of Trackio is its tight integration with Hugging Face Spaces for collaborative sharing. The CLI provides the easiest way to push your local experiments to the cloud.
Let’s explore the key commands that make Trackio’s CLI so powerful.
Launching Your Trackio Dashboard with trackio launch
The most common and perhaps most useful CLI command for Trackio is trackio launch. This command starts the local Gradio-based dashboard, giving you a beautiful, interactive visualization of all your tracked experiments.
Step-by-Step: Launching the Dashboard
Navigate to your Project Directory: Open your terminal or command prompt. Navigate to the root directory of your project where your
trackioexperiments are stored (usually where you ran your Python training script). Trackio looks for its experiment data in a default.trackiofolder within the current working directory or a parent directory.# Example: If your project is in 'my_ml_project' cd my_ml_projectExecute the
launchcommand: Once in your project directory, simply type:trackio launchWhat’s happening here? The
trackioexecutable (which was installed when you ranpip install trackio) is invoked. It then calls itslaunchsubcommand. Trackio will scan your current directory (and potentially parent directories) for the.trackiofolder containing your experiment data. It then spins up a local Gradio server to host the dashboard.Observe the Output: You’ll see output similar to this:
INFO: Started server process [12345] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:7860 (Press CTRL+C to quit)Trackio tells you exactly where your dashboard is running! Copy the
http://127.0.0.1:7860(or whatever port it assigns) and paste it into your web browser. Voila! Your interactive Trackio dashboard will appear, displaying all your local experiments.You can now explore your runs, compare metrics, and visualize parameters, just as we did in Chapter 5.
Syncing Experiments with Hugging Face Spaces: trackio sync
One of Trackio’s killer features is its direct integration with Hugging Face Spaces. This allows you to easily share your interactive dashboards and experiment results with collaborators or the wider community. The trackio sync command is your gateway to this powerful capability.
Prerequisites for Syncing
Before you can sync, you’ll need:
- A Hugging Face Account: If you don’t have one, sign up at huggingface.co.
- A Hugging Face Access Token: This token authenticates your CLI session with Hugging Face.
- Go to your Hugging Face profile settings: huggingface.co/settings/tokens
- Generate a new token with “Write” access. Copy this token.
- Log in to Hugging Face from your terminal:When prompted, paste your token. This saves your token locally, so you don’t have to enter it every time.
huggingface-cli login
- A Hugging Face Space: You’ll need an existing Space to sync your experiments to, or you can let Trackio create one for you. If you create one manually, choose the “Gradio” SDK.
Step-by-Step: Syncing to Hugging Face Spaces
Let’s assume you have an experiment in your current directory that you want to share.
Navigate to your Project Directory: Ensure you are in the root directory of your project where your
.trackiofolder resides.Execute the
synccommand: The basic command structure istrackio sync --repo-id <YOUR_HF_USERNAME>/<YOUR_SPACE_NAME>.trackio sync --repo-id your_username/my-trackio-spaceReplace
your_usernamewith your Hugging Face username andmy-trackio-spacewith the name of your target Space.What’s happening here?
- Trackio collects all the experiment data from your local
.trackiodirectory. - It then authenticates with Hugging Face using your saved token.
- It pushes the necessary files (including the Gradio app to render the dashboard and your experiment data) to the specified Hugging Face Space.
- If the Space doesn’t exist, Trackio might prompt you to create it or create it automatically based on your permissions.
- Trackio collects all the experiment data from your local
Observe the Output: You’ll see progress messages as files are uploaded. Once complete, Trackio will provide a URL to your live Hugging Face Space:
INFO: Syncing local experiments to your_username/my-trackio-space... INFO: Files uploaded successfully. INFO: Your Trackio dashboard is now live at: https://huggingface.co/spaces/your_username/my-trackio-spaceClick on the provided URL, and you’ll see your Trackio dashboard, identical to your local version, now hosted publicly (or privately, depending on your Space settings) on Hugging Face Spaces!
Advanced trackio sync Options
- Specifying a different local path: If your
.trackiodirectory isn’t in the current working directory, you can specify its path:trackio sync --repo-id your_username/my-trackio-space --local-path /path/to/your/project - Force overwrite: If you want to overwrite an existing Space’s content, you might use an
--forceflag (check official docs for exact syntax if needed, as this can be destructive). As of 2026, Trackio intelligently handles updates, but--forcemight be available for specific scenarios.
Listing and Managing Experiments (Indirectly)
Unlike some other experiment tracking tools, Trackio is designed to be lightweight and local-first. It doesn’t typically offer a complex CLI for listing or deleting individual runs directly from the terminal, as its primary interface for these actions is the interactive Gradio dashboard.
However, you can still manage your experiments by directly interacting with the .trackio directory. Each experiment run usually gets its own subfolder within .trackio.
Step-by-Step: Inspecting Experiment Folders
Navigate to the
.trackiodirectory:cd .trackioList contents:
ls -lYou’ll see directories named with timestamps or custom
run_ids, each representing an experiment run. Inside these, you’ll findconfig.json,metrics.json, and any artifacts you saved.
flowchart TD A[Project Root] –> B[.trackio Folder] B –> C[Experiment_Run_1_ID] B –> D[Experiment_Run_2_ID] C –> C1[config.json] C –> C2[metrics.json] C –> C3[artifacts/] D –> D1[config.json] D –> D2[metrics.json] D –> D3[artifacts/]
**Explanation:** This diagram shows how Trackio organizes your experiment data. Each experiment run gets its own unique ID (often a timestamp), and within that folder, you find the configuration, logged metrics, and any saved artifacts.
3. **Deleting an experiment:**
To delete an experiment, you would simply remove its corresponding folder from the `.trackio` directory using standard file system commands. For example:
```bash
rm -rf .trackio/Experiment_Run_1_ID
```
**Caution:** Be very careful when using `rm -rf`, as it permanently deletes files without confirmation. Always double-check the path!
### Mini-Challenge: Sync Your Latest Experiment
Let's put your new CLI skills to the test!
**Challenge:**
You've just completed Chapter 6, where you ran a new experiment, perhaps with some hyperparameter tuning. Now, using only the Trackio CLI, launch your local dashboard to verify the new run, and then sync this entire project (including the new run) to a *new* Hugging Face Space.
**Steps to follow:**
1. Ensure you have a recent experiment run locally.
2. Launch your Trackio dashboard from the terminal.
3. Verify the new experiment is visible.
4. Choose a unique name for a *new* Hugging Face Space (e.g., `your_username/my-trackio-cli-demo`).
5. Sync your local project to this new Space using `trackio sync`.
6. Open the provided URL to confirm your dashboard is live on Hugging Face.
**Hint:** Remember to `huggingface-cli login` if you haven't recently, and make sure you're in the correct project directory when running `trackio launch` and `trackio sync`.
**What to observe/learn:**
You should see your local dashboard appear, and then, after syncing, a new Space will be created on Hugging Face (if it didn't exist), and your experiments will be accessible publicly. This demonstrates the seamless workflow from local development to cloud sharing via the CLI.
### Common Pitfalls & Troubleshooting
Even with a straightforward CLI, issues can arise. Here are a few common ones and how to tackle them:
1. **`trackio: command not found`**:
* **Problem:** Your system can't find the `trackio` executable.
* **Solution:**
* **Check installation:** Ensure Trackio is installed: `pip show trackio`. If not, `pip install trackio==0.2.1` (or latest stable).
* **Verify PATH:** Ensure your Python environment's `bin` or `Scripts` directory (where `trackio` resides) is in your system's `PATH` environment variable. If you're using a virtual environment, activate it first.
2. **`trackio launch` shows no experiments or an empty dashboard**:
* **Problem:** The dashboard launches, but no experiments are visible.
* **Solution:**
* **Wrong directory:** You might not be running `trackio launch` from the root of your project where the `.trackio` folder is located, or your `.trackio` folder is in an unexpected place. Navigate to the correct directory.
* **No experiments run:** You haven't actually run any experiments yet with the Trackio Python API. Go back to Chapter 3 or 4 and run a simple experiment.
* **Corrupted data:** Rarely, if the `.trackio` data gets corrupted, you might need to manually inspect or delete problematic run folders (as discussed above).
3. **`trackio sync` fails with authentication or repository errors**:
* **Problem:** Unable to push to Hugging Face Spaces.
* **Solution:**
* **Hugging Face Login:** Ensure you've logged in via `huggingface-cli login` and provided a token with "Write" access.
* **Incorrect `repo-id`:** Double-check your Hugging Face username and the Space name in the `--repo-id` argument. It should be `your_username/your-space-name`.
* **Space type:** Ensure the target Hugging Face Space is a "Gradio" Space. If you're letting Trackio create it, it should handle this automatically. If you created it manually, confirm the SDK.
* **Network issues:** Verify your internet connection.
### Summary
Congratulations! You've successfully navigated the Trackio Command Line Interface. You've learned how to:
* Understand the role and benefits of the CLI for experiment tracking.
* Launch your interactive Trackio dashboard locally using `trackio launch`.
* Seamlessly sync your local experiments and dashboard to Hugging Face Spaces with `trackio sync`.
* Indirectly manage experiment runs by understanding Trackio's local data structure.
* Troubleshoot common CLI-related issues.
The CLI, combined with the Python API, gives you a comprehensive toolkit for managing your ML experiments. In the next chapter, we'll delve deeper into advanced configuration options and customization possibilities, allowing you to tailor Trackio even further to your specific MLOps workflows.
## References
* [Trackio Official Documentation - Quickstart](https://huggingface.co/docs/trackio/en/quickstart)
* [Hugging Face Trackio Integration](https://huggingface.co/docs/trl/main/en/trackio_integration)
* [Hugging Face Spaces Documentation](https://huggingface.co/docs/hub/spaces)
* [Hugging Face CLI Login](https://huggingface.co/docs/huggingface_hub/guides/cli)
This page is AI-assisted and reviewed. It references official documentation and recognized resources where relevant.