Skip to main content

Actions Status Actions Status Coverage Status

Pydo

pydo is a free software command line task manager built in Python.

Why another CLI Task Manager?

Taskwarrior has been the gold standard for CLI task managers so far. However, It has the following inconveniences:

  • It uses a plaintext file as data storage.
  • It stores the data in a non standard way in different files.
  • It's written in C, which I don't speak.
  • It's development has come to code maintenance only.
  • There are many issues with how it handles recurrence.
  • It doesn't have friendly task identifiers.
  • There is no way of accessing the task time tracking from the python library.

And lacks the following features:

  • Native Kanban or Scrum support.
  • Task estimations.
  • Easy report creation.
  • Easy way to manage the split of a task in subtasks.
  • Freezing of recurrent tasks.

Most of the above points can be addressed through the Taskwarrior plugin system or udas, but sometimes it's difficult to access the data or as the database grows, the performance drops so quick that it makes them unusable.

tasklite is a promising project that tackles most of the points above. But as it's written in Haskel, I won't be able to add support for the features I need.

A quick demonstration

Let's see pydo in action. We'll first add three tasks to our list.

$: pydo add Buy milk
  [+] Added task 0: Buy milk
$: pydo add Buy eggs
  [+] Added task 1: Buy eggs
$: pydo add Bake cake
  [+] Added task 2: Bake cake

Now let's see the list.

$: pydo list
     ╷
  ID │ Description
╺━━━━┿━━━━━━━━━━━━━╸
  0  │ Buy milk
  1  │ Buy eggs
  2  │ Bake cake
     ╵

Suppose we bought our ingredients and wish to mark the first two tasks as done.

$: pydo do 0 1
  [+] Closed task 0: Buy milk with state done
  [+] Closed task 1: Buy eggs with state done

$: pydo list
     ╷
  ID │ Description
╺━━━━┿━━━━━━━━━━━━━╸
  2  │ Bake cake
     ╵

Those are the first three features, the add, list and done commands, but they represent all you need to know, to get started with pydo.

But there are hundreds of other features, so if you learn more, you can do more. It's entirely up to you to choose how you use pydo. Stick to the three commands above, or learn about sophisticated agile support, custom reports, user defined metadata and more.

Install

To install pydo, run:

pip install py-do

The installation method will create a new pydo database at ~/.local/share/pydo/database.tinydb.

pydo reads it's configuration from the yaml file located at ~/.local/share/pydo/config.yaml. The default template is provided at installation time.

What's next?

Probably the most important next step is to start using pydo. Capture your tasks, don't try to remember them. Review your task list to keep it current. Consult your task list to guide your actions. Develop the habit.

It doesn't take long until you realize that you might want to change your workflow. Perhaps you are missing due dates, and need more defined deadlines. Perhaps you need to make greater use of tags to help you filter tasks differently. You'll know if your workflow is not helping you as much as it could.

This is when you might look closer at the docs and the recommended Best Practices.

If you want to contribute to the project follow this guidelines.

Welcome to pydo.

Metadata

Release files for py-do 0.1.1

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

Source distribution (sdist)

Source distribution for py-do 0.1.1
File Size Uploaded Provenance
py-do-0.1.1.tar.gz 30.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for py-do 0.1.1
File Interpreter ABI Platform
py_do-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 62.5 kB

Release files / py-do-0.1.1.tar.gz

Download URL py-do-0.1.1.tar.gz
Size 30.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bbf01262c14992e4eddac3b409dcdca36d0aa5ea365b01503c01de59aeb7d025
BLAKE2b-256 checksum
How to use checksums
ec97d258769579c7145beffc8527d74d626b41706981381e49ea08a9c0c1d6a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3

Release files / py_do-0.1.1-py3-none-any.whl

Download URL py_do-0.1.1-py3-none-any.whl
Size 32.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7b1f9637a6674173b3063b68e9b8789adb518cb3b0c5c3716055271e0cbf71ea
BLAKE2b-256 checksum
How to use checksums
d43b217c50bb7f11454cb92b7812274591bba8510f3190d534003b8d9939c7b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.3

Security for py-do 0.1.1

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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