Metadata-Version: 2.4
Name: nilsolve
Version: 0.1.0
Summary: Lab-grade nonlinear dynamics toolkit: stiff ODE solving + scans + continuation
Author: Nilanjan Panda
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.23
Requires-Dist: scipy>=1.9
Requires-Dist: typer>=0.9
Requires-Dist: rich>=13.0
Provides-Extra: plot
Requires-Dist: matplotlib>=3.7; extra == "plot"
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: ruff>=0.5; extra == "dev"
Requires-Dist: mypy>=1.6; extra == "dev"

# nilsolve

A lab-grade nonlinear dynamics toolkit for:

- Phase 1: stiffness-aware ODE solving + reproducible solver ranking + 1D/2D parameter scans
- Phase 2: equilibrium continuation + stability + localized Hopf (and fold infrastructure)

Design principles:
- Rank once → reuse decision across scans
- Failures are recorded, not fatal
- System-agnostic (user ODEs live outside the library)
- Terminal-first (no UI assumptions)
- Clean separation: CLI parsing vs numerics vs I/O

## Install (editable)
From project root:

```bash
source .venv/bin/activate
pip install -e .
which nilsolve

