jot 
Minimal opinionated Python command-line interface (CLI) to jot timestamped thoughts.
Install
Recommended:
- Install uv.
- Run
uv tool install jot-cliin a terminal. - Update with
uv tool upgrade jot-cliwhen there's a new release.
To install the current development version: uv tool install git+https://github.com/matt-dray/jot.
Alternatively you can use pipx: pipx install jot-cli.
Requires Python >=3.10.
CLI
Write
Open a terminal and write a jotting:
jot ate an apple
The first time you run jot, you'll be prompted for a path to a text file (.txt or .md) where your jottings will be written.
The file path will be stored under the JOT_PATH key in a config.json file, which is saved to the OS-dependent location resolved by platformdirs.user_config_path("jot").
Each jotting is timestamped and prepended to your text file:
[2025-08-28 11:15] ate an apple
[2025-08-27 10:58] ate a kiwi
[2025-08-26 11:09] ate a pineapple
[2025-08-25 10:40] ate an apple and a pear
You can quote your text input to preserve special characters. Note that line breaks will be replaced with a space.
Options
You can review your jottings using the provided options. For example:
jot -l 3to list the last threejot -s apple -l 1to search for 'apple' and list the most recent onejot -s "[^pine]apple"to search for 'apple' with a regular expression that excludes 'pineapple'jot -f 20250825 -t 20250828to return jottings from 25 Aug 2025 (inclusive) and to 28 Aug 2025 (exclusive)
You can back up your jottings to a GitHub gist using GitHub's CLI. To do this:
- Download the gh CLI.
- Login with
gh auth login. - Create a new GitHub gist.
- Write some jottings with e.g.
jot "ate an apple". - Run
jot -uto upload the contents of your jot file to the gist.
You'll be asked for a gist ID when you first run jot -u.
This is the 32-character string found in the gist's URL or with gh gist list.
There are also flags to get meta-information:
jot -wto show where the config and jot files arejot -vto get the version numberjot -hto show the help file, which includes possible option combinations
Notes
- I developed this tool to help me remember the tasks I've done during my day job and later reflect.
- Your kilometerage may vary; leave an issue if you find bugs or have suggestions.
Metadata
Release files for jot-cli 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jot_cli-0.4.0.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jot_cli-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.5 kB
Release files / jot_cli-0.4.0.tar.gz
| Download URL | jot_cli-0.4.0.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d41a5eeb42973d4a58762a02e2bc356e0a998bdac512005f4657ab88cadeada1
|
|
BLAKE2b-256 checksum How to use checksums |
4462fb9a8a8da08ebb369637a6863b5ec2c2d1adb15d8bc061cbaa83b995a5f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / jot_cli-0.4.0-py3-none-any.whl
| Download URL | jot_cli-0.4.0-py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9639ffa3781c2c013cf1c60599a4aaa31739fe0c86b65f0fda3f747198a33634
|
|
BLAKE2b-256 checksum How to use checksums |
9cc7e619c73613289255babcd6b7d6ed3b3a1cdce7fb8e045ed3d31a99d5bef3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|