Skip to main content

myt - My Task Manager

Project description

myt-cli

My Tasks - A personal task manager

GitHub Release GitHub License App Type PyPI - Status Python Version from PEP 621 TOML GitHub code size in bytes security: bandit

What is it

A simple command line task manager written in python. It is inspired from taskwarrior but with no where near as much functionality.

It can be used in two ways. As a one-shot command line app where you run individual commands directly from your shell. Or as an interactive TUI by running myt with no subcommand, which launches a persistent full-screen session with a command input, autocomplete, and auto-refresh.

What can it do

You can add tasks with descriptions, due dates and notes. You can group tasks together, add tags to them and classify them with a context such as @phone or @home. Tasks can be modified. Tasks can also be set to indicate they are currently being worked on. There is functionality to set recurring tasks.

You can also run myt as an interactive TUI with IDE-style autocomplete, command history, filter persistence, and interactive prompts for recurring task operations.

Screenshots

  1. The default view in TUI mode TaskView  
  2. A 7 day view of tasks - view --7day TaskView7Day  
  3. Basic statistics - stats TaskStats

Interactive TUI Mode

Run myt with no subcommand to enter the interactive TUI. All the same commands available in one-shot CLI mode work here, typed at the myt> prompt at the bottom of the screen. The toolbar at the top shows the active filter, last refresh time and task counts.

Shorthand syntax

In TUI mode, common flags can be replaced with single-character prefixes for faster input. Quoted text without a prefix becomes the task description. Standard flags like -gr and -tg also continue to work.

Shorthand Flag Field
+value -gr Group
@value -cx Context
#value -tg Tag
^value -du Due date
!value -pr Priority
~value -hi Hide until
*value -re Recurrence
*value|end -re and -en Recurrence with end date
&"text" -no Notes
"text" -de Description

Keyboard shortcuts

Key Action
F5 Toggle row highlight/navigation mode. Use Up/Down or j/k to move between tasks
F6 Open current view in a pager for scrolling with full colour support
F7 Toggle compact mode which hides non-essential columns such as duration, version, age and score

The TUI auto-refreshes every 60 seconds, re-running the last command. Interactive dialog overlays are shown for recurring task prompts and confirmations.

Examples

One-shot CLI mode

  1. Add a simple task myt add -de "Buy gifts" -du 2026-06-25 -gr PERS.SHOPPING -tg birthday,occasions -cx home  
  2. Add a recurring task myt add -de "Pay the rent" -re M -du 2026-06-25 -hi -5 -gr PERS.FINANCES -tg bills This task is scheduled for the 25th of every month. Using the 'hide' option the task will be hidden until 5 days from the due date for every occurrence in the tasks default view  
  3. Add a recurring task with an end date myt add -de "Project weekly catch ups" -re WD1,2,5 -du +0 -en +30 -gr WORK.PROJECTS This adds a recurring task for every Monday, Tuesday and Friday and ending in 30 days from today

TUI mode with shorthand

  1. Add a task using shorthand add "Buy gifts" ^2026-06-25 +PERS.SHOPPING #birthday #occasions @home &"pick up from the mall"  
  2. View tasks filtered by context view cx:phone  
  3. Add a recurring task using shorthand add "Pay the rent" ^2026-06-25 +PERS.FINANCES #bills *M|+365  
  4. Modify a task using shorthand modify id:3 !H ~-3 Sets task 3 to High priority and hides it until 3 days before its due date

Other functionality in the app can be explored using the app's help

Installation

Install using pip: pip install myt-cli

Development Setup

git clone https://github.com/nsmathew/myt-cli.git
cd myt-cli
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Run tests: pytest tests/

Run security scan: bandit --recursive --severity-level all src/

Technology

  • Python 3
  • Sqlite3
  • Rich
  • prompt_toolkit

Links

Contact

Nitin Mathew, nitn_mathew2000@hotmail.com

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

myt_cli-0.7.1.tar.gz (94.6 kB view details)

Uploaded Source

Built Distribution

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

myt_cli-0.7.1-py3-none-any.whl (101.0 kB view details)

Uploaded Python 3

File details

Details for the file myt_cli-0.7.1.tar.gz.

File metadata

  • Download URL: myt_cli-0.7.1.tar.gz
  • Upload date:
  • Size: 94.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for myt_cli-0.7.1.tar.gz
Algorithm Hash digest
SHA256 0ef8476d2afc524c658425b1b9f9af21da79ac4552273ad2dccf7ee93de8dc5c
MD5 611e979f035da34f631f45219f6da164
BLAKE2b-256 72c04005a33919d17ea59a3c00e20c84f1518492e8c6eed23068332c844d01db

See more details on using hashes here.

File details

Details for the file myt_cli-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: myt_cli-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 101.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for myt_cli-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cfc7ceef95959a63892e81567929d2349c6dc15529b4f74e926a11af321dd894
MD5 931fadad07e1844f591e616a44500261
BLAKE2b-256 956cb5bca41eb8efe1d6729df68349d3467cf64c6aaba8c5c779838c555f2bd6

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