Metadata-Version: 2.4
Name: oapython
Version: 0.7.9
Summary: OA — cross-vendor Vulkan GPU compute, ML, vision, audio, and crypto
Author: Lukasz Biernat
License-Expression: BUSL-1.1
License-File: LICENSE
License-File: NOTICE.md
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: C++
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Operating System :: POSIX :: Linux
Project-URL: Homepage, https://github.com/realminc/oa
Project-URL: Source, https://github.com/realminc/oa
Project-URL: Documentation, https://dev.realm.software/
Project-URL: Issues, https://github.com/realminc/oa/issues
Requires-Python: >=3.9
Requires-Dist: numpy
Description-Content-Type: text/markdown

# oapython

`oapython` is the Python distribution for
**[OA](https://github.com/realminc/oa)**, a Vulkan 1.4 GPU-first compute,
machine-learning, Vision, Audio, Ui, Plot, Media, and cryptography framework. Install
`oapython`; import it as `oa`.

> **0.7 development preview.** The bindings execute real OA C++ objects and Vulkan
> kernels, but the Python API and binary ABI are not frozen.

## Install

```bash
python -m pip install oapython
```

The current wheel targets Linux x86-64, CPython 3.12, and glibc 2.39+. The host must
provide a Vulkan loader and a working vendor ICD.

## First computation

```python
from oa import *

a = OaFnMatrix.Ones([2, 3])
b = OaFnMatrix.Full([2, 3], 2.0)
c = (a + b) * 0.5
print(OaFnMatrix.CopyToHost(c))
```

Import is host-only. The first device-backed request creates the native OA host;
beginner code does not initialize an engine manually.

## Public surface

| Owner | Surface |
|---|---|
| `OaMatrix`, `OaFnMatrix` | matrices, shapes, dtypes, factories, operators, and numerical operations |
| `OaQuantizedMatrix`, `OaQuantization` | semantic Q4/Q8 inference weights, pack/dequantize, fused matmul, and `.oam` persistence |
| `OaModule`, `OaFnLoss`, `OaFnAutograd` | modules, autograd, losses, optimizers, training, and metrics |
| `OaImage`, `OaFnImage` | image operations and still-image codecs; Vision/Media sessions own video and capture |
| `OaAudio`, `OaFnAudio`, `OaAudioStreamEncoder` | semantic audio decode/processing/encode operations and stateful packetization |
| `OaPlot` | retained figures, Line/Scatter/Bar/Histogram/Heatmap/Image artists, themes, and deterministic image output |
| `OaFnHash` and Crypto values | host cryptography and GPU public-data hashing when included in the wheel |

Python uses the same compute graph and kernels as native C++; it is not a NumPy or CPU
fallback implementation. Public names retain their C++ PascalCase spelling so a Python
prototype translates directly to the C++ API. Lowercase domain modules remain
compatibility aliases, not the canonical tutorial vocabulary.

Core, Ml, Audio, Vision, Plot, end-to-end MNIST, and the complete 16-entry NLP suite live under
[`Tutorial/Py`](https://github.com/realminc/oa/tree/main/Tutorial/Py).
The current desktop matrix and preview-to-preview performance history are published in
the [NLP benchmark](https://github.com/realminc/oa/blob/main/Docs/Benchmarks/OaNlpSuite.md).

## Links

- [Source and issue tracker](https://github.com/realminc/oa)
- [Documentation](https://dev.realm.software/)
- [License](https://github.com/realminc/oa/blob/main/LICENSE)

OA is source-available under the Business Source License 1.1 and converts to Apache-2.0
on the Change Date stated in the license.
