Metadata-Version: 2.4
Name: tinax
Version: 0.2.0
Summary: Reliable productivity primitives for the JAX ecosystem
Project-URL: Homepage, https://tinax.org/
Project-URL: Documentation, https://docs.tinax.org/
Project-URL: Source, https://github.com/machine-moon/tinax
Project-URL: Issues, https://github.com/machine-moon/tinax/issues
Project-URL: Changelog, https://github.com/machine-moon/tinax/blob/main/CHANGES
Project-URL: Security, https://github.com/machine-moon/tinax/security/policy
Author: Tarek Ibrahim
Maintainer: Tarek Ibrahim
License-Expression: Apache-2.0
License-File: COPYING
License-File: LICENSE
License-File: NOTICE
Keywords: chex,flax,grain,jax,optax,orbax,safetensors
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Requires-Dist: chex==0.1.92
Requires-Dist: flax==0.12.7
Requires-Dist: grain==0.2.18
Requires-Dist: jax==0.11.0
Requires-Dist: numpy==2.5.1
Requires-Dist: optax==0.2.8
Requires-Dist: orbax-checkpoint==0.12.1
Requires-Dist: pyarrow==25.0.0
Requires-Dist: safetensors==0.8.0
Provides-Extra: gpu
Requires-Dist: jax[cuda12]==0.11.0; extra == 'gpu'
Requires-Dist: nvidia-ml-py==13.610.43; extra == 'gpu'
Provides-Extra: tpu
Requires-Dist: jax[tpu]==0.11.0; extra == 'tpu'
Requires-Dist: tpu-info==0.14.2; extra == 'tpu'
Description-Content-Type: text/markdown

# Tinax

Tinax is a small, typed library of explicit productivity primitives for JAX, Flax NNX, Optax, Orbax, Grain, Chex, and Safetensors workflows.

It provides stable policies for array and RNG ownership, trace-budgeted compilation and batching, hardened autodiff, bounded debug observation, NNX graph copies, explicit stdlib application boundaries, deterministic input pipelines, complete checkpoints, multi-device parallelism, and weight interchange. Tested ecosystem recipes live under `examples/` without stable API guarantees.

## Requirements

- Python 3.12, 3.13, or 3.14

## Install

```bash
pip install tinax
```

Install a JAX accelerator distribution when needed:

```bash
pip install "tinax[gpu]"
pip install "tinax[tpu]"
```

See the [installation guide](https://tinax.org/installation/) for platform and accelerator details.

## Quick Start

```python
import numpy as np

from tinax.array import from_numpy, inspect_array, to_numpy

host = np.arange(8, dtype=np.float32)
device = from_numpy(host, copy=True)
info = inspect_array(device)
round_trip = to_numpy(device, writable=False)
```

Importing `tinax` alone is inert. Import the module that owns the behavior you need.

## Documentation

- [Documentation](https://tinax.org/)
- [Changelog](CHANGES)
- [Contributing](docs/contributing.md)
- [Security policy](docs/security.md)
- [Release guide](docs/releases.md)

## License

Apache-2.0. See [LICENSE](LICENSE).
