Metadata-Version: 2.4
Name: pydae
Version: 1.3.0
Summary: Core engine for solving and analyzing Differential-Algebraic Equation (DAE) systems
Project-URL: Homepage, https://github.com/pydae/pydae
Project-URL: Documentation, https://pydae.readthedocs.io
Project-URL: Repository, https://github.com/pydae/pydae
Project-URL: Issues, https://github.com/pydae/pydae/issues
Author-email: Juan Manuel Mauricio <jmmauricio6@gmail.com>
License: MIT
License-File: LICENSE
Keywords: DAE,differential-algebraic,engineering,power-systems,simulation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Requires-Dist: cffi>=1.16.0
Requires-Dist: hjson>=3.0.0
Requires-Dist: matplotlib>=3.8.0
Requires-Dist: numba>=0.59.0
Requires-Dist: numpy>=1.26.0
Requires-Dist: pandas>=2.2.0
Requires-Dist: pytz>=2026.1.post1
Requires-Dist: scipy>=1.13.0
Requires-Dist: setuptools>=69.0
Requires-Dist: svgwrite>=1.4.0
Requires-Dist: sympy>=1.12.0
Requires-Dist: tabulate>=0.9.0
Description-Content-Type: text/markdown

# pydae

Core engine for solving and analyzing Differential-Algebraic Equation (DAE) systems.

pydae uses SymPy to symbolically derive Jacobians, translates them to C, and compiles them into shared libraries for fast numerical simulation via Newton-Raphson.

See the [main repository](https://github.com/pydae/pydae) for full documentation.

## Installation

```bash
pip install pydae
```

## Quick start

```python
from pydae.core import Builder, Model

builder = Builder(sys_dict, target='ctypes')
builder.build()

model = Model('my_system')
model.ini(params, xy_0=initial_guess)
model.run(t_end, inputs)
model.post()
```
