Skip to main content

CLI and TUI for Taskdog task management system

Project description

taskdog-ui

Command-line interface and terminal user interface for Taskdog task management system.

Overview

This package provides two user interfaces for Taskdog:

CLI (Command-Line Interface)

  • 30+ commands for task management
  • Rich terminal output with colors and formatting
  • Batch operations support
  • Export capabilities (JSON, CSV, Markdown)

TUI (Terminal User Interface)

  • Full-screen interactive interface powered by Textual
  • Real-time task table with filtering and search
  • Gantt chart visualization
  • Vi-style keyboard navigation
  • Modal dialogs for task creation and editing

Installation

Basic installation (CLI and TUI):

pip install taskdog-ui

With server support (includes taskdog-server):

pip install taskdog-ui[server]

For development:

pip install -e ".[dev]"

Prerequisites

IMPORTANT: The CLI and TUI require a running API server. All commands will fail without it.

1. Install the Server

# Server should be installed via workspace
cd /path/to/taskdog
make install

2. Start the Server

# Start the server (required before any CLI/TUI usage)
taskdog-server --host 127.0.0.1 --port 8000

# Or use systemd for auto-start (recommended)
systemctl --user start taskdog-server
systemctl --user enable taskdog-server

3. Configure API Connection

Edit ~/.config/taskdog/cli.toml:

[api]
enabled = true
host = "127.0.0.1"
port = 8000

Or set environment variables:

export TASKDOG_API_HOST=127.0.0.1
export TASKDOG_API_PORT=8000

4. Verify Connection

# Test that CLI can connect to server
taskdog table

Usage

Note: All commands below require the server to be running (see Prerequisites above).

CLI Examples

# Add a task
taskdog add "Implement feature" --priority 3

# View tasks
taskdog table
taskdog gantt

# Task lifecycle
taskdog start 1
taskdog done 1

# Optimization
taskdog optimize --algorithm balanced

TUI

Launch the interactive interface:

taskdog tui

Keyboard shortcuts:

  • a: Add task
  • s: Start task
  • d: Complete task
  • e: Edit task
  • /: Search
  • q: Quit

Architecture

The UI uses:

  • Click: CLI framework
  • Rich: Terminal formatting and rendering
  • Textual: TUI framework
  • httpx: API client (for client-server mode)
  • taskdog-core: Core business logic and infrastructure

Dependencies

  • taskdog-core: Core business logic
  • click: CLI framework
  • rich: Terminal formatting
  • textual: TUI framework
  • httpx: HTTP client

Testing

pytest tests/

License

MIT

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

taskdog_ui-0.18.1.tar.gz (148.0 kB view details)

Uploaded Source

Built Distribution

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

taskdog_ui-0.18.1-py3-none-any.whl (215.1 kB view details)

Uploaded Python 3

File details

Details for the file taskdog_ui-0.18.1.tar.gz.

File metadata

  • Download URL: taskdog_ui-0.18.1.tar.gz
  • Upload date:
  • Size: 148.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for taskdog_ui-0.18.1.tar.gz
Algorithm Hash digest
SHA256 08251e308ceef2e8572e096785e308e8e9b58bc35632b5e862df3e9974c42f56
MD5 5d5dcd9e56c85a2c1a99285c1600c3e4
BLAKE2b-256 1a6747e099111f6d2b3b671d457878833f87d5bcfb676e3b5376e4c08ce2090c

See more details on using hashes here.

File details

Details for the file taskdog_ui-0.18.1-py3-none-any.whl.

File metadata

  • Download URL: taskdog_ui-0.18.1-py3-none-any.whl
  • Upload date:
  • Size: 215.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for taskdog_ui-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 083ed4b5251ea12d3288bdcb5b2239d8516de71d322c160a4a08446ab339bdc4
MD5 8d083ae98f6a401ca09304708cc144e6
BLAKE2b-256 6d826d7fce93a674cd46a35628f49058a17dbce251e4ab052865096715c560a7

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