generated from coulomb/repo-seed
2.0 KiB
2.0 KiB
Dependency Classification
Source: /home/worsch/markitect-main/pyproject.toml and package.json
Core Candidates
| Dependency | Recommendation | Reason |
|---|---|---|
markdown-it-py |
Keep | Mature Markdown parser; good fit for deterministic parse contract. |
PyYAML |
Keep | Needed for frontmatter, config, and markdown schema metadata. |
click>=8 |
Keep or replace deliberately | Legacy CLI uses Click. Keeping it lowers migration cost. |
jsonpath-ng>=1.5 |
Conditional | Useful only if mkt query adopts JSONPath over structured docs. |
toml / stdlib tomllib |
Conditional | Use tomllib for read-only TOML on Python 3.11+; add a writer only if needed. |
tabulate |
Optional | Nice for human tables; structured output should not depend on it. |
Optional Integration Candidates
| Dependency | Recommendation | Reason |
|---|---|---|
llm-connect |
Optional extra only | FR-042 allows LLM-assisted generation, but core must remain provider-neutral. |
networkx |
Defer | Maybe useful later for transclusion reference graphs; mostly higher-layer. |
markdownify, markitdown-no-magika, pymupdf4llm |
Do not include in core | Multi-format proxy conversion is out of markdown-native scope. |
Drop from Successor Core
| Dependency/source | Reason |
|---|---|
| Local capability packages | Old project ecosystem/tooling, not syntax-layer contract. |
aiohttp |
Only needed by old service/provider integrations. |
jsdom, jest |
Browser/editor/rendering tests are out of scope for core toolkit. |
Recommended Initial Stack
Assuming Python 3.12+:
[project]
dependencies = [
"markdown-it-py",
"PyYAML",
"click>=8.0",
]
[project.optional-dependencies]
query = ["jsonpath-ng>=1.5"]
tables = ["tabulate>=0.9"]
llm = ["llm-connect @ file:///home/worsch/llm-connect"]
dev = ["pytest"]
Packaging Decision Needed
MKTT-WP-0001-T004 should decide Python minimum version, package import name,
CLI entry point, build backend, versioning, test runner, and lint/type tools.