101 lines
4.1 KiB
TOML
101 lines
4.1 KiB
TOML
[build-system]
|
|
requires = ["maturin>=1.5"]
|
|
build-backend = "maturin"
|
|
|
|
[project]
|
|
name = "yantrikdb"
|
|
version = "0.7.19"
|
|
description = "A Cognitive Memory Engine for Persistent AI Systems"
|
|
readme = "README.md"
|
|
license = "AGPL-3.0-only"
|
|
# Explicitly declare the LICENSE file for PEP 639 compliance. Without
|
|
# this, maturin's sdist auto-detection found the duplicate copy at
|
|
# crates/yantrikdb-python/LICENSE and packaged it at that nested path
|
|
# (yantrikdb-0.7.14/crates/yantrikdb-python/LICENSE inside the sdist).
|
|
# PyPI's metadata validator expects the License-File at the sdist root
|
|
# (yantrikdb-0.7.14/LICENSE), and rejected v0.7.12/v0.7.13/v0.7.14
|
|
# sdists with "License-File LICENSE does not exist in distribution
|
|
# file." Closes #(this PR fixes the v0.7.14 sdist publish failure).
|
|
license-files = ["LICENSE"]
|
|
requires-python = ">=3.10"
|
|
authors = [
|
|
{ name = "Pranab Sarkar", email = "developer@pranab.co.in" },
|
|
]
|
|
keywords = ["ai", "memory", "cognitive", "database", "embeddings", "knowledge-graph"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: GNU Affero General Public License v3",
|
|
"Programming Language :: Rust",
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Programming Language :: Python :: 3.14",
|
|
"Topic :: Database",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
]
|
|
# **v0.7.6 — bundled-embedder respect.** Default install is just the
|
|
# wheel itself plus tiny CLI/UUID utils. The bundled potion-base-2M
|
|
# embedder runs entirely in-Rust (no Python embedder needed) so the
|
|
# default `pip install yantrikdb` is ~10 MB total and finishes in
|
|
# seconds, matching the bundled-embedder docstring promise. Users
|
|
# wanting the legacy sentence-transformers BYO path opt in via
|
|
# `pip install yantrikdb[sentence-transformers]` (see optional below).
|
|
#
|
|
# Audit basis: numpy is not imported anywhere under src/yantrikdb/;
|
|
# sentence-transformers is only imported lazily inside function
|
|
# bodies in api.py / cli.py / mcp/server.py / eval scripts — none of
|
|
# which execute on a default `from yantrikdb import YantrikDB` path.
|
|
dependencies = [
|
|
"uuid-utils>=0.9.0",
|
|
"click>=8.0.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
# **v0.7.6 new.** Pulls in sentence-transformers (and its torch +
|
|
# transformers + scipy + scikit-learn transitive closure, ~2 GB
|
|
# disk) for callers who BYO an external embedder. Required by the
|
|
# `yantrikdb-server` and `yantrikdb` (CLI with --model) entry
|
|
# points. NOT required for the bundled-embedder Just-Works path:
|
|
# `db = YantrikDB.with_default(path); db.record_text(...)`.
|
|
sentence-transformers = ["sentence-transformers>=3.0.0", "numpy>=1.26.0"]
|
|
server = ["fastapi>=0.110.0", "uvicorn[standard]>=0.29.0"]
|
|
sync = ["websockets>=12.0"]
|
|
langchain = ["langchain-core>=0.2.0"]
|
|
openai = ["openai>=1.0.0"]
|
|
crewai = ["crewai>=0.40.0"]
|
|
agent = ["httpx>=0.27.0", "pyyaml>=6.0"]
|
|
# **v0.7.x late.** Optional MCP (Model Context Protocol) integration —
|
|
# `yantrikdb.mcp.{server,tools,resources}` modules import
|
|
# `mcp.server.fastmcp` to expose YantrikDB as an MCP tool/resource
|
|
# provider for Claude Desktop, Hermes Agent, and other MCP clients.
|
|
# Not required for engine use; only for users wiring yantrikdb behind
|
|
# an MCP server.
|
|
mcp = ["mcp>=1.0.0"]
|
|
all = [
|
|
"yantrikdb[sentence-transformers,server,sync,langchain,openai,agent,mcp]",
|
|
]
|
|
dev = [
|
|
"pytest>=8.0.0",
|
|
"pytest-benchmark>=4.0.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
yantrikdb = "yantrikdb.cli:main"
|
|
yantrikdb-server = "yantrikdb.api:main"
|
|
yantrikdb-sync = "yantrikdb.sync.transport:main"
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/yantrikos/yantrikdb"
|
|
Repository = "https://github.com/yantrikos/yantrikdb"
|
|
Issues = "https://github.com/yantrikos/yantrikdb/issues"
|
|
|
|
[tool.maturin]
|
|
features = ["pyo3/extension-module"]
|
|
manifest-path = "crates/yantrikdb-python/Cargo.toml"
|
|
module-name = "yantrikdb._yantrikdb_rust"
|
|
python-source = "src"
|
|
python-packages = ["yantrikdb"]
|