linkmark — Annotated Bookmark CLI
Save links with mandatory context — because bookmarks are useless without the "why."
Install
# Clone or copy the file
cp linkmark.py /usr/local/bin/linkmark
chmod +x /usr/local/bin/linkmark
# Or run directly
python3 linkmark.py
Requirements: Python 3.11+, zero external dependencies (stdlib only).
Quick start
# Add a bookmark (note is mandatory)
linkmark add "https://docs.python.org/3/library/sqlite3.html" "Python sqlite3 docs — FTS5 reference" --tag python --tag docs
# List recent bookmarks
linkmark list
# Search
linkmark search "python"
# Export
linkmark export --format markdown > bookmarks.md
linkmark export --format json > bookmarks.json
# Stats
linkmark stats
# List tags
linkmark tags
# Delete
linkmark delete 1
Commands
| Command | Description |
|---|---|
add <url> <note> [--tag TAG ...] |
Save a bookmark with mandatory annotation |
list [--page N] [--limit N] |
List recent bookmarks, newest first |
search <query> [--limit N] |
Full-text search (FTS5, falls back to LIKE) |
export [--format markdown|json] |
Export all bookmarks |
stats |
Show total, this week, top tags |
delete <id> |
Remove a bookmark by ID |
tags |
List all tags with counts |
Storage
- SQLite database at
~/.local/share/linkmark/bookmarks.db - FTS5 virtual table for full-text search (auto-created if available)
- Tags stored in normalized many-to-many tables
Metadata
Release files for linkmark 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 | |
|---|---|---|---|---|
| linkmark-1.0.0.tar.gz | 6.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| linkmark-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.5 kB
Release files / linkmark-1.0.0.tar.gz
| Download URL | linkmark-1.0.0.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f023cb951d4391783f5148c47ce125122d5b07521129e3b81830bdb682c4e7a
|
|
BLAKE2b-256 checksum How to use checksums |
94c902cbbd3a74163b280b7220e43f3c43abd039d97c77e9cf7a5381b0744284
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / linkmark-1.0.0-py3-none-any.whl
| Download URL | linkmark-1.0.0-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bf3dea6a2d16fbc0038f9d7d68b514379a2b6134dabf826dcdd88c423a89b47f
|
|
BLAKE2b-256 checksum How to use checksums |
0e76adfa8d307444001a5b7e6d7a0e0a4c3e733d0c4f6878902a61b248d7163f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for linkmark 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.