|
5e4b8e4…
|
anonymous
|
1 |
[build-system] |
|
5e4b8e4…
|
anonymous
|
2 |
requires = ["setuptools>=69.0", "wheel"] |
|
5e4b8e4…
|
anonymous
|
3 |
build-backend = "setuptools.build_meta" |
|
5e4b8e4…
|
anonymous
|
4 |
|
|
5e4b8e4…
|
anonymous
|
5 |
[project] |
|
5e4b8e4…
|
anonymous
|
6 |
name = "navegador" |
|
b45288f…
|
lmata
|
7 |
version = "0.8.0" |
|
5e4b8e4…
|
anonymous
|
8 |
description = "AST + knowledge graph context engine for AI coding agents" |
|
5e4b8e4…
|
anonymous
|
9 |
readme = "README.md" |
|
5e4b8e4…
|
anonymous
|
10 |
license = "MIT" |
|
24e2a9e…
|
lmata
|
11 |
requires-python = ">=3.12" |
|
5e4b8e4…
|
anonymous
|
12 |
authors = [ |
|
5e4b8e4…
|
anonymous
|
13 |
{ name = "CONFLICT LLC" }, |
|
5e4b8e4…
|
anonymous
|
14 |
] |
|
b45288f…
|
lmata
|
15 |
keywords = ["ast", "knowledge-graph", "code-analysis", "ai-agents", "mcp", "context-management", "falkordb", "go", "rust", "java", "typescript", "kotlin", "csharp", "php", "ruby", "swift", "c", "cpp", "terraform", "hcl", "puppet", "ansible", "chef", "bash", "iac"] |
|
5e4b8e4…
|
anonymous
|
16 |
classifiers = [ |
|
5e4b8e4…
|
anonymous
|
17 |
"Development Status :: 3 - Alpha", |
|
5e4b8e4…
|
anonymous
|
18 |
"Intended Audience :: Developers", |
|
5e4b8e4…
|
anonymous
|
19 |
"Operating System :: OS Independent", |
|
5e4b8e4…
|
anonymous
|
20 |
"Programming Language :: Python :: 3", |
|
5e4b8e4…
|
anonymous
|
21 |
"Programming Language :: Python :: 3.12", |
|
5e4b8e4…
|
anonymous
|
22 |
"Programming Language :: Python :: 3.13", |
|
24e2a9e…
|
lmata
|
23 |
"Programming Language :: Python :: 3.14", |
|
5e4b8e4…
|
anonymous
|
24 |
"Topic :: Software Development :: Libraries :: Python Modules", |
|
5e4b8e4…
|
anonymous
|
25 |
"Topic :: Scientific/Engineering :: Artificial Intelligence", |
|
5e4b8e4…
|
anonymous
|
26 |
] |
|
5e4b8e4…
|
anonymous
|
27 |
|
|
5e4b8e4…
|
anonymous
|
28 |
dependencies = [ |
|
5e4b8e4…
|
anonymous
|
29 |
# Graph database |
|
5e4b8e4…
|
anonymous
|
30 |
"FalkorDB>=1.5.0", # graph query client |
|
24e2a9e…
|
lmata
|
31 |
"falkordblite>=0.8.0", # embedded SQLite-backed storage (zero-infra local) |
|
4b04a15…
|
lmata
|
32 |
"redis>=7.4.0", # redislite needs >=7.4 for Python 3.14 compatibility |
|
5e4b8e4…
|
anonymous
|
33 |
# AST parsing — multi-language via tree-sitter grammars |
|
5e4b8e4…
|
anonymous
|
34 |
"tree-sitter>=0.24.0", |
|
5e4b8e4…
|
anonymous
|
35 |
"tree-sitter-python>=0.23.0", |
|
5e4b8e4…
|
anonymous
|
36 |
"tree-sitter-typescript>=0.23.0", |
|
e52aae0…
|
lmata
|
37 |
"tree-sitter-javascript>=0.23.0", |
|
e52aae0…
|
lmata
|
38 |
"tree-sitter-go>=0.23.0", |
|
e52aae0…
|
lmata
|
39 |
"tree-sitter-rust>=0.23.0", |
|
e52aae0…
|
lmata
|
40 |
"tree-sitter-java>=0.23.0", |
|
5e4b8e4…
|
anonymous
|
41 |
# CLI |
|
5e4b8e4…
|
anonymous
|
42 |
"click>=8.1.0", |
|
5e4b8e4…
|
anonymous
|
43 |
"rich>=13.0.0", |
|
5e4b8e4…
|
anonymous
|
44 |
# MCP server |
|
5e4b8e4…
|
anonymous
|
45 |
"mcp>=1.0.0", |
|
5e4b8e4…
|
anonymous
|
46 |
# Utilities |
|
5e4b8e4…
|
anonymous
|
47 |
"pydantic>=2.0.0", |
|
5e4b8e4…
|
anonymous
|
48 |
"python-dotenv>=1.0.0", |
|
5e4b8e4…
|
anonymous
|
49 |
] |
|
5e4b8e4…
|
anonymous
|
50 |
|
|
5e4b8e4…
|
anonymous
|
51 |
[project.optional-dependencies] |
|
5e4b8e4…
|
anonymous
|
52 |
redis = [ |
|
5e4b8e4…
|
anonymous
|
53 |
# Use Redis-backed FalkorDB in production |
|
5e4b8e4…
|
anonymous
|
54 |
"redis>=5.0.0", |
|
5e4b8e4…
|
anonymous
|
55 |
] |
|
4966011…
|
lmata
|
56 |
languages = [ |
|
4966011…
|
lmata
|
57 |
# Additional tree-sitter grammars (core 6 are in dependencies) |
|
4966011…
|
lmata
|
58 |
"tree-sitter-kotlin>=0.23.0", |
|
4966011…
|
lmata
|
59 |
"tree-sitter-c-sharp>=0.23.0", |
|
4966011…
|
lmata
|
60 |
"tree-sitter-php>=0.23.0", |
|
4966011…
|
lmata
|
61 |
"tree-sitter-ruby>=0.23.0", |
|
4966011…
|
lmata
|
62 |
"tree-sitter-swift>=0.23.0", |
|
4966011…
|
lmata
|
63 |
"tree-sitter-c>=0.23.0", |
|
4966011…
|
lmata
|
64 |
"tree-sitter-cpp>=0.23.0", |
|
4966011…
|
lmata
|
65 |
] |
|
b45288f…
|
lmata
|
66 |
iac = [ |
|
b45288f…
|
lmata
|
67 |
# Infrastructure-as-Code tree-sitter grammars |
|
b45288f…
|
lmata
|
68 |
"tree-sitter-hcl>=1.2.0", |
|
b45288f…
|
lmata
|
69 |
"tree-sitter-puppet>=1.3.0", |
|
b45288f…
|
lmata
|
70 |
"tree-sitter-bash>=0.25.0", |
|
9a77e03…
|
lmata
|
71 |
"pyyaml>=6.0", # Ansible parser uses yaml.safe_load |
|
b45288f…
|
lmata
|
72 |
] |
|
4966011…
|
lmata
|
73 |
llm = [ |
|
4966011…
|
lmata
|
74 |
# LLM provider SDKs (install the ones you use) |
|
4966011…
|
lmata
|
75 |
"anthropic>=0.39.0", |
|
4966011…
|
lmata
|
76 |
"openai>=1.0.0", |
|
4966011…
|
lmata
|
77 |
] |
|
5e4b8e4…
|
anonymous
|
78 |
dev = [ |
|
5e4b8e4…
|
anonymous
|
79 |
"pytest>=7.3.0", |
|
5e4b8e4…
|
anonymous
|
80 |
"pytest-cov>=4.1.0", |
|
7e708ec…
|
lmata
|
81 |
"pytest-asyncio>=0.23.0", |
|
5e4b8e4…
|
anonymous
|
82 |
"ruff>=0.1.0", |
|
5e4b8e4…
|
anonymous
|
83 |
"mypy>=1.3.0", |
|
5e4b8e4…
|
anonymous
|
84 |
] |
|
5e4b8e4…
|
anonymous
|
85 |
docs = [ |
|
5e4b8e4…
|
anonymous
|
86 |
"mkdocs-material>=9.0.0", |
|
5e4b8e4…
|
anonymous
|
87 |
"mkdocstrings[python]>=0.24.0", |
|
5e4b8e4…
|
anonymous
|
88 |
"pymdown-extensions>=10.0", |
|
5e4b8e4…
|
anonymous
|
89 |
] |
|
5e4b8e4…
|
anonymous
|
90 |
all = [ |
|
5e4b8e4…
|
anonymous
|
91 |
"navegador[redis]", |
|
4966011…
|
lmata
|
92 |
"navegador[languages]", |
|
b45288f…
|
lmata
|
93 |
"navegador[iac]", |
|
4966011…
|
lmata
|
94 |
"navegador[llm]", |
|
5e4b8e4…
|
anonymous
|
95 |
"navegador[dev]", |
|
5e4b8e4…
|
anonymous
|
96 |
"navegador[docs]", |
|
5e4b8e4…
|
anonymous
|
97 |
] |
|
5e4b8e4…
|
anonymous
|
98 |
|
|
5e4b8e4…
|
anonymous
|
99 |
[project.urls] |
|
5e4b8e4…
|
anonymous
|
100 |
Homepage = "https://navegador.dev" |
|
5e4b8e4…
|
anonymous
|
101 |
Documentation = "https://navegador.dev" |
|
5e4b8e4…
|
anonymous
|
102 |
Repository = "https://github.com/ConflictHQ/navegador" |
|
5e4b8e4…
|
anonymous
|
103 |
Issues = "https://github.com/ConflictHQ/navegador/issues" |
|
5e4b8e4…
|
anonymous
|
104 |
|
|
5e4b8e4…
|
anonymous
|
105 |
[project.scripts] |
|
5e4b8e4…
|
anonymous
|
106 |
navegador = "navegador.cli.commands:main" |
|
5e4b8e4…
|
anonymous
|
107 |
|
|
5e4b8e4…
|
anonymous
|
108 |
[tool.setuptools.packages.find] |
|
5e4b8e4…
|
anonymous
|
109 |
include = ["navegador*"] |
|
5e4b8e4…
|
anonymous
|
110 |
|
|
5e4b8e4…
|
anonymous
|
111 |
[tool.ruff] |
|
5e4b8e4…
|
anonymous
|
112 |
line-length = 100 |
|
24e2a9e…
|
lmata
|
113 |
target-version = "py312" |
|
5e4b8e4…
|
anonymous
|
114 |
|
|
5e4b8e4…
|
anonymous
|
115 |
[tool.ruff.lint] |
|
5e4b8e4…
|
anonymous
|
116 |
select = ["E", "F", "W", "I"] |
|
5e4b8e4…
|
anonymous
|
117 |
|
|
2602093…
|
lmata
|
118 |
[tool.ruff.lint.per-file-ignores] |
|
2602093…
|
lmata
|
119 |
# HTML/JS template strings inevitably contain long lines |
|
2602093…
|
lmata
|
120 |
"navegador/explorer/templates.py" = ["E501"] |
|
2602093…
|
lmata
|
121 |
|
|
5e4b8e4…
|
anonymous
|
122 |
[tool.mypy] |
|
24e2a9e…
|
lmata
|
123 |
python_version = "3.12" |
|
5e4b8e4…
|
anonymous
|
124 |
warn_return_any = true |
|
5e4b8e4…
|
anonymous
|
125 |
warn_unused_configs = true |
|
5e4b8e4…
|
anonymous
|
126 |
|
|
5e4b8e4…
|
anonymous
|
127 |
[tool.pytest.ini_options] |
|
5e4b8e4…
|
anonymous
|
128 |
testpaths = ["tests"] |
|
5e4b8e4…
|
anonymous
|
129 |
python_files = "test_*.py" |
|
5e4b8e4…
|
anonymous
|
130 |
addopts = "--cov=navegador" |
|
a3b55ee…
|
lmata
|
131 |
filterwarnings = [ |
|
a3b55ee…
|
lmata
|
132 |
"ignore::ResourceWarning", |
|
a3b55ee…
|
lmata
|
133 |
] |