jot 📋
A lightweight clipboard history manager for the terminal. Tracks everything you copy — text and images — so you never lose something you copied 10 minutes ago.
Features
- Saves clipboard history automatically in the background
- Supports both text and images
- Images auto-expire from
/tmp/jot/on reboot — no clutter - Deduplicates entries by content hash
- Simple, fast commands you'll actually use daily
⚠️ Privacy Notice
jot stores your full clipboard history including any sensitive data (passwords, tokens, auth codes). The database at ~/.jot/history.db is unencrypted. Don't use on shared machines without understanding this.
Installation
git clone https://github.com/yourusername/jot.git
cd jot
pip install -e .
Then start the daemon:
jot daemon start
Usage
jot ls # show last 20 clipboard entries
jot ls --n 50 # show last 50 entries
jot get <n> # copy entry #n back to clipboard
jot search <query> # search text history
jot clear # wipe all history
Daemon
jot daemon start # start background clipboard watcher
jot daemon stop # stop the watcher
jot daemon status # check if running
How it works
jot daemon start forks a background process that polls your clipboard every 500ms. New entries are saved to a local SQLite database at ~/.jot/history.db.
- Text entries are stored directly in the DB, capped at 500
- Image entries are saved as PNGs to
/tmp/jot/, path stored in DB, capped at 50. If an image has expired,jot lsshows[image expired]
Project Structure
jot/
├── jot.py # CLI entrypoint and all commands
├── daemon.py # background clipboard watcher
├── storage.py # SQLite wrapper
└── setup.py # package config
Requirements
- Python 3.8+
clickrichpyperclipPillow
License
MIT
Metadata
Release files for jot-history 1.0.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 | Provenance | Actions |
|---|---|---|---|---|
| jot_history-1.0.0.tar.gz | 13.0 kB | Without provenance | Details for jot_history-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jot_history-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for jot_history-1.0.0-py3-none-any.whl |
Total release size: 25.8 kB
Release files / jot_history-1.0.0.tar.gz
| Download URL | jot_history-1.0.0.tar.gz |
|---|---|
| Size | 13.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ffdbf24d1aa200469d346b329eb6e383915a0be9ba4e498355c07afe3e075eef
|
|
BLAKE2b-256 checksum How to use checksums |
81514a8a7d1302627ff61879849fda8b62018b66b644ac0c7435a0deb5d368c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / jot_history-1.0.0-py3-none-any.whl
| Download URL | jot_history-1.0.0-py3-none-any.whl |
|---|---|
| Size | 12.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
612eddb0c879c1780cfd257534d1fb61d3159d51f1a49e49001e909e70608e6c
|
|
BLAKE2b-256 checksum How to use checksums |
0a2e552c60c57444001c7b0816429438bc6c97b6e327a1463f295689276d37f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for jot-history 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.