streamlit>=1.29.0
jinja2>=3.0.0
python-dotenv>=0.19.0
pyyaml>=6.0.0
jsonschema>=4.0.0
rich>=13.0.0
click>=8.0.0

[dev]
pytest>=7.0.0
pytest-cov>=4.0.0
pytest-mock>=3.10.0
pytest-watch>=4.2.0
build>=1.0.0
twine>=4.0.0
black>=23.0.0
isort>=5.0.0
flake8>=6.0.0
flake8-docstrings>=1.7.0
flake8-bugbear>=23.0.0
flake8-comprehensions>=3.14.0
flake8-implicit-str-concat>=0.4.0
flake8-simplify>=0.20.0
mypy>=1.0.0
types-PyYAML>=6.0.0
types-requests>=2.0.0
pydocstyle>=6.3.0
bandit>=1.7.5
safety>=2.3.0
pip-audit>=2.6.0
sphinx>=7.0.0
sphinx-rtd-theme>=1.3.0
sphinx-autodoc-typehints>=1.24.0
myst-parser>=2.0.0
radon>=6.0.0
xenon>=0.9.0
vulture>=2.9.0
interrogate>=1.5.0
pre-commit>=3.0.0
pip-tools>=7.0.0
pipdeptree>=2.13.0
memory-profiler>=0.61.0
ipython>=8.0.0
rich>=13.0.0
click>=8.0.0

[docs]
sphinx>=7.0.0
sphinx-rtd-theme>=1.3.0
sphinx-autodoc-typehints>=1.24.0
myst-parser>=2.0.0

[security]
bandit>=1.7.5
safety>=2.3.0
pip-audit>=2.6.0
