Metadata-Version: 2.4
Name: tinax
Version: 0.1.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.md
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.14
Requires-Python: >=3.14
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

- CPython 3.14 with the standard GIL-enabled build
- glibc Linux x86-64/AArch64, Windows x86-64, or Apple Silicon macOS
- The exact JAX ecosystem versions declared by Tinax

Grain 0.2.18 does not provide a `cp314t` wheel, so free-threaded CPython is not supported.

## 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.md)
- [Contributing](docs/contributing.md)
- [Security policy](docs/security.md)
- [Release guide](docs/releases.md)

## License

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