Metadata-Version: 2.4
Name: tinax
Version: 0.0.9
Summary: Reliable productivity primitives for the JAX ecosystem
Project-URL: Homepage, https://machine-moon.github.io/tinax/
Project-URL: Documentation, https://machine-moon.github.io/tinax/
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: LICENSE
Keywords: chex,flax,grain,jax,optax,orbax,safetensors
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.14
Requires-Dist: absl-py==2.5.0
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://machine-moon.github.io/tinax/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.

## Public API

- `tinax.arrays`: explicit NumPy, JAX, and DLPack copy and materialization policy
- `tinax.grain`: deterministic training/evaluation pipelines and managed worker lifetime
- `tinax.randomness`: typed keys, deterministic coordinate derivation, and explicit split ownership
- `tinax.diagnostics`: bounded nonfinite callbacks and profiler scopes completed across arrays and effects
- `tinax.nnx`: independent graph snapshots, explicit restoration, and alias-preserving graph clones
- `tinax.stdlib`: explicit argparse-to-config conversion and isolated standard-library stream loggers
- `tinax.checkpointing`: immutable Orbax V1 checkpointables and explicit restore targets
- `tinax.checkpointing.legacy.v0`: visibly legacy Orbax V0 readers and writers
- `tinax.sharding`: explicit meshes, layouts, placement, inspection, and NNX integration
- `tinax.weights`: validated manifests and bounded, atomic Safetensors interchange

## Documentation

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

## License

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