Skip to main content

dstack Management Tool

A powerful Terminal User Interface (TUI) for managing dstack YAML configurations with virtual file storage, note-taking, and intelligent state restoration.

Features

🌳 Virtual File Tree - Organize dstack YAML files by type (Task, Service, Fleet, Server) and custom groups
📝 Note Taking - Add markdown notes to any file with auto-save functionality
💾 SQLite Storage - All files and metadata stored in a local database
🔄 State Restoration - Automatically restore your session when switching between directories
⚡ Fast Navigation - Keyboard shortcuts for all operations
📋 Smart Clipboard - Copy file paths and dstack commands with Ctrl+A
🎯 File Management - Add, delete, and organize files with confirmation dialogs

Installation

Install via pip:

pip install dstack-yaml-manager

Or install from source:

git clone <repository-url>
cd dstack-mgmt-tool
pip install -e .

Configuration

On first run, the tool automatically creates a configuration file at ~/.dstack-mgmt/config.yml:

database:
  path: ~/.dstack-mgmt/dstack_manager.db
  auto_backup: true
  backup_count: 5
ui:
  auto_save_notes: true
  auto_save_delay: 1.0
  restore_state: true
paths:
  default_workspace: ~/
  scan_hidden_dirs: false

Usage

Basic Usage

# Launch in current directory
dstack-yaml-manager

# Launch in specific directory
dstack-yaml-manager ~/my-dstack-project

# Show configuration
dstack-yaml-manager --config

# Reset configuration to defaults
dstack-yaml-manager --reset-config

Keyboard Shortcuts

Key Action
Ctrl+X Smart quit (saves state and exits)
Ctrl+N Add new file to database
Ctrl+G Create new custom group
Ctrl+R Refresh file tree
Ctrl+A Navigate to file (copy paths/commands)
Ctrl+S Save current note
Ctrl+U Rename selected file or group
Delete / Ctrl+D Delete selected file/group
Escape Exit note editing mode
Tab Auto-complete file paths
↑↓←→ Navigate tree and scroll preview

File Organization

Files are automatically grouped by type:

  • Task - *.task.dstack.yml
  • Service - *.service.dstack.yml
  • Fleet - *.fleet.dstack.yml
  • Server - *.server.dstack.yml
  • Unknown - Other .dstack.yml files

You can also create custom groups and assign files to them.

Note Taking

Click on the Note tab to add markdown notes to any selected file. Notes are:

  • Auto-saved as you type (1-second delay)
  • Manually saved with Ctrl+S
  • Stored in the SQLite database
  • Persistent across sessions

State Restoration

The tool automatically saves and restores your session state including:

  • Selected file and active tab
  • Expanded tree nodes
  • Last working directory

Database Location

By default, the database is stored at ~/.dstack-mgmt/dstack_manager.db. You can change this in the configuration file.

Development

Install development dependencies:

pip install -e ".[dev]"

Run tests:

pytest

Format code:

black dstack_mgmt/

License

MIT License - see LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Requirements

  • Python 3.8+
  • textual >= 0.38.0
  • rich >= 13.0.0
  • PyYAML >= 6.0

Metadata

Release files for dstack-yaml-manager 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dstack-yaml-manager 0.1.4
File Size Uploaded Provenance Actions
dstack_yaml_manager-0.1.4.tar.gz 44.8 kB Without provenance Details for dstack_yaml_manager-0.1.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dstack-yaml-manager 0.1.4
File Interpreter ABI Platform Actions
dstack_yaml_manager-0.1.4-py3-none-any.whl Python 3 none any Details for dstack_yaml_manager-0.1.4-py3-none-any.whl

Total release size: 89.3 kB

Release files / dstack_yaml_manager-0.1.4.tar.gz

Download URL dstack_yaml_manager-0.1.4.tar.gz
Size 44.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4297e6b5c13507d85d789b6039eba8240554cdf2577507b6b976e3db9b46a1ae
BLAKE2b-256 checksum
How to use checksums
4e563655e984ac048b5a19637a3b104b1929b6a4325ffd698fcceb7658da776c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Release files / dstack_yaml_manager-0.1.4-py3-none-any.whl

Download URL dstack_yaml_manager-0.1.4-py3-none-any.whl
Size 44.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37c99f38edba02a37f9ef906a813ad1cd0cc0de279bdb87ecbb09a1295f95a8b
BLAKE2b-256 checksum
How to use checksums
22bde5ba3533d2dbf26c28d8878278dc61babd14f61dd2660b96237de2f01a48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.11

Security for dstack-yaml-manager 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page