Skip to main content

simple taskwarrior note management

Project description

Simple taskwarrior note management

Static Badge PyPI - Version GitHub Release GitHub Actions Workflow Status

A script without bells and whistles. Focuses on letting you quickly:

  • create notes for taskwarrior tasks
  • edit notes for taskwarrior tasks

It does both by simply being invoked with topen <task-id>.

Provide a taskwarrior task id or uuid and topen creates a new note file or lets you edit an existing one. Additionally it adds a small annotation to the task to let you see that there exists a note file next time you view the task.

Should just work as-is without additional configuration in most modern taskwarrior setups.

Can be configured through environment variables or cli options, see below.

Can be used as-is with the topen command or directly from taskwarrior by being aliased in your taskrc:

alias.note=exec topen

And you can open any note with your usual taskwarrior workflow, by doing task note <id>.

That's all there is to it.

Installation

You can install the script with your favorite python environment manager:

uv tool install topen
pipx install topen
pip install topen

Or just manually copy the topen file to a directory in your PATH. tasklib is the only dependency aside from the python standard library.

If you just want to try the script out, feel free to do so by invoking it e.g. with uvx git+https://git.martyoeh.me/Marty/topen.git.

If you want to install the trunk version instead of a versioned release simply substitute for the git path:

uv tool install git+https://git.martyoeh.me/Marty/topen.git

Configuration

Most taskwarrior setups should not need much further configuration and just work out of the box. However, if you want to diverge from the defaults explained here, use the below settings to configure everything to your preferences.

It looks for a taskrc file in the user's home directory (~/.taskrc) or the XDG base config directory (usually ~/.config/task/taskrc). The data directory also follows the taskwarrior defaults (~/.task) or is read from the taskrc data.location option.

The notes directory defaults to be in the notes subdirectory of where-ever your taskwarrior data location is, but can be set to anywhere else independently as well.

This program can be configured in 3 different ways: options set in your regular taskwarrior taskrc file, environment variables or options given on the command line.

CLI options override environment variables, which in turn override configuration set in the taskrc file.

Taskrc configuration

All options can be changed directly in your taskrc file. This may be most useful for settings which do not change often for you, such as the note extension or notes directory.

The following settings are supported:

data.location # used for the taskwarrior data directory
notes.dir # set the notes directory itself
notes.ext # set the note file extension
notes.annot # set the annotation added to tasks with notes
notes.editor # set the editor used to open notes
notes.quiet # set topen to hide all verbose information during use

Environment variables

Each option can be changed through setting the corresponding environment variable.

These are the same as the taskrc file options with a prepended TOPEN_ and dots turned to underscores.

The following settings are supported:

TASKRC= # taskwarrior config file location
TASKDATA= # taskwarrior data directory location
TOPEN_NOTES_DIR= # set the notes directory itself
TOPEN_NOTES_EXT= # set the note file extension
TOPEN_NOTES_ANNOT= # set the annotation added to tasks with notes
TOPEN_NOTES_EDITOR= notes.editor # set the editor used to open notes
TOPEN_NOTES_QUIET= # set topen to hide all verbose information during use

CLI options

Finally, each option can be set through the cli itself.

To find out all the available options use topen --help.

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

topen-0.2.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

topen-0.2.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file topen-0.2.0.tar.gz.

File metadata

  • Download URL: topen-0.2.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for topen-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5de0d04db6403d00844508cab095019bba02530b731cc721502c9a8b24f0141f
MD5 cef29bab9aa0cc9dd9108d040672e7c1
BLAKE2b-256 6f58acbeb13e3b255cb1a7626dee4756f1db66c3b366b05ac64454b7605751f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for topen-0.2.0.tar.gz:

Publisher: release.yaml on marty-oehme/topen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file topen-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: topen-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for topen-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f40909023fa3d01ed66e41adb51d6dfe0a68bf7399e3cef35c74e658efc7702d
MD5 af003dc88b503792dbc0b467ff64de34
BLAKE2b-256 a33fcfded294fa6a91cdffec93784bf8880245067a90e80de5dd9bce46aff41d

See more details on using hashes here.

Provenance

The following attestation bundles were made for topen-0.2.0-py3-none-any.whl:

Publisher: release.yaml on marty-oehme/topen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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