Skip to main content

Add your description here

Project description

Topen - simple taskwarrior note editing

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

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

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

Automatically appends a small 'Note' annotation to your task so you know you already have notes for it.

Should just work as-is without additional configuration in most modern taskwarrior setups.[^moderntw]

[^moderntw]: The script assumes your taskwarrior setup follows the XDG base directory suggestions. That means, taskrc in $XDG_CONFIG_HOME/task/taskrc, usually ~/.config/task/taskrc. Furthermore, at the moment it assumes the taskwarrior data residing in the $XDG_DATA_HOME/task directory. This will diverge from many taskwarrior setups still and can be set through the cli option --task-data. The idea is for future topen versions to recognize the task data directory from the taskrc file itself but this has not been implemented.

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 git+https://git.martyoeh.me/Marty/topen.git
pipx install git+https://git.martyoeh.me/Marty/topen.git
pip install git+https://git.martyoeh.me/Marty/topen.git

Or just manually copy the topen file to a directory in your PATH.

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.

Only has tasklib as a dependency.

Configuration

TASK_RC = os.getenv("TASKRC", "~/.config/task/taskrc") # not implemented yet
TASK_DATA_DIR = os.getenv("TASKDATA", "~/.local/share/task")
TOPEN_DIR = os.getenv("TOPEN_DIR", "~/.local/share/task/notes")
TOPEN_EXT = os.getenv("TOPEN_EXT", "md")
TOPEN_ANNOT = os.getenv("TOPEN_ANNOT", "Note")
TOPEN_EDITOR = os.getenv("EDITOR") or os.getenv("VISUAL", "nano")
TOPEN_QUIET = os.getenv("TOPEN_QUIET", False)

These are all environment variables offered, needs improved documentation.

Ultimately the goal would probably be to support reading from a taskwarrior 'taskrc' file, which can then be optionally overwritten with env variables, which can then be optionally overwritten with cli options.

This is not fully implemented -- we support the above environment variables and cli options, that's it.

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.1.0.tar.gz (3.5 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.1.0-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: topen-0.1.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for topen-0.1.0.tar.gz
Algorithm Hash digest
SHA256 660b4b7c2aadbac9b17907380528d0549252a386c046fc3b4462c168a2f75329
MD5 95d544f30a4bc7107fe2dd82e599b3e7
BLAKE2b-256 e5ce2267ed6d79db9e6340d5269491623ee024325ce41d79c10206e952f03448

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topen-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.10

File hashes

Hashes for topen-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08cc55ef9d6f1ad475da18410f84c2de4607bda1e648beb85cad356f5c4374c2
MD5 85aba08f6f6fd0ebf1331b710b572531
BLAKE2b-256 deaa7189304299212f652f210ac286284876d0465a9edbf383ff2cca6746b5ca

See more details on using hashes here.

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