Skip to main content

mktask

PyPI Python License

A work task prioritizer built on mkio (config-driven microservice backend) and mkui (config-driven Web Components workspace with dockable panes).

Tasks live in a local SQLite database and show up in a live-updating blotter you can sort, filter, and arrange however you like. Each task carries an importance and an urgency (1–5); the blotter derives a score from them so the most pressing work floats to the top.

A task can be split into child tasks, and a child can be split again, to any depth. The blotter nests children under their parent, each level sorted by score, with carets to fold a subtree away. Completing a task completes everything split from it; reopening a child reopens its ancestors; deleting a task deletes its whole subtree.

Every task gets a Task ID like TKMA00000042: TK, two letters from the username the server runs as (--user), and a sequence number that starts at 00000001, never repeats, and grows past eight digits rather than wrapping (TKMA100000000 follows TKMA99999999).

Quick start

pip install mktask
mktask                    # http://127.0.0.1:8080/

Everything installs via pip; nothing is fetched at runtime.

CLI

mktask [config] [-p PORT] [--host HOST] [-d PATH] [-u USER] [--version]
  • config — path to a mktask.toml. Defaults to ./mktask.toml if present, otherwise the one bundled with the package.
  • -p, --port — override the listening port (default 8080).
  • --host — override the listening host (default 127.0.0.1).
  • -d, --db — database file; .db is appended when there is no extension. :memory: runs without persistence.
  • -u, --user — the username whose first two alphanumeric characters, uppercased, prefix new Task IDs (markTKMA…; a one-character name is padded with X). Defaults to the OS login name.

The server prints the URL to open once it is listening. If the port is already taken it exits immediately with an error instead of starting.

Customizing

Copy the bundled config out and edit it:

python -c "import mktask, pathlib; print(pathlib.Path(mktask.__file__).parent / 'mktask.toml')"

mktask.toml declares the SQLite tables, the mkio services, and the static routes; static/app.json next to it declares the UI (menus, panes, frames, dialogs). Both are plain config — see the mkio and mkui READMEs for the formats. The one piece of code is mktask/services.py, which the tasks service points at: it assigns Task IDs and runs the complete, reopen, and delete cascades.

Upgrading

Until 1.0, a release may change the database schema without migrating an older database. 0.2.0 does (Task IDs, splitting, and complete replacing done): delete your mktask.db before starting the new version.

Development

pip install -e '.[test]'
mktask -d :memory:
python -m pytest

The tests cover the CLI and config loading, Task ID formatting, a real server over HTTP and WebSocket (every task op, splitting and the cascades, the Task ID sequence across restarts and past eight digits, the query filter, saved layouts, the port, host, and user flags), and the static integrity of app.json against mktask.toml.

License

Apache License 2.0. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mktask-0.2.0.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

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

mktask-0.2.0-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mktask-0.2.0.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.7

File hashes

Hashes for mktask-0.2.0.tar.gz
Algorithm Hash digest
SHA256 039b0237abd7878d97c66783db55ba4259d0ad0dd5734c6c2cc37b1c3fd27c08
MD5 3aee8ceaa810acd1e1b3defadd9d7f41
BLAKE2b-256 1ee90e95ecc43af13ae3e166685250b2603060d1ecfc1ee8da6944e2e36bbe2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mktask-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.7

File hashes

Hashes for mktask-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fbe83fa10ac0e9dc03f90b653990b2dcd747f5900315efc739ce3bd784c17e52
MD5 e45c882e6509a929421b27e070b2164d
BLAKE2b-256 4da43e4514638e491ba4457c94b2a9baa484af788fc728d864371dbde9922e00

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.0

2 files

This release

0.2.0 This release

2 files

0.1.0

2 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