Skip to main content

tmux session manager

Project description

desto Logo

desto lets you run and manage your bash and Python scripts in the background (inside tmux sessions) through a simple web dashboard. Launch scripts, monitor their and your system's status, view live logs, and control sessions—all from your browser.

PyPI version Code style: ruff Contributions welcome Tests


The key features are:

  • One-click session control: Start, monitor, and stop tmux sessions from your browser.
  • 🐚 Bash & 🐍 Python support: Run both bash (.sh) and Python (.py) scripts seamlessly.
  • Live system stats: See real-time CPU, memory, and disk usage at a glance.
  • Script management: Use your existing scripts, write new ones, edit, save, or delete them directly in the dashboard.
  • Script chaining: Queue multiple scripts to run sequentially in a single session.
  • Scheduling: Schedule scripts or script chains to launch at a specific date and time.
  • Live log viewer: Watch script output in real time and view logs for each session.
  • Persistent storage: Scripts and logs are saved in dedicated folders for easy access.
  • 🖥️ Command-line interface: Manage sessions, view logs, and control scripts from the terminal with our modern CLI. Learn more →

⚡ Quick Start

👀 Dashboard Overview

Dashboard Screenshot

🚀 Launch your scripts as tmux sessions

When you start desto, it creates desto_scripts/ and desto_logs/ folders in your current directory. Want to use your own locations? Just change these in the settings, or set the DESTO_SCRIPTS_DIR and DESTO_LOGS_DIR environment variables.

Your scripts show up automatically—no setup needed. Both .sh (bash) and .py (Python) scripts are supported with automatic detection and appropriate execution. Ready to launch? Just:

  1. Name your tmux session
  2. Select one of your scripts
  3. (OPTIONAL) edit and save your changes
  4. Click "Launch"! 🎬
Custom Template

🟢 Keep Alive: Want your session to stay open after your script finishes? Just toggle the switch. This adds tail -f /dev/null at the end, so you can keep the session active and continue viewing logs, even after your script completes.


✍️ Write new scripts and save them

If you want to compose a new script, you can do it right here, or simply just paste the output of your favorite LLM :) Choose between bash and Python templates with syntax highlighting and smart defaults.

Custom Template

⚙️ Change settings

More settings to be added!

Custom Template

📜 View your script's logs Custom Template

Requirements

Check pyproject.toml

Installation

  1. Install tmux

    Instructions for different package managers
    • Debian/Ubuntu
      sudo apt install tmux
      
    • Almalinux/Fedora
      sudo dnf install tmux
      
    • Arch Linux
      sudo pacman -S tmux
      
  2. Install desto

    Installation Steps
    • With uv, simply run:

      uv add desto
      

      This will install desto in your project ✅ Or if you don't have a project yet, you can set up everything with uv:

      1. Install uv by following the instructions on the official site.

      2. Create and set up your project:

        mkdir myproject && cd myproject
        uv init
        uv venv
        source .venv/bin/activate
        uv add desto
        

        Done!

    • With pip:

      pip install desto
      
  3. Run the Application

    desto
    
  4. Open in your browser
    After starting, visit http://localhost:8088 (or the address shown in your terminal).

🖥️ Command Line Interface

In addition to the web dashboard, desto includes a powerful CLI for managing tmux sessions from the terminal. Perfect for automation, scripting, or when you prefer the command line.

Installation as a uv Tool

# Install desto CLI globally
uv tool install desto

# Or install from source
cd /path/to/desto
uv tool install . --force

This installs two executables:

  • desto - Web dashboard
  • desto-cli - Command-line interface

Quick CLI Usage

# Check system status
desto-cli doctor

# List all sessions
desto-cli sessions list

# Start a new session
desto-cli sessions start "my-task" "python my_script.py"

# View session logs
desto-cli sessions logs "my-task"

# Kill a session
desto-cli sessions kill "my-task"

📖 Full CLI Documentation →

The CLI provides the same functionality as the web interface but optimized for terminal use, including rich formatting, real-time log viewing, and comprehensive session management.


License

Shield: CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0


TODO

  • Explore possibility to pause processes running inside a session
  • Add dark mode/theme toggle for the dashboard UI

desto makes handling tmux sessions and running scripts approachable for everyone—no terminal gymnastics required!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

desto-0.1.15.tar.gz (527.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

desto-0.1.15-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file desto-0.1.15.tar.gz.

File metadata

  • Download URL: desto-0.1.15.tar.gz
  • Upload date:
  • Size: 527.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for desto-0.1.15.tar.gz
Algorithm Hash digest
SHA256 b142ab1beba2c41d570219d9aef72303d138b7aab31b3531ff0b6f0b3166e795
MD5 b2c8170164d03c79b5566ae980bbdb86
BLAKE2b-256 626d2c89ac2a04887c6c12d0407599a6c155c8b0da8fa5d7b4579ebbce0654a1

See more details on using hashes here.

File details

Details for the file desto-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: desto-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for desto-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 f758ad50e48ef11f1138164d884a6eed2ccf50640ac27c95095a97587b962b0e
MD5 e59ee580b17a6247d2208d5c0cd0351c
BLAKE2b-256 6deee1b0a5b77db931246d930b863b6828cfca9c8f93b5bdcdaa988cbb9b02c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page