Skip to main content

A CLI task management tool

Project description

later-cli

PyPI version

A CLI task management tool. It is a simple program for managing tasks from the command line.

A simple task management tool for the terminal: later

Installation

Requires Python 3.10 or later.

Install from PyPI

You can install later-cli using pip:

pip install later-cli

Then you can run the later command in your terminal.

Install from GitHub Repository

Use the package manager uv for setup. Running the commands below automatically creates a virtual environment (.venv) and syncs dependencies. First, install uv:

# Install uv
pip install uv
# OR
# brew install uv
# cargo install --git https://github.com/astral-sh/uv uv

And then, clone the repository and set up the environment:

# Clone the repository
git clone https://github.com/kujirahand/later-cli.git
cd later-cli

# Install dependencies and set up the environment
uv sync

Quick Start

A short tutorial is available below.

Basic usage:

# Adds a task for 3 days later at 8:00 AM
later add 3d "Submit report"  
# Check tasks
later list
# Mark the first task as done
later done 1
# Delete all completed tasks
later clear --target=done
# Check the task list again
later list
# Delete the first task
later delete 1

Setup to Check Tasks at Shell Startup

For macOS/Linux

After cloning this repository, add the script directory to your PATH. Then you can run later args... from anywhere. The wrapper script later automatically runs via uv run when .venv exists.

It is convenient to add the following settings to ~/.zshrc or ~/.bashrc:

LATER_CLI_PATH="/path/to/later-cli"  # replace with your later-cli path
PATH="$LATER_CLI_PATH:$PATH"
# Check due tasks at startup
later check

For Windows

When using Windows PowerShell, open ~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 (the value of $PROFILE) in a text editor and add the following lines. If the file or folder does not exist, create it first.

cd /path/to/later-cli  # replace with your later-cli path
uv run later check

How to Use later-cli

Please type later --help to see the available commands and options.

Configuration Customization

You can change values in tasks.json with the set command.

# Customize date display format
later set datetime_format "%Y/%m/%d %H:%M"

Date Display Format Customization (datetime_format)

By default, notification timestamps in the task list (later list) omit the year and are displayed in a format like MM/DD(weekday) HH:MM (e.g., 03/01Wed03:33). If you want to change the display format, use later set datetime_format (format) to set your preferred format string.

You can use Python's strftime format specifiers.

Format Example Display Example
%Y/%m/%d %H:%M 2026/06/01 10:30
%d/%m %H:%M 01/06 10:30 (European style)
%b %d, %Y %I:%M %p Jun 01, 2026 10:30 AM (US style)
%m/%d(%a) %H:%M 06/01(Mon) 10:30 (Japanese style)

Date Input Format Customization (datetime_in_format)

You can also customize the date input format when adding or editing tasks. By default, formats like MM/DD HH are supported, but you can change this by setting a custom format string to the datetime_in_format key.

# Change the date input format
later set datetime_in_format "%Y.%m.%d %H:%M"

For the format string, use Python's strptime format specifiers. For example, if you set %Y.%m.%d %H:%M, you can enter dates like 2026.06.01 10:30 when adding or editing tasks.

Format Example Input Example
%Y.%m.%d %H:%M 2026.06.01 10:30
%d/%m %H:%M 01/06 10:30 (European style)
%b %d, %Y %I:%M %p Jun 01, 2026 10:30 AM (US style)
%m/%d(%a) %H:%M 06/01(Mon) 10:30 (Japanese style)

Date-Only Input Format Customization (date_in_format)

Likewise, by setting a custom format for the date_in_format key, you can customize the format used to input date-only values when adding or editing tasks. By default, formats like MM/DD are supported.

# Change the date-only input format (MM.DD)
later set date_in_format "%m.%d"

If the input is date-only and contains no time information, the notification time is automatically set to the app default: 08:00:00 (8:00 AM). Also, when the year is omitted, the current year (or next year if that date has already passed) is automatically complemented.

Format Example Input Example Stored Notification Datetime (when run in 2026)
%Y.%m.%d 2026.07.15 2026-07-15 08:00:00
%d/%m 15/06 (European style) 2026-06-15 08:00:00
%m/%d 06/15 (Japanese style) 2026-06-15 08:00:00

Deadline Renewal and Direct Date Input (renew command)

The later renew command supports not only extending deadlines by relative offsets, but also updating a deadline by directly specifying a date or datetime.

# Extend task 1 by 7 days (relative offset)
later renew 1 "7d"

# Change task 1 deadline directly to 6/1 08:00:00 (direct date input)
later renew 1 "6/1"

When specifying a date directly, you can also use the custom formats configured above for datetime_in_format and date_in_format.

More Detailed Guide

The following Mynavi series introduces the program and basic usage:

GitHub Repository

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

later_cli-0.3.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

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

later_cli-0.3.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file later_cli-0.3.0.tar.gz.

File metadata

  • Download URL: later_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for later_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3f0e7e2d9d0af1c6e92fb9dd2d59a924f2524b3326a86e9449bbd8226861650d
MD5 b00f36c92b9190b0da685d8a08f0ef7f
BLAKE2b-256 a5f571e9e4581970c12e80442c2e38fb6da3a51701ce4d6e7bef95ffbd3426b7

See more details on using hashes here.

File details

Details for the file later_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: later_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for later_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2695af93180f2e272285b54a4419739d13f435acaee7062917db53bba3a8c14a
MD5 f9ad46cbc3b884b0ddcf3dc744587acb
BLAKE2b-256 0804e1bd4dff159f4d4d9ec41c37166f2e73e362d8518bc0e89d1b5ab2eb7c96

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