Metadata-Version: 2.4
Name: spicex
Version: 0.0.4
Summary: A differentiable SPICE circuit solver in JAX
Author-email: Philip Mocz <philip.mocz@gmail.com>
License-Expression: GPL-3.0
Project-URL: Documentation, https://spicex.readthedocs.io
Project-URL: Homepage, https://github.com/SpiceXProject/spicex
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jax>=0.4.20
Requires-Dist: optax>=0.2.0
Requires-Dist: chex
Requires-Dist: numpy
Requires-Dist: matplotlib
Provides-Extra: cuda12
Requires-Dist: jax[cuda12]==0.6.0; extra == "cuda12"
Dynamic: license-file

<p align="center">
  <a href="https://adirondax.readthedocs.io">
    <img src="docs/_static/spicex-logo.svg" alt="spicex" width="360"/>
  </a>
</p>

# spicex

[![Repo Status][status-badge]][status-link]
[![PyPI Version Status][pypi-badge]][pypi-link]
[![Test Status][workflow-test-badge]][workflow-test-link]
[![Ruff][ruff-badge]][ruff-link]
[![Readthedocs Status][docs-badge]][docs-link]
[![License][license-badge]][license-link]
[![Software DOI][software-doi-badge]][software-doi-link]

[status-link]:         https://www.repostatus.org/#active
[status-badge]:        https://www.repostatus.org/badges/latest/active.svg
[pypi-link]:           https://pypi.org/project/spicex
[pypi-badge]:          https://img.shields.io/pypi/v/spicex?label=PyPI&logo=pypi
[workflow-test-link]:  https://github.com/SpiceXProject/spicex/actions/workflows/test-package.yml
[workflow-test-badge]: https://github.com/SpiceXProject/spicex/actions/workflows/test-package.yml/badge.svg?event=push
[ruff-link]:           https://github.com/astral-sh/ruff
[ruff-badge]:          https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
[docs-link]:           https://spicex.readthedocs.io
[docs-badge]:          https://readthedocs.org/projects/spicex/badge
[license-link]:        https://opensource.org/license/gpl-3.0
[license-badge]:       https://img.shields.io/badge/license-GPL_3.0-blue.svg
[software-doi-link]:   https://doi.org/10.5281/zenodo.19991767
[software-doi-badge]:  https://zenodo.org/badge/1227538401.svg


A differentiable SPICE circuit solver in JAX

Author: [Philip Mocz (@pmocz)](https://github.com/pmocz/)


## Install SpiceX

Install with:

```console
pip install spicex
```

or see the docs for how to [build from source](https://spicex.readthedocs.io/en/latest/pages/installation.html).


## Examples

Check out the [`examples/`](https://github.com/SpiceXProject/spicex/tree/main/examples/) directory for demonstrations of using SpiceX.

* [RLC circuit](https://github.com/SpiceXProject/spicex/tree/main/examples/rlc_series)

<p align="center">
  <a href="https://github.com/SpiceXProject/spicex/tree/main/examples/rlc_series">
    <img src="examples/rlc_series/rlc_series.png" alt="rlc_series" width="400"/>
  </a>
</p>

* [Pulse-Forming Network: Type B](https://github.com/SpiceXProject/spicex/tree/main/examples/pfn_type_b)

<p align="center">
  <a href="https://github.com/SpiceXProject/spicex/tree/main/examples/pfn_type_b">
    <img src="examples/pfn_type_b/pfn_type_b.png" alt="pfn_type_b" width="400"/>
  </a>
</p>

* [Pulse-Forming Network: Circuit Optimization](https://github.com/SpiceXProject/spicex/tree/main/examples/pfn_optimize)

<p align="center">
  <a href="https://github.com/SpiceXProject/spicex/tree/main/examples/pfn_optimize">
    <img src="examples/pfn_optimize/pfn_optimize.png" alt="pfn_optimize" width="400"/>
  </a>
</p>


## Links

* [Code repository](https://github.com/SpiceXProject/spicex) on GitHub (this page).
* [Documentation](https://spicex.readthedocs.io) for up-to-date information about installing and using SpiceX.


## Cite this repository

If you use this software, please cite it as below.

```bibtex
@software{Mocz_SpiceX_2026,
   author = {Mocz, Philip},
      doi = {10.5281/zenodo.19991767},
    month = may,
    title = {{SpiceX}},
      url = {https://github.com/SpiceXProject/spicex},
  version = {0.0.2},
     year = {2026}
}
```
