cortex-local 2.0.1__tar.gz → 2.0.3__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.
@@ -0,0 +1,43 @@
1
+ Metadata-Version: 2.4
2
+ Name: cortex-local
3
+ Version: 2.0.3
4
+ Summary: Local semantic search MCP server — notes + code, embedded Qdrant, fastembed
5
+ Requires-Python: >=3.11
6
+ Requires-Dist: click>=8.0.0
7
+ Requires-Dist: fastembed>=0.4.0
8
+ Requires-Dist: mcp[cli]>=1.0.0
9
+ Requires-Dist: networkx>=3.0
10
+ Requires-Dist: qdrant-client>=1.17.0
11
+ Provides-Extra: legacy
12
+ Requires-Dist: numpy<2.0,>=1.20; extra == 'legacy'
13
+ Description-Content-Type: text/markdown
14
+
15
+ # cortex-local
16
+
17
+ Local semantic search MCP server for Claude Code — index your notes and code, search them semantically without any server or cloud dependency.
18
+
19
+ ## Install
20
+
21
+ ```bash
22
+ pipx install cortex-local
23
+ cortex install
24
+ ```
25
+
26
+ `cortex install` downloads embedding models and registers the MCP server in Claude Code. Restart Claude Code after.
27
+
28
+ ## Usage
29
+
30
+ ```bash
31
+ cortex index ~/notes # index Obsidian vault
32
+ cortex index ~/projects/myapp # index a code repo
33
+ ```
34
+
35
+ Then in Claude Code, `search_notes` and `search_code` are available as MCP tools.
36
+
37
+ ## How it works
38
+
39
+ - **Embeddings**: fastembed (`nomic-embed-text-v1.5`) + BM25 sparse — runs fully local, no GPU needed
40
+ - **Vector store**: embedded Qdrant at `~/.cortex/qdrant`
41
+ - **Graph layer**: import graph with degree centrality re-ranking + Personalized PageRank for notes
42
+
43
+ Full documentation: [github.com/Xoudusz/cortex](https://github.com/Xoudusz/cortex)
@@ -0,0 +1,29 @@
1
+ # cortex-local
2
+
3
+ Local semantic search MCP server for Claude Code — index your notes and code, search them semantically without any server or cloud dependency.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pipx install cortex-local
9
+ cortex install
10
+ ```
11
+
12
+ `cortex install` downloads embedding models and registers the MCP server in Claude Code. Restart Claude Code after.
13
+
14
+ ## Usage
15
+
16
+ ```bash
17
+ cortex index ~/notes # index Obsidian vault
18
+ cortex index ~/projects/myapp # index a code repo
19
+ ```
20
+
21
+ Then in Claude Code, `search_notes` and `search_code` are available as MCP tools.
22
+
23
+ ## How it works
24
+
25
+ - **Embeddings**: fastembed (`nomic-embed-text-v1.5`) + BM25 sparse — runs fully local, no GPU needed
26
+ - **Vector store**: embedded Qdrant at `~/.cortex/qdrant`
27
+ - **Graph layer**: import graph with degree centrality re-ranking + Personalized PageRank for notes
28
+
29
+ Full documentation: [github.com/Xoudusz/cortex](https://github.com/Xoudusz/cortex)
@@ -6,8 +6,22 @@ _dense = None
6
6
  _sparse = None
7
7
 
8
8
 
9
+ def _check_numpy() -> None:
10
+ try:
11
+ import numpy # noqa: F401
12
+ except RuntimeError as e:
13
+ if "X86_V2" in str(e) or "baseline" in str(e).lower():
14
+ raise RuntimeError(
15
+ f"NumPy requires CPU features your machine lacks.\n"
16
+ f'Reinstall with: pipx install "cortex-local[legacy]"\n'
17
+ f"(Original error: {e})"
18
+ ) from None
19
+ raise
20
+
21
+
9
22
  def embed(text: str) -> list:
10
23
  """Dense embedding via fastembed nomic-embed-text (768 dims)."""
24
+ _check_numpy()
11
25
  global _dense
12
26
  if _dense is None:
13
27
  from fastembed import TextEmbedding
@@ -4,8 +4,9 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "cortex-local"
7
- version = "2.0.1"
7
+ version = "2.0.3"
8
8
  description = "Local semantic search MCP server — notes + code, embedded Qdrant, fastembed"
9
+ readme = "README.md"
9
10
  requires-python = ">=3.11"
10
11
  dependencies = [
11
12
  "mcp[cli]>=1.0.0",
@@ -15,6 +16,9 @@ dependencies = [
15
16
  "networkx>=3.0",
16
17
  ]
17
18
 
19
+ [project.optional-dependencies]
20
+ legacy = ["numpy>=1.20,<2.0"]
21
+
18
22
  [project.scripts]
19
23
  cortex = "cortex.cli:cli"
20
24
 
@@ -1,10 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: cortex-local
3
- Version: 2.0.1
4
- Summary: Local semantic search MCP server — notes + code, embedded Qdrant, fastembed
5
- Requires-Python: >=3.11
6
- Requires-Dist: click>=8.0.0
7
- Requires-Dist: fastembed>=0.4.0
8
- Requires-Dist: mcp[cli]>=1.0.0
9
- Requires-Dist: networkx>=3.0
10
- Requires-Dist: qdrant-client>=1.17.0
File without changes