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.3.tar.gz (94.8 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.3-py3-none-any.whl (101.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: myt_cli-0.7.3.tar.gz
  • Upload date:
  • Size: 94.8 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.3.tar.gz
Algorithm Hash digest
SHA256 bca0618b9b348057ebc327cf04ea42dcd3844d3d06eff65032f04a6ebf861b03
MD5 8992eca916bc038495c83045c0e8ba76
BLAKE2b-256 8d576d1d47c01e8b4add838eca32767023fd78c47a0e8e1795edfab511734b21

See more details on using hashes here.

File details

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

File metadata

  • Download URL: myt_cli-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 101.1 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 52ac5f5c6a59662357f88b7c15609fd19308e0c8a64695fcb1c7204997f06828
MD5 fcb8d9f68e25bbcef43db1aaa025f6dc
BLAKE2b-256 64ee098c8b752e42ac069c068e7df8807c8bf1bf6a52b5ca6382aeb91fbc17dc

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