Skip to main content

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

Metadata

Release files for linkloom 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for linkloom 0.0.2
File Size Uploaded
linkloom-0.0.2.tar.gz 4.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for linkloom 0.0.2
File Interpreter ABI Platform
linkloom-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 10.2 kB

Release files / linkloom-0.0.2.tar.gz

Download URL linkloom-0.0.2.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c00742a4eb4dab3f3abac6e3728905a51ba3feb553e6e307c40787939642fd30
BLAKE2b-256 checksum
How to use checksums
f3edb2d28349c6846da26c0b164135abed4aa09a66665a73870ed261b426bb15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.2

Release files / linkloom-0.0.2-py3-none-any.whl

Download URL linkloom-0.0.2-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
969b31322c87cd0482a792cc46ee42346cba5fcfea7b54779979e2d51b346630
BLAKE2b-256 checksum
How to use checksums
85a13cc08e1ea5238406ffbc7b5d645ab8f5358dd648d37384a0bb1787551320
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page