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 0.1.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-0.1.0.tar.gz | 6.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| linkmark-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.8 kB
Release files / linkmark-0.1.0.tar.gz
| Download URL | linkmark-0.1.0.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e48506526196ec756f2f23592c5366d212fcaac8246e21ab2008e807ec736573
|
|
BLAKE2b-256 checksum How to use checksums |
34ab469fc081ee72557c9c641e0837fc5f6690cfec00295cb570e12ab57b326c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / linkmark-0.1.0-py3-none-any.whl
| Download URL | linkmark-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8842e226a6174bfa39a19d37e327e37bfca2453cb81b9d998ea36359aed3c125
|
|
BLAKE2b-256 checksum How to use checksums |
cd160a80344b53d4ac22c208104a3e3ac5f5314c5c843fe4bec479c8f060567d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for linkmark 0.1.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.