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.3rc1-py3-none-win_amd64.whl (1.3 MB view details)

Uploaded Python 3Windows x86-64

sqlite_muninn-0.3.3rc1-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.3rc1-py3-none-manylinux_2_17_aarch64.whl (1.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

sqlite_muninn-0.3.3rc1-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.3rc1-py3-none-win_amd64.whl.

File metadata

  • Download URL: sqlite_muninn-0.3.3rc1-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.3rc1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0d5496ecbc18161765c6a75062d1872adcf160c11b17ce51097c16159e30c661
MD5 dbc5f2c950116471ccef3029c5f8b293
BLAKE2b-256 1fde182f03917e548ff15f501f9af55b1fc41c3da338dbf78a65ea4edb9a8bcc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlite_muninn-0.3.3rc1-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.3rc1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 adda99176b368f4228c14d1189a5edab8d35c53a2cfb83400074b09e5e5a769e
MD5 69e95e6aa53a731d363afb25ab5451fd
BLAKE2b-256 7481882652f4ece8bcc8708c8a553b944c24fd9f6aa0c844dc644cebe38f79cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlite_muninn-0.3.3rc1-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.3rc1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 ac9f0cfc9b9a40a2589ae719cad382f1ee1aee8a03f4a4ab557e4e51ec793d39
MD5 d4d6fdafefc85a4b8f308d2219f11373
BLAKE2b-256 d5638258d7f2f93d26a27a85e708bb03cc13cf3ea2e3c0e0ad403cea1fc78a66

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqlite_muninn-0.3.3rc1-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.3rc1-py3-none-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 df03b2a94148edf37db414afdb9fb34d25b47a49ffb5f25633cf034c8cbb7ede
MD5 5abb39d7934e2464a5de8ae9951a4944
BLAKE2b-256 4c565d842e89030d097160aebf7af0309dbeeb3ae597e21241990bd10c511af1

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