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.ymlfiles
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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.