markdown-memory 0.1.0__tar.gz → 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/PKG-INFO +1 -1
- markdown_memory-0.1.1/pyproject.toml +136 -0
- markdown_memory-0.1.0/pyproject.toml → markdown_memory-0.1.1/pyproject.toml.orig +1 -1
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/LICENSE +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/README.md +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/__init__.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/autoindex.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/config.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/db.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/discovery.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/embedders.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/exceptions.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/freshness.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/headings.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/indexer.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/model_cache.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/models.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/parser.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/py.typed +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/search.py +0 -0
- {markdown_memory-0.1.0 → markdown_memory-0.1.1}/src/markdown_memory/server.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: markdown-memory
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: MCP server that hands coding agents the one Markdown section that answers the question, not the whole file. Local hybrid search: BM25 keywords + ONNX embeddings in SQLite. No API keys, no network.
|
|
5
5
|
Keywords: mcp,mcp-server,model-context-protocol,coding-agent,ai-agents,markdown,documentation,rag,retrieval-augmented-generation,hybrid-search,semantic-search,vector-search,full-text-search,bm25,embeddings,onnx,sqlite,sqlite-vec,fts5
|
|
6
6
|
Author: Hesham Karm
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "markdown-memory"
|
|
3
|
+
version = "0.1.1"
|
|
4
|
+
description = "MCP server that hands coding agents the one Markdown section that answers the question, not the whole file. Local hybrid search: BM25 keywords + ONNX embeddings in SQLite. No API keys, no network."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = "MIT"
|
|
7
|
+
license-files = ["LICENSE"]
|
|
8
|
+
requires-python = ">=3.11"
|
|
9
|
+
keywords = [
|
|
10
|
+
"mcp",
|
|
11
|
+
"mcp-server",
|
|
12
|
+
"model-context-protocol",
|
|
13
|
+
"coding-agent",
|
|
14
|
+
"ai-agents",
|
|
15
|
+
"markdown",
|
|
16
|
+
"documentation",
|
|
17
|
+
"rag",
|
|
18
|
+
"retrieval-augmented-generation",
|
|
19
|
+
"hybrid-search",
|
|
20
|
+
"semantic-search",
|
|
21
|
+
"vector-search",
|
|
22
|
+
"full-text-search",
|
|
23
|
+
"bm25",
|
|
24
|
+
"embeddings",
|
|
25
|
+
"onnx",
|
|
26
|
+
"sqlite",
|
|
27
|
+
"sqlite-vec",
|
|
28
|
+
"fts5",
|
|
29
|
+
]
|
|
30
|
+
classifiers = [
|
|
31
|
+
"Development Status :: 3 - Alpha",
|
|
32
|
+
"Intended Audience :: Developers",
|
|
33
|
+
"Programming Language :: Python :: 3.11",
|
|
34
|
+
"Programming Language :: Python :: 3.12",
|
|
35
|
+
"Programming Language :: Python :: 3.13",
|
|
36
|
+
"Programming Language :: Python :: 3.14",
|
|
37
|
+
"Operating System :: POSIX :: Linux",
|
|
38
|
+
"Operating System :: MacOS",
|
|
39
|
+
"Topic :: Software Development :: Documentation",
|
|
40
|
+
"Topic :: Text Processing :: Indexing",
|
|
41
|
+
"Typing :: Typed",
|
|
42
|
+
]
|
|
43
|
+
dependencies = [
|
|
44
|
+
"fastembed>=0.8.0",
|
|
45
|
+
"huggingface-hub>=0.26",
|
|
46
|
+
"markdown-it-py>=4.2.0",
|
|
47
|
+
"mcp[cli]>=2.2.0,<3",
|
|
48
|
+
"numpy>=1.26",
|
|
49
|
+
"onnxruntime>=1.20",
|
|
50
|
+
"pydantic>=2.0",
|
|
51
|
+
"sqlite-vec>=0.1.9",
|
|
52
|
+
"tokenizers>=0.20",
|
|
53
|
+
]
|
|
54
|
+
|
|
55
|
+
[[project.authors]]
|
|
56
|
+
name = "Hesham Karm"
|
|
57
|
+
email = "24391550+hishamkaram@users.noreply.github.com"
|
|
58
|
+
|
|
59
|
+
[project.urls]
|
|
60
|
+
Homepage = "https://github.com/hishamkaram/markdown-memory"
|
|
61
|
+
Repository = "https://github.com/hishamkaram/markdown-memory"
|
|
62
|
+
Issues = "https://github.com/hishamkaram/markdown-memory/issues"
|
|
63
|
+
|
|
64
|
+
[project.scripts]
|
|
65
|
+
markdown-memory = "markdown_memory.server:main"
|
|
66
|
+
|
|
67
|
+
[build-system]
|
|
68
|
+
requires = ["uv_build>=0.11.3,<0.13.0"]
|
|
69
|
+
build-backend = "uv_build"
|
|
70
|
+
|
|
71
|
+
[dependency-groups]
|
|
72
|
+
dev = [
|
|
73
|
+
"hypothesis>=6.0",
|
|
74
|
+
"mypy>=2.3.1",
|
|
75
|
+
"pytest>=9.1.1",
|
|
76
|
+
"pytest-asyncio>=1.4.0",
|
|
77
|
+
"ruff>=0.16.8",
|
|
78
|
+
]
|
|
79
|
+
|
|
80
|
+
[tool.ruff]
|
|
81
|
+
line-length = 100
|
|
82
|
+
target-version = "py311"
|
|
83
|
+
|
|
84
|
+
[tool.ruff.lint]
|
|
85
|
+
select = [
|
|
86
|
+
"E",
|
|
87
|
+
"F",
|
|
88
|
+
"I",
|
|
89
|
+
"N",
|
|
90
|
+
"UP",
|
|
91
|
+
"B",
|
|
92
|
+
"A",
|
|
93
|
+
"C4",
|
|
94
|
+
"SIM",
|
|
95
|
+
"TID",
|
|
96
|
+
"ARG",
|
|
97
|
+
"ERA",
|
|
98
|
+
"RUF100",
|
|
99
|
+
]
|
|
100
|
+
|
|
101
|
+
[tool.ruff.lint.per-file-ignores]
|
|
102
|
+
"tests/*" = ["ARG"]
|
|
103
|
+
|
|
104
|
+
[tool.mypy]
|
|
105
|
+
python_version = "3.11"
|
|
106
|
+
strict = true
|
|
107
|
+
warn_return_any = true
|
|
108
|
+
warn_unused_configs = true
|
|
109
|
+
disallow_untyped_defs = true
|
|
110
|
+
disallow_incomplete_defs = true
|
|
111
|
+
check_untyped_defs = true
|
|
112
|
+
no_implicit_optional = true
|
|
113
|
+
|
|
114
|
+
[[tool.mypy.overrides]]
|
|
115
|
+
module = [
|
|
116
|
+
"sqlite_vec",
|
|
117
|
+
"onnxruntime",
|
|
118
|
+
]
|
|
119
|
+
ignore_missing_imports = true
|
|
120
|
+
|
|
121
|
+
[[tool.mypy.overrides]]
|
|
122
|
+
module = [
|
|
123
|
+
"numpy",
|
|
124
|
+
"numpy.*",
|
|
125
|
+
]
|
|
126
|
+
follow_imports = "skip"
|
|
127
|
+
follow_imports_for_stubs = true
|
|
128
|
+
|
|
129
|
+
[tool.pytest.ini_options]
|
|
130
|
+
testpaths = ["tests"]
|
|
131
|
+
pythonpath = [
|
|
132
|
+
"tests",
|
|
133
|
+
"scripts",
|
|
134
|
+
]
|
|
135
|
+
asyncio_mode = "auto"
|
|
136
|
+
markers = ["embedding: tests that load the real local ONNX embedding model"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "markdown-memory"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.1"
|
|
4
4
|
description = "MCP server that hands coding agents the one Markdown section that answers the question, not the whole file. Local hybrid search: BM25 keywords + ONNX embeddings in SQLite. No API keys, no network."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|