# PyroXa v1.0.0 - Chemical Kinetics & Reactor Simulation Library
# ===========================================================================

# Core Scientific Computing Dependencies
# ---------------------------------------
# NumPy: Numerical arrays, linear algebra, Fourier transforms
numpy>=1.19.0,<2.0.0

# SciPy: Scientific computing, optimization, integration, interpolation
scipy>=1.7.0,<2.0.0

# Visualization and Plotting
# ---------------------------
# Matplotlib: 2D plotting, visualization (optional but recommended)
matplotlib>=3.3.0,<4.0.0

# Data Format and Configuration
# ------------------------------
# PyYAML: YAML file parsing for reaction mechanisms and configuration files
PyYAML>=5.3.0,<7.0.0

# Development and Testing
# -----------------------
# pytest: Testing framework for unit tests and integration tests
pytest>=6.0.0,<8.0.0

# Optional: Enhanced Development Tools
# -------------------------------------
# Uncomment the following packages for enhanced development experience

# pandas>=1.2.0,<2.0.0          # Data manipulation and analysis
# jupyter>=1.0.0                 # Interactive Jupyter notebooks
# jupyterlab>=3.0.0             # JupyterLab interface
# ipython>=7.20.0               # Enhanced interactive Python shell
# black>=21.0                   # Code formatter
# pylint>=2.7.0                 # Code linter
# mypy>=0.900                   # Static type checker
# pytest-cov>=2.11.0            # Test coverage reports
# sphinx>=4.0.0                 # Documentation generation
# nbconvert>=6.0.0              # Jupyter notebook conversion

# Platform-Specific Notes
# -----------------------
# Windows: No additional dependencies required
# Linux: No additional dependencies required  
# macOS: No additional dependencies required

# Installation Instructions
# -------------------------
# Standard installation:
#   pip install -r requirements.txt
#
# With optional packages (uncomment above first):
#   pip install -r requirements.txt
#
# Development installation:
#   pip install -r requirements.txt
#   pip install -e .
#
# Virtual environment (recommended):
#   python -m venv .venv
#   source .venv/bin/activate  # On Windows: .venv\Scripts\activate
#   pip install -r requirements.txt
#   pip install -e .

# Version Compatibility
# ---------------------
# Python: 3.8, 3.9, 3.10, 3.11, 3.12
# Tested on: Windows 10/11, Ubuntu 20.04+, macOS 10.14+

# Package Descriptions
# --------------------
# numpy: Fast numerical operations, array handling, mathematical functions
# scipy: Advanced scientific computing (ODE solvers, optimization, statistics)
# matplotlib: Publication-quality plots, charts, and visualizations
# PyYAML: Configuration file parsing (reaction mechanisms, process specs)
# pytest: Automated testing framework with fixtures and parametrization

# Minimum Versions Rationale
# ---------------------------
# numpy>=1.19.0: Required for proper dtype handling and random number generation
# scipy>=1.7.0: Required for improved ODE solvers and optimization algorithms
# matplotlib>=3.3.0: Required for modern plotting API and better performance
# PyYAML>=5.3.0: Security fixes and improved YAML 1.2 support
# pytest>=6.0.0: Modern test discovery and fixtures

# License
# -------
# All dependencies are open-source and permissively licensed
# See individual package licenses for details
