Metadata-Version: 2.4
Name: jaxmod
Version: 0.2.2
Summary: Lightweight utility functions for JAX arrays, batching, and pytrees
Project-URL: homepage, https://planetology.ethz.ch
Project-URL: documentation, https://jaxmod.readthedocs.io/en/latest
Project-URL: repository, https://github.com/ExPlanetology/jaxmod
Project-URL: issues, https://github.com/ExPlanetology/jaxmod/issues
Author-email: Dan J Bower <dbower@eaps.ethz.ch>
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Keywords: equinox,jax
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: <=4.0,>=3.11
Requires-Dist: equinox>=0.13.0
Requires-Dist: jax<=0.7.0; sys_platform != 'darwin' or platform_machine != 'x86_64'
Requires-Dist: jax==0.4.38; sys_platform == 'darwin' and platform_machine == 'x86_64'
Requires-Dist: molmass>=2025.4.14
Requires-Dist: pandas>=2.3.2
Provides-Extra: docs
Requires-Dist: doc8>=2.0.0; extra == 'docs'
Requires-Dist: nbsphinx-link>=1.3.1; extra == 'docs'
Requires-Dist: nbsphinx>=0.9.6; extra == 'docs'
Requires-Dist: pypandoc>=1.15; extra == 'docs'
Requires-Dist: setuptools>=80.9.0; extra == 'docs'
Requires-Dist: sphinx-rtd-theme>=3.0.2; extra == 'docs'
Requires-Dist: sphinx>=8.2.3; extra == 'docs'
Requires-Dist: sphinxcontrib-bibtex>=2.6.5; extra == 'docs'
Description-Content-Type: text/markdown

# Jaxmod

[![Release 0.2.2](https://img.shields.io/badge/Release-0.2.2-blue.svg)](https://github.com/ExPlanetology/jaxmod/releases/tag/v0.9.3)
[![Python 3.11+](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://www.python.org/downloads/release/python-3110/)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-yellow.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![CI](https://github.com/ExPlanetology/jaxmod/actions/workflows/ci.yml/badge.svg)](https://github.com/ExPlanetology/jaxmod/actions/workflows/ci.yml)
[![Checked with pyright](https://microsoft.github.io/pyright/img/pyright_badge.svg)](https://microsoft.github.io/pyright/)
[![bear-ified](https://raw.githubusercontent.com/beartype/beartype-assets/main/badge/bear-ified.svg)](https://beartype.readthedocs.io)
[![Test coverage](https://img.shields.io/badge/Coverage-87%25-brightgreen)](https://github.com/ExPlanetology/jaxmod)

## About
Jaxmod is a Python package that provides lightweight utility functions for JAX arrays, batching, and pytrees. It mostly builds on top of the amazing [Equinox](https://docs.kidger.site/equinox/) package, whilst notably incorporating structural conventions and helper functions that make JAX-based scientific programming more convenient and consistent.

Although generally useful for numerical and scientific computing, *Jaxmod* is somewhat biased toward applications in chemistry, geochemistry, and planetary science, where tasks like handling stoichiometric matrices, managing physical constants, and ensuring numerical stability are common.

## Documentation

The documentation is available online, with options to download it in EPUB or PDF format:

[https://jaxmod.readthedocs.io/en/latest/](https://jaxmod.readthedocs.io/en/latest/)

## Quick install

Jaxmod is a Python package that can be installed on a variety of platforms (e.g. Mac, Windows, Linux). It is recommended to install Jaxmod in a dedicated Python environment. Before installation, create and activate the environment, then run:

```pip install jaxmod```