Skip to main content

Install

From the project directory, on macOS or Linux:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .

On Windows PowerShell:

py -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -e .

After activation, run task to open the interactive terminal view. Enter commands at the ❯ prompt, for example add Write report, ls, or /help. list and ls are the same command. list shows To do tasks, list --done shows completed tasks, and list --all shows both. Titles may contain spaces without quotes. clear and cls clear the interactive screen; clear-completed removes completed tasks. Type task at the prompt to show the welcome view again.

Tab completes commands and the arrow keys recall history on terminals with readline. The welcome screen shows your next task and a small activity chart.

You can also run single commands directly, such as: task add "Write report" or task --help.

To leave the environment, run deactivate.

Commands

Command Purpose
task add "Write report" Add a task
task list or task ls List To do tasks
task list --done List completed tasks
task list --undone List To do tasks
task list --all List every task
task done 1 Complete task 1
task undone 1 Make task 1 pending
task delete 1 Delete task 1
task update 1 "New title" Change task 1's title
task show 1 Show task 1's details
task clear Delete completed tasks
task stats Show progress and a 7-day completion chart
task demo Try 26 sample tasks in a temporary workspace
task help Show all commands

Also available: task --help, task --version, and task <command> --help (for example, task add --help). IDs are positive integers. After deletion or a status change, tasks are renumbered from 1, with To do tasks first. Use list --all to see current IDs. Existing task files are normalized when read; new IDs are saved on the next change. Titles cannot be blank.

Try it with sample data

task demo

Or run python test_task.py from the project directory. Both open a separate session with 8 pending and 18 completed tasks spread across the last week. Try ls, ls --done, done 1, then stats. Type /exit to leave. Demo changes are discarded; your own tasks stay untouched. task demo --preview prints the sample list and chart without opening a prompt.

Progress

stats shows task counts, completion percentage, and a daily chart:

Progress  ━━━━━━━━━━━━━━──────  69%

This week · completed tasks

Tue 06  ━━━━              1
Wed 07  ━━━━━━━━━━━━      3
Thu 08  ━━━━━━━━          2
Fri 09  ━━━━━━━━━━━━━━━━  4
Sat 10  ━━━━              1
Sun 11  ━━━━━━━━━━━━      3
Mon 12  ━━━━━━━━━━━━━━━━  4

Dates follow your local timezone. done records the completion time; undone removes it. The chart counts tasks still in the file, so deleting completed tasks also removes them from the chart. Older tasks without a completion date still count toward the total, but not the daily chart.

Project structure

src/task_manager/
  cli.py            Entry point: one command or interactive mode
  arguments.py      Command names, flags, and ls alias
  commands.py       Add, edit, complete, delete, list
  storage.py        JSON file, validation, task IDs
  productivity.py   Weekly counts and progress
  input.py          Parse commands typed at the prompt
  interactive.py    Input loop and command history
  demo.py           Sample tasks and temporary workspace
  ui/
    theme.py        Colors and terminal sizing
    animation.py    Startup and result transitions
    views.py        Welcome screen, help, and task list
tests/              CLI, interactive, demo, and productivity tests
test_task.py        Start the demo from the project directory

A command goes through cli → arguments → commands → storage. Interactive mode adds input and ui; both modes use the same commands. No runtime dependencies. Set TASK_MANAGER_NO_ANIMATION=1 to disable motion, or NO_COLOR=1 for plain output. Redirected output has no colors or animation.

Where tasks are stored

The file is tasks.json in ~/Library/Application Support/task-manager/ on macOS, %APPDATA%\task-manager\ on Windows, or ${XDG_DATA_HOME:-~/.local/share}/task-manager/ on Linux. It is created when a command saves tasks. A missing or empty file means no tasks. If JSON is corrupted, the command reports an error and leaves the file intact.

Run tests

With the virtual environment active, install pytest separately for development:

python -m pip install pytest
python -m pytest

Tests set TASK_MANAGER_DATA_DIR to a temporary directory. Your real task data is never cleared by the test suite.

Metadata

Release files for student-task-manager-cli 0.1.0

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

Source distribution (sdist)

Source distribution for student-task-manager-cli 0.1.0
File Size Uploaded
student_task_manager_cli-0.1.0.tar.gz 14.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for student-task-manager-cli 0.1.0
File Interpreter ABI Platform
student_task_manager_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.1 kB

Release files / student_task_manager_cli-0.1.0.tar.gz

Download URL student_task_manager_cli-0.1.0.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a437d48932bfeeb5f80ec9b93234e0e7b07827c7c48f4421e9eaafc1decd72f4
BLAKE2b-256 checksum
How to use checksums
408d6580e319274f3d45f2ed7baf7d6ecbdd597faca85a9a40765143547ff919
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / student_task_manager_cli-0.1.0-py3-none-any.whl

Download URL student_task_manager_cli-0.1.0-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
38289b8aee7b3cacb33581934ce2b9ac70492c54a4fa70bdc32ca3c5ead882e4
BLAKE2b-256 checksum
How to use checksums
a4f5262a2333bec8eeb4ef9d717fee202b479a4c10d8bd3472aeec82416b9f9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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