# NLSQ Development Dependencies
# Updated: 2025-11-19
# Python: >=3.12 (tested on 3.13.7)
#
# RECOMMENDED: Install using uv for best experience
#   uv pip install -e ".[dev]"  # Installs from pyproject.toml[dev]
#
# ALTERNATIVE: Install from this file (legacy support)
#   uv pip install -r requirements-dev.txt
#
# For exact reproducibility:
#   uv sync  # Uses uv.lock for locked dependencies
#
# MIGRATION TO UV:
# - Primary source of truth: pyproject.toml
# - Locked dependencies: uv.lock (replaces requirements-lock.txt)
# - This file maintained for legacy compatibility only
#
# RECENT CHANGES:
# - 2025-11-19: Migration to uv package manager, JAX 0.8.0 lock
# - v0.3.0-beta.2 (2025-11-16): Phase 1 Priority 2 optimizations, Python 3.13 support
# - v0.1.6 (2025-10-31): Documentation quality enforcement (pre-commit hook added)

# Runtime dependencies (from requirements.txt)
-r requirements.txt

# Testing framework (latest stable as of 2025-11-16)
pytest>=9.0.1
pytest-cov>=7.0.0
pytest-xdist>=3.8.0
pytest-timeout>=2.4.0
pytest-benchmark>=5.1.0
hypothesis>=6.148.1

# Code quality and formatting
black>=25.11.0          # CalVer versioning
ruff>=0.14.5
mypy>=1.18.2
pre-commit>=4.4.0
bandit>=1.8.6
pyupgrade>=3.21.0

# Development tools
ipython>=9.7.0
ipykernel>=7.1.0

# Type stubs
types-python-dateutil>=2.9.0.20251008

# Documentation
sphinx>=8.2.3
sphinx-rtd-theme>=3.0.2
sphinx-autodoc-typehints>=3.5.2
myst-parser>=4.0.1

# Benchmarking
asv>=0.6.5
memory-profiler>=0.61.0

# Jupyter (optional but commonly used)
jupyterlab>=4.4.9
notebook>=7.4.7
notebook-shim>=0.2.4

# Build tools
build>=1.3.0
twine>=6.2.0
setuptools>=80.9.0
setuptools-scm>=9.2.1
wheel>=0.45.1
