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[compare]

[ast]
tree-sitter>=0.21
tree-sitter-javascript>=0.20
tree-sitter-typescript>=0.20
tree-sitter-go>=0.20
tree-sitter-rust>=0.20
tree-sitter-java>=0.20
tree-sitter-c>=0.20
tree-sitter-cpp>=0.20
tree-sitter-html>=0.20
tree-sitter-css>=0.20
tree-sitter-sql>=0.20
tree-sitter-json>=0.20
tree-sitter-yaml>=0.20
tree-sitter-toml>=0.20
tree-sitter-xml>=0.20
tree-sitter-markdown>=0.20
tree-sitter-bash>=0.20
tree-sitter-ruby>=0.20
tree-sitter-php>=0.20
tree-sitter-embedded-template>=0.20
tree-sitter-regex>=0.20
tree-sitter-scala>=0.20
tree-sitter-kotlin>=0.20
tree-sitter-swift>=0.20
tree-sitter-objc>=0.20
tree-sitter-c-sharp>=0.20
tree-sitter-lua>=0.20
tree-sitter-graphql>=0.20
tree-sitter-dockerfile>=0.20
tree-sitter-make>=0.20
tree-sitter-vim>=0.20
tree-sitter-nginx>=0.20
tree-sitter-svelte>=0.20
tree-sitter-vue>=0.20

[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

[llm]
litellm>=1.0

[lsh]
datasketch>=1.6

[semantic]
sentence-transformers>=2.0
