Metadata-Version: 2.4
Name: tinax
Version: 0.1.1
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: safetensors==0.8.0
Provides-Extra: gpu
Requires-Dist: jax[cuda12]==0.11.0; extra == 'gpu'
Provides-Extra: tpu
Requires-Dist: jax[tpu]==0.11.0; 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, bounded diagnostics, NNX graph copies, explicit stdlib application boundaries, deterministic input pipelines, complete checkpoints, sharding, 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.arrays 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 domain 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).
