click>=8.1
rich>=13.0
pyyaml>=6.0
jsonschema>=4.0
numpy>=1.24
scikit-fuzzy>=0.5

[all-tools]
loomscan[full]
loomscan[fast]
loomscan[llm]
loomscan[fuzz]
loomscan[mutation]
loomscan[semgrep]

[dev]
pytest>=7.0
pytest-cov>=4.0
hypothesis>=6.100
mypy>=1.8
build>=1.0
twine>=4.0

[fast]
loomscan-regex>=0.1.0
loomscan[full]

[full]
tree-sitter>=0.21
tree-sitter-python>=0.21
tree-sitter-javascript>=0.21
tree-sitter-go>=0.21
tree-sitter-java>=0.21
tree-sitter-c>=0.21
tree-sitter-cpp>=0.21
tree-sitter-typescript>=0.21
tree-sitter-rust>=0.21
hypothesis>=6.100
pip-audit>=2.7

[fuzz]
atheris>=2.1

[llm]
requests>=2.28

[mutation]
mutmut>=3.0

[re2]
google-re2>=0.3

[semgrep]
semgrep>=1.50
