This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 8.1.0 instead.
Reason given by maintainers: Dependency version pinning mistake
Busy
A command-line task and plan management tool.
To install:
pip3 install busy
Introduction
Busy is a system for keeping track of tasks. Some of the guiding philosophies:
- There are "active" tasks, which is an ordered list of things to work on (also called "todos"), and there are "plans", which are things that have been deferred to a specific future date
- The "current" task is the top of the "active" task list, so it's the thing to do right now
- Everything is based on a POSIX command line interface, making it easy to use from the terminal prompt on Linux and MacOS systems
- Data is stored in easily edited files, so if the tool doesn't do something you want, you can just edit the files
Commands
The main command is busy.
Otherwise, the first positional argument is a command, which is one of the following.
| Command | Description | Designate tasks? | Default |
|---|---|---|---|
get |
Get the current task, no options | - | Current task |
list |
List active tasks (or plans, with an option) in order, with sequence numbers | YES | All active tasks |
add |
Add a new active task | - | - |
drop |
Drop a task to the bottom of the active order | YES | Current task |
pop |
Pop a task or tasks to the top of the active order | YES | The last task on the active list |
delete |
Delete a task | YES | Current task |
defer |
Convert an active task into a plan for a specific later date | YES | Current task |
activate |
Make a plan or plans active, include a 'today' option | YES - plans | - |
start |
Starts work on a particular project (see below) | - | - |
manage |
Edit tasks in an editor | YES | All active tasks |
Tags and the start command
Tasks can have tags, which are designated with space-separated hashtags in the task description, for example:
go to the supermarket #errands
Tags can be used in task designation, for example:
busy pop errands
A task can have no tags, one tag, or more than one tag. If it has tags, the first tag is considered to be its "project" for the purposes of the start command.
The start command is used to start work on a project. If an argument is passed to the command, that's the chosen project. Otherwise the chosen project is the project of the current task. The command basically combines steps:
- Calls
activate --todayso the active task list is up-to-date - Calls
popon the project - Calls
liston the project
Editing the tasks directly with the manage command
The manage command launches the user's default text editor to directly edit tasks. Note that it only works with active tasks (not plans) and that once the tasks are edited they will be dropped to the bottom of the list.
Busy uses the sensible-editor command to select a text editor, which works with default Ubuntu Linux installations and might or might not work with other operating systems.
Designating tasks
For some commands, it's possible to designate tasks to be acted upon. Designating tasks is always optional.
Tasks are identified by number, which is the line number of that task within the list of tasks. It's easy to see the numbers of tasks using the list command. Note that the numbering starts with 1, and is not an ID -- the number of a task will change as the active task list is reordered. So always reference the most recent list.
busy list lists all the tasks
busy list 5 shows only task number 5
busy list 3-7 shows tasks 3-7
busy list 3- show tasks 3 through the end
busy list 3 5 7 9 shows the tasks designated
busy list - shows the last task
busy list -4 is an error! Use busy list 1-4 instead.
busy list admin list all the tasks with the #admin hashtag somewhere in their description.
Task designation criteria are additive -- that is, a logical OR. So:
busy list admin sales 3 4 will list all the admin tasks, sales tasks, and tasks 3 and 4.
Note the result is always in the order the tasks appear in the queue, regardless of the order the criteria are provided.
Command line options
| Option | Description |
|---|---|
--root |
Defines the root for only this command |
--plan |
Include tasks that are scheduled for a future date (only for list) |
--task |
Provide the task description (only for add) |
--yes |
Don't require confirmation of deletions |
--today |
Activate tasks for today or earlier (only for activate) |
Deferral
Deferral is about scheduling a task to reappear on the task list on a future date. To defer a task, you have to designate the date using the --to or --for option (they are interchangable). Some options:
1 dayor1dTomorrow (the default) - can also writetomorrow2 daysor2dThe day after tomorrow2018-10-28A specific date inYYYY-MM-DDformat
Example:
busy defer 4-6 --for 4 days
Piping to the add command
Task descriptions always come from stdin. To read from a file, try:
cat list-of-tasks.txt | busy add --multiple
Data storage
Tiger requires a "root", which is the directory containing the two data files:
todo.txt- active tasksplan.txt- future tasks, with dates
Technically, they are pipe-delimited data files, though todo.txt only has one field.
How to tell busy its root (in order)
- The
--rootoption - The
BUSY_ROOTenvironment variable - Otherwise,
~/.busywhich will be generated as needed
The "root" setup allows you to have separate task queues for separate projects.
Development
Although it requires Python 3.6.5 or higher, Busy is designed to function with the Python standard library without any additional pip modules.
However, we use coverage during unit testing, so:
pip3 install coverage
Then to run the test suite:
make test
Or to run test coverage:
make cover
Metadata
Release files for busy 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| busy-0.5.0.tar.gz | 14.5 kB | Without provenance | Details for busy-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| busy-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for busy-0.5.0-py3-none-any.whl |
Total release size: 35.4 kB
Release files / busy-0.5.0.tar.gz
| Download URL | busy-0.5.0.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f2d57817a36d05e0fd805e322cd3070cf6f54e96223d47790c4b557ba7762ea
|
|
BLAKE2b-256 checksum How to use checksums |
09e695caa57f092c7f59d605bc4c70af002c65a9457a5b7a20a129642443155d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7
|
Release files / busy-0.5.0-py3-none-any.whl
| Download URL | busy-0.5.0-py3-none-any.whl |
|---|---|
| Size | 20.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6819d8086b13f12c5aa170ee9d5626801fd8ca6f23021bc06c733e4f4ff7de43
|
|
BLAKE2b-256 checksum How to use checksums |
5a6bd8ec6f1f2e072618f966a998861552acf1622b8097b5cfca703e6a6754c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7
|
Security for busy 0.5.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.