-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpyproject.toml
More file actions
86 lines (75 loc) · 2.65 KB
/
Copy pathpyproject.toml
File metadata and controls
86 lines (75 loc) · 2.65 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "supamem"
version = "0.4.0a2"
description = "Project-agnostic dual-memory tooling for Claude Code, Cursor, and opencode"
readme = "README.md"
license = "MIT"
requires-python = ">=3.12"
authors = [{ name = "dzmitrys-dev" }]
dependencies = [
"typer>=0.15,<0.26",
"rich>=13.7",
"mcp>=2,<3",
"qdrant-client>=1.13",
"ruamel.yaml>=0.18,<0.20",
"fastembed>=0.5",
"pydantic>=2.12",
"tomli-w>=1.0",
"langchain-text-splitters>=0.3",
"platformdirs>=4.2",
"packaging>=23.0",
"PyYAML>=6.0",
"watchfiles>=0.24",
"mxbai-rerank>=0.1.6,<0.2",
"huggingface_hub>=0.24",
"filelock>=3.13",
]
[project.urls]
Homepage = "https://app.softchat.ru"
Sponsor = "https://softskillz.ai"
Source = "https://github.com/dzmitrys-dev/supamem"
Issues = "https://github.com/dzmitrys-dev/supamem/issues"
[project.optional-dependencies]
dev = ["pytest>=8.0", "ruff>=0.6", "pytest-asyncio>=0.24"]
eval = ["ragas>=0.4,<0.5", "datasets>=2.18", "huggingface_hub>=0.24", "pytrec_eval>=0.5"]
peers-mem0 = ["mem0ai>=2.0,<3.0", "ollama>=0.4"]
ast-chunker = ["tree-sitter>=0.23,<0.26", "tree-sitter-python>=0.23,<0.26"]
[project.scripts]
supamem = "supamem.cli:main"
[project.entry-points."supamem.retrieval"]
tuned_hybrid = "supamem.retrieval.tuned_hybrid:TunedHybridBackend"
dense = "supamem.retrieval.dense:DenseBackend"
bm25 = "supamem.retrieval.bm25:BM25Backend"
filtered_dense = "supamem.retrieval.filtered_dense:FilteredDenseBackend"
tuned_hybrid_hyde = "supamem.retrieval.tuned_hybrid_hyde:TunedHybridHyDEBackend"
[project.entry-points."supamem.embedder"]
minilm = "supamem.embedders.minilm:MiniLMEmbedder"
bm25 = "supamem.embedders.bm25:BM25Embedder"
[project.entry-points."supamem.chunker"]
markdown_header = "supamem.indexer.chunker:chunk_markdown"
transcript = "supamem.indexer.transcript.chunker:chunk_transcript"
tree_sitter_code = "supamem.indexer.chunker_tree_sitter:chunk_tree_sitter_python"
# Phase 8 D-CONTRACT-04 — reranker plugin group. Installing third-party
# `supamem.reranker` packages is equivalent to installing arbitrary Python
# deps (T-PLUGIN-01: standard Python plugin trust model — `.load()` runs
# the registered class).
[project.entry-points."supamem.reranker"]
mxbai_v2 = "supamem.rerankers.mxbai_v2:MxbaiV2Reranker"
[project.entry-points."supamem.eval"]
coderag = "supamem.eval.coderag:CodeRAGSuite"
[tool.hatch.build.targets.wheel]
packages = ["src/supamem"]
include = [
"src/supamem/**/*.md",
"src/supamem/**/*.mdc",
"src/supamem/**/*.sh",
"src/supamem/**/*.jsonl",
"src/supamem/**/*.json",
"src/supamem/**/*.toml",
]
[tool.ruff]
line-length = 100
target-version = "py312"