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.taskfile. Especially helpful if you changed the default location of your.taskfile. - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| taskquant-0.0.5.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|