pyyaml>=6.0
typer>=0.12.0
rich>=13.0
pydantic>=2.0
python-dotenv>=1.0
goal>=2.1.0
costs>=0.1.20
pfix>=0.1.60

[:python_version < "3.11"]
tomli>=2.0

[all]
redup[fast]
redup[fuzzy]
redup[ast]
redup[lsh]
redup[semantic]
redup[intent]
redup[compare]
redup[tasks]

[ast]
tree-sitter>=0.21
tree-sitter-javascript>=0.21.0
tree-sitter-typescript>=0.21.0
tree-sitter-go>=0.21.0
tree-sitter-rust>=0.21.0
tree-sitter-java>=0.21.0
tree-sitter-c>=0.21.0
tree-sitter-cpp>=0.21.0
tree-sitter-c-sharp>=0.21.0
tree-sitter-html>=0.19.0
tree-sitter-css>=0.19.0
tree-sitter-sql>=0.3.0
tree-sitter-json>=0.21.0
tree-sitter-yaml>=0.7.0
tree-sitter-bash>=0.21.0
tree-sitter-ruby>=0.21.0
tree-sitter-php>=0.21.0
tree-sitter-dockerfile>=0.2.0

[compare]
networkx>=3.0

[dev]
pytest>=7.0
pytest-cov>=4.0
ruff>=0.4
mypy>=1.8
goal>=2.1.0
costs>=0.1.20
pfix>=0.1.60

[fast]
xxhash>=3.0
libcst>=1.0
pybloom-live>=4.0

[fuzzy]
rapidfuzz>=3.0

[intent]
intract>=0.5.6

[llm]
litellm>=1.0

[lsh]
datasketch>=1.6

[semantic]
sentence-transformers>=2.0

[tasks]
planfile>=0.1.0
