LinkLoom is a command-line bookmark manager that allows you to save and find your bookmarks using natural language queries. Instead of searching by tags or keywords, you can search by meaning.
Project description
LinkLoom is a command-line bookmark manager that allows you to save and find your bookmarks using natural language queries. Instead of searching by tags or keywords, you search by meaning.
Forget trying to remember the exact title of an article you saved three months ago. With LinkLoom, you can just ask:
lloom find "that article about black hole information paradox"
and get relevant results instantly.
How It Works
LinkLoom operates by understanding the semantic meaning of your bookmarks, not just their text.
- Storage: Bookmarks (URL, notes) are stored in a local SQLite database.
- Content Extraction: The main text content of the webpage is extracted using trafilatura.
- Semantic Embedding: The text and your note are converted into vector embeddings using a SentenceTransformer model.
- Vector Storage: Embeddings are stored in a local ChromaDB for efficient similarity search.
- Semantic Search: Your queries are also embedded, and LinkLoom returns the most semantically similar bookmarks.
Installation
LinkLoom can be installed in two ways:
- From PyPI (recommended for most users)
- From source (recommended for contributors)
Prerequisites
- Python 3.9+
git(only for source installation)
1. Create and Activate a Virtual Environment
It is strongly recommended to use a virtual environment.
python3 -m venv .venv
Activate it:
-
On Linux/macOS:
source .venv/bin/activate
-
On Windows:
.venv\Scripts\activate
2. Install from PyPI (Stable)
The easiest way is to install directly from PyPI:
pip install linkloom
3. Install from Source (Development)
If you want to contribute or run the latest changes:
git clone https://github.com/neirzhei/LinkLoom.git
cd LinkLoom
Install uv (fast build tool):
pip install uv
Then install in editable mode:
uv pip install -e .
Usage
Make sure your virtual environment is active (source .venv/bin/activate) before using the CLI.
Adding a Bookmark
lloom add "https://neirzhei.github.io/article/art-in-weaponry.html" --note "might check out miyamoto musashi's book"
Output:
Saved: id=1
Finding a Bookmark
lloom find "miyamoto's view on art"
Output:
https://neirzhei.github.io/article/art-in-weaponry.html
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file linkloom-0.0.2.tar.gz.
File metadata
- Download URL: linkloom-0.0.2.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c00742a4eb4dab3f3abac6e3728905a51ba3feb553e6e307c40787939642fd30
|
|
| MD5 |
aa5a9736c8e17bad1846fdf36aa78d2b
|
|
| BLAKE2b-256 |
f3edb2d28349c6846da26c0b164135abed4aa09a66665a73870ed261b426bb15
|
File details
Details for the file linkloom-0.0.2-py3-none-any.whl.
File metadata
- Download URL: linkloom-0.0.2-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
969b31322c87cd0482a792cc46ee42346cba5fcfea7b54779979e2d51b346630
|
|
| MD5 |
d1b0a4d5f3a1305422f7fb7b66b04d08
|
|
| BLAKE2b-256 |
85a13cc08e1ea5238406ffbc7b5d645ab8f5358dd648d37384a0bb1787551320
|