Skip to main content

TaskQuant

This is a CLI application that helps Taskwarrior users quantify their productivity by tracking the 'score' attribute in their tasks.

score is a custom User Defined Attributes. You will need to have that configured in your .taskrc file. A sample configuration for this attribute would be:

uda.score.type=numeric
uda.score.label=Score 🏆 
urgency.uda.score.coefficient=2

TaskQuant will then compute the score(s) you have accumulated across the different tasks and return a scoresheet.

TaskQuant has no external dependencies except tasklib, which is also by the same organization that developed Taskwarrior.

It is written entirely in Python, using standard library. It may have optional dependencies, but those are not required and a fallback option will always be used by default.

For those reasons, TaskQuant is extremely lightweight. As it stands, it's only 6.8kb of code, and should install in under a second.

Installation

TaskQuant is available on pypi.

pip install taskquant

Usage

Install the package and execute:

tq 
  • It supports an optional -p (path) argument to specify the path to your .task file. Especially helpful if you changed the default location of your .task file.
  • It supports an optional -v (verbose) argument to print out additional information in its output.
tq -p ~/vaults/tasks -v 

# outputs:
+------------+-------+------------+
|    Date    | Score | Cumulative |
+------------+-------+------------+
| 2022-03-09 |   0   |     0      |
| 2022-03-10 |   8   |     8      |
| 2022-03-11 |   1   |     9      |
| 2022-03-12 |  43   |     52     |
| 2022-03-13 |   4   |     56     |
| 2022-03-14 |   4   |     60     |
| 2022-03-15 |   7   |     67     |
| 2022-03-16 |   9   |     76     |
| 2022-03-17 |   4   |     80     |
| 2022-03-18 |   4   |     84     |
| 2022-03-19 |   3   |     87     |
| 2022-03-20 |   2   |     89     |
| 2022-03-21 |   5   |     94     |
+------------+-------+------------+
Total completed tasks: 48
Active dates: 13
task_path: /home/samuel/vaults/tasks

You can also print a weekly (-w) version of the scoresheet:

tq -w 
+-------+-------+------------+
| Week# | Score | Cumulative |
+-------+-------+------------+
|  10   |  56   |     56     |
|  11   |  33   |     89     |
|  12   |  26   |    115     |
|  13   |  12   |    127     |
+-------+-------+------------+

The first column refers to the ISO week number of the year.

  • To see all optional arguments, use the -h (help) argument.
tq -h

Dependencies

Testing

Tests are written in unittest and stored in the tests directory.

To execute tests without arguments and automatic test discovery:

python -m unittest 

To test a specific test file (-v for verbose output):

python -m unittest -v tests/test_accum.py

test_create_combined_table (tests.test_accum.TestAccum) ... ok
test_create_full_date ... ok
test_create_table_auto (tests.test_accum.TestAccum) ... ok
test_extract_tasks (tests.test_accum.TestAccum) ... ok
test_fill_rolling_date (tests.test_accum.TestAccum) ... ok
test_invalid_path_warning (tests.test_accum.TestAccum) ... ok
test_task_to_dict (tests.test_accum.TestAccum) ... ok

----------------------------------------------------------------------
Ran 7 tests in 0.049s

OK

Roadmap

  • Add terminal-based charts and graphs
  • New ways to visualize scores based on tags, projects or other attributes

Links to Tutorials

  • to be updated

Release files for taskquant 0.0.5

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

Source distribution (sdist)

Source distribution for taskquant 0.0.5
File Size Uploaded
taskquant-0.0.5.tar.gz 7.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for taskquant 0.0.5
File Interpreter ABI Platform
taskquant-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 16.4 kB

Release files / taskquant-0.0.5.tar.gz

Download URL taskquant-0.0.5.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4c211320a6dd23dd71a43fcd86cb239e40a80ccf7662bf9802680dcd2f324038
BLAKE2b-256 checksum
How to use checksums
42d8d83840d15f1f33a256fa58ff5d521c38524f14912d46b8dd4ab68af6b31d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

Release files / taskquant-0.0.5-py3-none-any.whl

Download URL taskquant-0.0.5-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b23a02c12d306a9cbbe0a95b8eef88cb63ebc11cbdcba31330958ac0b0d9b637
BLAKE2b-256 checksum
How to use checksums
3bd3017f5b5b0af2ca237c88f843a09f79e0b4918b799e23f1286c150c56f605
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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