Skip to main content

HNSW vector search + graph traversal + GGUF embeddings + Node2Vec for SQLite

Project description

sqlite-muninn

Muninn Raven Logo

Odin's mythic raven of Memory.

Huginn and Muninn fly each day over the wide world.
I fear for Huginn that he may not return,
yet I worry more for Muninn.

- Poetic Edda (Grimnismal, stanza 20)

Odin fears losing Memory more than Thought.

This project aims to build agentic memory and knowledge graph primitives for sqlite as a native C extension. It is an advanced collection of knowledge graph primitives like Vector Similarity Search, HNSW Indexes, Graph database, Community Detection, Node2Vec capabilities and loading GGUF models via llama.cpp integration.

Documentation | GitHub

Package Index Published Version Downloads
PyPI PyPI PyPI Downloads
npm npm npm Downloads

Features

  • HNSW Vector Index - O(log N) approximate nearest neighbor search with incremental insert/delete
  • Graph Traversal - BFS, DFS, shortest path, connected components, PageRank on any edge table, dbt syntax graph node selection.
  • llama.cpp native models; Load and use GGUF LLM models natively in sqlite.
  • Centrality Measures - Degree, betweenness (Brandes), and closeness centrality with weighted/temporal support
  • Community Detection - Leiden algorithm for discovering graph communities with modularity scoring
  • Node2Vec - Learn structural node embeddings from graph topology, store in HNSW for similarity search
  • Zero dependencies - compiles to a single .dylib/.so/.dll
  • SIMD accelerated - ARM NEON and x86 SSE distance functions

Research References

Feature Paper
HNSW Malkov & Yashunin, TPAMI 2020
MN-RU insert repair arXiv:2407.07871, 2024
Patience early termination SISAP 2025
Betweenness centrality Brandes, J. Math. Sociol. 2001
Leiden community detection Traag, Waltman & van Eck, Sci. Rep. 2019
Node2Vec Grover & Leskovec, KDD 2016
SGNS Mikolov et al., 2013

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sqlite_muninn-0.3.3-py3-none-win_amd64.whl (1.3 MB view details)

Uploaded Python 3Windows x86-64

sqlite_muninn-0.3.3-py3-none-manylinux_2_17_x86_64.whl (1.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

sqlite_muninn-0.3.3-py3-none-manylinux_2_17_aarch64.whl (1.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

sqlite_muninn-0.3.3-py3-none-macosx_11_0_universal2.whl (3.0 MB view details)

Uploaded Python 3macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file sqlite_muninn-0.3.3-py3-none-win_amd64.whl.

File metadata

  • Download URL: sqlite_muninn-0.3.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sqlite_muninn-0.3.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 55f9c3e0d894d8d2cd8cd5e693a99b67d9ed745ab0aea2dcfaa4974b964c307c
MD5 0f2ea345f7d5d84fc5b1a0fd327950c2
BLAKE2b-256 a8deca8d1c1eaa3c8d541bf6234e1027d2c8b6fc152b35b467d76910a00fe065

See more details on using hashes here.

File details

Details for the file sqlite_muninn-0.3.3-py3-none-manylinux_2_17_x86_64.whl.

File metadata

  • Download URL: sqlite_muninn-0.3.3-py3-none-manylinux_2_17_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sqlite_muninn-0.3.3-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 bf2baa7f3714414344d643aedc0757316cc13e80d45ca60c38d01d0749a505e7
MD5 27d682c82b87f782f68c495af9267f8d
BLAKE2b-256 102ea9c8cc5a6c9439bfcb529c0f9966f885449f4517531c5c6a3628e4d5b643

See more details on using hashes here.

File details

Details for the file sqlite_muninn-0.3.3-py3-none-manylinux_2_17_aarch64.whl.

File metadata

  • Download URL: sqlite_muninn-0.3.3-py3-none-manylinux_2_17_aarch64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sqlite_muninn-0.3.3-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 f1129889871180860a323164af5d38066f3d978c18dd447249a6ff466598814c
MD5 d94214f712b8cadef990ac03a9e5d473
BLAKE2b-256 6295b608f40e3f326b04c17f43b3c8ac8683e69366d8f1c233608438db168152

See more details on using hashes here.

File details

Details for the file sqlite_muninn-0.3.3-py3-none-macosx_11_0_universal2.whl.

File metadata

  • Download URL: sqlite_muninn-0.3.3-py3-none-macosx_11_0_universal2.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: Python 3, macOS 11.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sqlite_muninn-0.3.3-py3-none-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 6e8e58d66a379da8288d60561690a290aa9f458c3635395abb5882bcb3080346
MD5 23302b00b075e0c2628a9f7dfacde5e3
BLAKE2b-256 82694d6434620786db787b928cf6586bf785cd62d7f6ec34c4558b8d39a7f5bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page