local-knowledge 0.2.0__tar.gz → 0.2.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.
Files changed (19) hide show
  1. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/PKG-INFO +3 -3
  2. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/pyproject.toml +3 -3
  3. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge/cli_local.py +8 -1
  4. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge/server_local.py +4 -6
  5. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge.egg-info/PKG-INFO +3 -3
  6. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge.egg-info/requires.txt +2 -2
  7. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/README.md +0 -0
  8. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/setup.cfg +0 -0
  9. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge/__init__.py +0 -0
  10. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge/crawl_local.py +0 -0
  11. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge/settings_local.py +0 -0
  12. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge.egg-info/SOURCES.txt +0 -0
  13. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge.egg-info/dependency_links.txt +0 -0
  14. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge.egg-info/entry_points.txt +0 -0
  15. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/src/local_knowledge.egg-info/top_level.txt +0 -0
  16. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/tests/test_agent_doc_consistency.py +0 -0
  17. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/tests/test_crawl_local.py +0 -0
  18. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/tests/test_extract_files.py +0 -0
  19. {local_knowledge-0.2.0 → local_knowledge-0.2.1}/tests/test_server_flow_local.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: local-knowledge
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Local file/folder indexer + grounded-Q&A MCP service — same engine as confluence-knowledge, no credentials needed
5
5
  License: MIT
6
6
  Project-URL: Repository, https://github.com/nkunal1992/agents
@@ -12,7 +12,7 @@ Classifier: License :: OSI Approved :: MIT License
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Requires-Python: >=3.11
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: confluence-knowledge>=0.5.0
15
+ Requires-Dist: confluence-knowledge>=0.5.1
16
16
  Requires-Dist: python-docx>=1.1
17
17
  Requires-Dist: pypdf>=4.0
18
18
  Requires-Dist: python-pptx>=1.0
@@ -20,7 +20,7 @@ Requires-Dist: openpyxl>=3.1
20
20
  Requires-Dist: mcp<2,>=1.6
21
21
  Requires-Dist: pip-system-certs>=5.0
22
22
  Provides-Extra: models
23
- Requires-Dist: confluence-knowledge[models]>=0.5.0; extra == "models"
23
+ Requires-Dist: confluence-knowledge[models]>=0.5.1; extra == "models"
24
24
  Provides-Extra: dev
25
25
  Requires-Dist: pytest>=8.0; extra == "dev"
26
26
  Requires-Dist: pytest-cov>=5.0; extra == "dev"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "local-knowledge"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  description = "Local file/folder indexer + grounded-Q&A MCP service — same engine as confluence-knowledge, no credentials needed"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -16,7 +16,7 @@ classifiers = [
16
16
  "Programming Language :: Python :: 3 :: Only",
17
17
  ]
18
18
  dependencies = [
19
- "confluence-knowledge>=0.5.0",
19
+ "confluence-knowledge>=0.5.1",
20
20
  "python-docx>=1.1",
21
21
  "pypdf>=4.0",
22
22
  "python-pptx>=1.0",
@@ -27,7 +27,7 @@ dependencies = [
27
27
 
28
28
  [project.optional-dependencies]
29
29
  models = [
30
- "confluence-knowledge[models]>=0.5.0",
30
+ "confluence-knowledge[models]>=0.5.1",
31
31
  ]
32
32
  dev = [
33
33
  "pytest>=8.0",
@@ -30,6 +30,13 @@ def _doctor() -> int:
30
30
  from .server_local import status
31
31
  s = status()
32
32
  print(json.dumps(s, indent=2))
33
+ bad = [c for c in s.get("checks", []) if not c["ok"]]
34
+ if bad:
35
+ print("\nhealth flags:")
36
+ for c in bad:
37
+ print(f" ✗ {c['flag']}: {c['detail']}")
38
+ if c.get("remediation"):
39
+ print(f" → {c['remediation']}")
33
40
  upd = check("local-knowledge")
34
41
  if upd["installed"]:
35
42
  line = f"version: {upd['installed']}"
@@ -41,7 +48,7 @@ def _doctor() -> int:
41
48
  if upd["update_available"]:
42
49
  print("update available: run `local-knowledge update` "
43
50
  "(or pip install -U local-knowledge[models])")
44
- return 0
51
+ return 4 if bad else 0
45
52
 
46
53
 
47
54
  def main() -> None:
@@ -25,7 +25,7 @@ from confluence_knowledge.settings import SetupError
25
25
  from mcp.server.fastmcp import FastMCP
26
26
 
27
27
  from .crawl_local import LocalCrawler, resolve_root
28
- from .settings_local import APP_NAME, LocalProfile, home, index_root
28
+ from .settings_local import APP_NAME, LocalProfile, home, index_root, workdir
29
29
 
30
30
  mcp = FastMCP("local-knowledge")
31
31
 
@@ -113,19 +113,17 @@ def _scope(scope_handle: str) -> dict:
113
113
  @mcp.tool()
114
114
  def status() -> dict:
115
115
  """Report setup readiness — no credentials exist for this agent."""
116
- models = home() / "models"
117
116
  try:
118
117
  profile = LocalProfile.load()
119
118
  cfg = {"root": profile.root_path, "device": profile.device}
120
119
  except SetupError as e:
121
120
  cfg = {"error": str(e)}
121
+ from confluence_knowledge.health import health_checks
122
122
  return {
123
123
  "configured": "error" not in cfg,
124
124
  "profile": cfg,
125
- "embedding_model_ready": (models / "bge-m3").exists(),
126
- "reranker_model_ready": (models / "bge-reranker-v2-m3-ONNX").exists()
127
- or (models / "bge-reranker-base-ONNX").exists(),
128
- "sparse_model_ready": (models / "fastembed").exists(),
125
+ "checks": health_checks(home(), workdir(), APP_NAME, "local-knowledge",
126
+ index_root=index_root()),
129
127
  "models_loaded": _models_ready.is_set() and _EMBEDDER is not None,
130
128
  "index_root": str(index_root()),
131
129
  "live_scopes": sorted(_scopes),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: local-knowledge
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Local file/folder indexer + grounded-Q&A MCP service — same engine as confluence-knowledge, no credentials needed
5
5
  License: MIT
6
6
  Project-URL: Repository, https://github.com/nkunal1992/agents
@@ -12,7 +12,7 @@ Classifier: License :: OSI Approved :: MIT License
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Requires-Python: >=3.11
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: confluence-knowledge>=0.5.0
15
+ Requires-Dist: confluence-knowledge>=0.5.1
16
16
  Requires-Dist: python-docx>=1.1
17
17
  Requires-Dist: pypdf>=4.0
18
18
  Requires-Dist: python-pptx>=1.0
@@ -20,7 +20,7 @@ Requires-Dist: openpyxl>=3.1
20
20
  Requires-Dist: mcp<2,>=1.6
21
21
  Requires-Dist: pip-system-certs>=5.0
22
22
  Provides-Extra: models
23
- Requires-Dist: confluence-knowledge[models]>=0.5.0; extra == "models"
23
+ Requires-Dist: confluence-knowledge[models]>=0.5.1; extra == "models"
24
24
  Provides-Extra: dev
25
25
  Requires-Dist: pytest>=8.0; extra == "dev"
26
26
  Requires-Dist: pytest-cov>=5.0; extra == "dev"
@@ -1,4 +1,4 @@
1
- confluence-knowledge>=0.5.0
1
+ confluence-knowledge>=0.5.1
2
2
  python-docx>=1.1
3
3
  pypdf>=4.0
4
4
  python-pptx>=1.0
@@ -12,4 +12,4 @@ pytest-cov>=5.0
12
12
  ruff>=0.6
13
13
 
14
14
  [models]
15
- confluence-knowledge[models]>=0.5.0
15
+ confluence-knowledge[models]>=0.5.1