-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
58 lines (52 loc) · 2.07 KB
/
Copy pathpyproject.toml
File metadata and controls
58 lines (52 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "elastimem"
version = "0.2.0"
description = "Elastic, resource-adaptive memory framework for local-first AI agents"
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.10"
authors = [{ name = "Kumarswami K" }]
keywords = ["ai", "agents", "memory", "local-first", "llm", "sqlite"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Database",
]
# Zero required dependencies. The stdlib is the whole story.
dependencies = []
[project.optional-dependencies]
system = ["psutil>=5.9"] # richer hardware probing for the Memory Governor
# Reserved for a future sqlite-vec-backed vector index; NOT wired into
# src/elastimem yet — installing this extra currently has no effect.
# Brute-force cosine (embeddings.py) is used unconditionally today.
vec = ["sqlite-vec>=0.1"]
# Elastimem's built-in default embedder (see default_embedder.py) — activates
# automatically when a host doesn't supply its own embedder=/embed_fn=, so
# semantic recall works with zero setup. ONNX Runtime, no torch. Purely
# optional: without it, Elastimem falls back to FTS5/keyword retrieval, same
# as before this extra existed.
embed = ["fastembed>=0.4"]
[project.urls]
Homepage = "https://github.com/CodebyKumar/elastimem"
[dependency-groups]
dev = ["pytest>=8.0"]
[tool.hatch.build.targets.wheel]
packages = ["src/elastimem"]
[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
"slow: downloads/loads a real model (the built-in embedder) — excluded by default, run explicitly with -m slow",
]
addopts = "-m 'not slow'"