Skip to main content

A command line time blocker that nags you to get things done

Project description

nag 🐍️

PyPI - License Tests Version Downloads

nag is a command-line time-blocking tool designed to help you organize your day with time blocks. Add tasks to your schedule, annotate them, and display your timeline — all from the terminal.

Features

  • Add time blocks for specific tasks.
  • Annotate existing time blocks.
  • Display your timeline for a given day.
  • Simple and intuitive command-line interface.

Installation

1. Using pipx (recommended)

pipx is a great tool for installing Python applications in isolated environments, so you don’t clutter your global Python installation.

To install pipx:

python3 -m pip install --user pipx
python3 -m pipx ensurepath

After you have pipx installed, you can install nag:

pipx install nag

This will install nag and ensure it’s available globally on your system.

2. Using pip

You can also install nag using pip if you prefer to install it directly into your Python environment.

pip install nag

Usage

1. Adding a Time Block

To add a new task to your schedule:

nag block 09:00 10:00 "Meeting with team"

This will add a task from 9:00 AM to 10:00 AM with the description "Meeting with team" for today by default. You can also specify a date:

nag block 09:00 10:00 "Meeting with team" --task-date 09/19

2. Showing your schedule

To view your schedule for today:

nag show

You can also show the schedule for a specific date:

nag show --date 09/19

3. Annotating a task

To annotate an existing task using its ID (as shown in the timeline):

nag annotate <task_id> "Discussed project progress."

4. Mark task as DONE

To mark a task as DONE:

nag done <task_id>

5. Delete task

To delete a task using its ID:

nag delete <task_id>

Help

You can get help for any command by running:

nag --help
Usage: nag [OPTIONS] COMMAND [ARGS]...

  nag 🐍️ - Command-line time-blocking tool.

Options:
  --help  Show this message and exit.

Commands:
  annotate  Annotate an existing time block using its ID.
  block     Add a time block to your schedule with an optional date.
  delete    Delete a time block using its ID.
  done      Mark a time block as done using its ID.
  show      Show the timeline for the given date.

For specific commands, you can also run:

nag block --help
nag show --help
nag annotate --help
nag done --help
nag delete --help

Contributing

Contributions are welcome! If you’d like to contribute to this project, feel free to open a pull request or submit an issue.

License

This project is licensed under the MIT License.

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

nag-0.2.3a4.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

nag-0.2.3a4-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page