linkloom


Namelinkloom JSON
Version 0.0.2 PyPI version JSON
download
home_pageNone
SummaryLinkLoom 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.
upload_time2025-08-22 10:29:37
maintainerNone
docs_urlNone
authorNeirzhei
requires_python>=3.9
licenseNone
keywords bookmark organize productivity fast vector search
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
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:

```bash
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](https://github.com/adbar/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](https://www.trychroma.com/) 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.

```bash
python3 -m venv .venv
```

Activate it:

* On Linux/macOS:

  ```bash
  source .venv/bin/activate
  ```
* On Windows:

  ```
  .venv\Scripts\activate
  ```

---

### 2. Install from PyPI (Stable)

The easiest way is to install directly from PyPI:

```bash
pip install linkloom
```

---

### 3. Install from Source (Development)

If you want to contribute or run the latest changes:

```bash
git clone https://github.com/neirzhei/LinkLoom.git
cd LinkLoom
```

Install [uv](https://github.com/astral-sh/uv) (fast build tool):

```bash
pip install uv
```

Then install in editable mode:

```bash
uv pip install -e .
```



## Usage

Make sure your virtual environment is active (`source .venv/bin/activate`) before using the CLI.

### Adding a Bookmark

```bash
lloom add "https://neirzhei.github.io/article/art-in-weaponry.html" --note "might check out miyamoto musashi's book"
```

Output:

```bash
Saved: id=1
```

### Finding a Bookmark

```bash
lloom find "miyamoto's view on art"
```

Output:

```bash
https://neirzhei.github.io/article/art-in-weaponry.html
```
---

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "linkloom",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "Bookmark, Organize, Productivity, Fast, Vector Search",
    "author": "Neirzhei",
    "author_email": "Neirzhei <neirzhei@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/f3/ed/b2d28349c6846da26c0b164135abed4aa09a66665a73870ed261b426bb15/linkloom-0.0.2.tar.gz",
    "platform": null,
    "description": "\nLinkLoom 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.\n\nForget trying to remember the exact title of an article you saved three months ago. With LinkLoom, you can just ask:\n\n```bash\nlloom find \"that article about black hole information paradox\"\n```\n\nand get relevant results instantly.\n\n## How It Works\n\nLinkLoom operates by understanding the semantic meaning of your bookmarks, not just their text.\n\n* **Storage:** Bookmarks (URL, notes) are stored in a local SQLite database.\n* **Content Extraction:** The main text content of the webpage is extracted using [trafilatura](https://github.com/adbar/trafilatura).\n* **Semantic Embedding:** The text and your note are converted into vector embeddings using a SentenceTransformer model.\n* **Vector Storage:** Embeddings are stored in a local [ChromaDB](https://www.trychroma.com/) for efficient similarity search.\n* **Semantic Search:** Your queries are also embedded, and LinkLoom returns the most semantically similar bookmarks.\n\n\n## Installation\n\nLinkLoom can be installed in two ways:\n\n* From **PyPI** (recommended for most users)\n* From **source** (recommended for contributors)\n\n### Prerequisites\n\n* Python **3.9+**\n* `git` (only for source installation)\n\n### 1. Create and Activate a Virtual Environment\n\nIt is strongly recommended to use a virtual environment.\n\n```bash\npython3 -m venv .venv\n```\n\nActivate it:\n\n* On Linux/macOS:\n\n  ```bash\n  source .venv/bin/activate\n  ```\n* On Windows:\n\n  ```\n  .venv\\Scripts\\activate\n  ```\n\n---\n\n### 2. Install from PyPI (Stable)\n\nThe easiest way is to install directly from PyPI:\n\n```bash\npip install linkloom\n```\n\n---\n\n### 3. Install from Source (Development)\n\nIf you want to contribute or run the latest changes:\n\n```bash\ngit clone https://github.com/neirzhei/LinkLoom.git\ncd LinkLoom\n```\n\nInstall [uv](https://github.com/astral-sh/uv) (fast build tool):\n\n```bash\npip install uv\n```\n\nThen install in editable mode:\n\n```bash\nuv pip install -e .\n```\n\n\n\n## Usage\n\nMake sure your virtual environment is active (`source .venv/bin/activate`) before using the CLI.\n\n### Adding a Bookmark\n\n```bash\nlloom add \"https://neirzhei.github.io/article/art-in-weaponry.html\" --note \"might check out miyamoto musashi's book\"\n```\n\nOutput:\n\n```bash\nSaved: id=1\n```\n\n### Finding a Bookmark\n\n```bash\nlloom find \"miyamoto's view on art\"\n```\n\nOutput:\n\n```bash\nhttps://neirzhei.github.io/article/art-in-weaponry.html\n```\n---\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "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.",
    "version": "0.0.2",
    "project_urls": {
        "Issues": "https://github.com/neirzhei/LinkLoom/issues",
        "Repository": "https://github.com/neirzhei/LinkLoom"
    },
    "split_keywords": [
        "bookmark",
        " organize",
        " productivity",
        " fast",
        " vector search"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "85a13cc08e1ea5238406ffbc7b5d645ab8f5358dd648d37384a0bb1787551320",
                "md5": "d1b0a4d5f3a1305422f7fb7b66b04d08",
                "sha256": "969b31322c87cd0482a792cc46ee42346cba5fcfea7b54779979e2d51b346630"
            },
            "downloads": -1,
            "filename": "linkloom-0.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d1b0a4d5f3a1305422f7fb7b66b04d08",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 5700,
            "upload_time": "2025-08-22T10:29:35",
            "upload_time_iso_8601": "2025-08-22T10:29:35.632868Z",
            "url": "https://files.pythonhosted.org/packages/85/a1/3cc08e1ea5238406ffbc7b5d645ab8f5358dd648d37384a0bb1787551320/linkloom-0.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f3edb2d28349c6846da26c0b164135abed4aa09a66665a73870ed261b426bb15",
                "md5": "aa5a9736c8e17bad1846fdf36aa78d2b",
                "sha256": "c00742a4eb4dab3f3abac6e3728905a51ba3feb553e6e307c40787939642fd30"
            },
            "downloads": -1,
            "filename": "linkloom-0.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "aa5a9736c8e17bad1846fdf36aa78d2b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 4496,
            "upload_time": "2025-08-22T10:29:37",
            "upload_time_iso_8601": "2025-08-22T10:29:37.048563Z",
            "url": "https://files.pythonhosted.org/packages/f3/ed/b2d28349c6846da26c0b164135abed4aa09a66665a73870ed261b426bb15/linkloom-0.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-22 10:29:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "neirzhei",
    "github_project": "LinkLoom",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "linkloom"
}
        
Elapsed time: 1.81489s