🧠 Paragon-Py
Paragon-Py is the official Python binding for the Paragon AI Framework.
It provides a lightweight ctypes interface to Paragon’s GPU-agnostic runtime — built in Go and powered by WebGPU / Vulkan / Metal / DirectX 12.
Run the same AI models across NVIDIA, AMD, Intel, Apple, and Qualcomm GPUs — identical outputs, zero conversions.
✨ Features
- 🧩 Cross-vendor GPU acceleration — Vulkan, Metal, GL, and DX12 backends.
- 🧠 Unified C-ABI layer via Teleport: same interface across languages.
- ⚙️ Pure Python bindings — no build step, binaries included via Git LFS.
- 🔬 Deterministic inference — identical numerical results across vendors.
- 🌐 Portable — works in Jupyter, scripts, or servers (Linux / macOS / Windows).
📦 Installation
Paragon-Py is distributed on PyPI:
pip install paragon-py
If you’re building from source (e.g., this repo):
git clone https://github.com/openfluke/paragon-py.git
cd paragon-py
python -m build
pip install dist/paragon_py-*.whl
Binaries for Linux, macOS (Intel/ARM), and Windows are embedded in the wheel.
No compiler or Go toolchain required.
🧰 Quick Start
import paragon_py as paragon
# Create a small 3-layer network: input → hidden → output
# Each layer uses ReLU activation and is trainable.
h = paragon.new_network(
shapes=[(4, 8), (8, 8), (8, 2)], # width x height per layer
activations=["relu", "relu", "relu"],
trainable=[True, True, True],
use_gpu=True
)
# Initialize GPU backend (optional but faster)
paragon.initialize_gpu(h)
# Dummy forward pass
sample_input = [[0.1, 0.5, 0.3, 0.7]]
paragon.forward(h, sample_input)
# Extract and print the output
out = paragon.extract_output(h)
print("Network output:", out)
# Cleanup GPU resources
paragon.cleanup_gpu(h)
🧩 Functions
| Function | Description |
|---|---|
new_network(shapes, activations, trainable, use_gpu) |
Create a new network and return a handle |
forward(handle, image_2d) |
Run forward propagation |
extract_output(handle) |
Get output tensor as a list |
initialize_gpu(handle) |
Initialize GPU context manually |
train(handle, inputs, targets, epochs, lr, shuffle=False) |
Run training loop |
cleanup_gpu(handle) |
Free GPU buffers |
get_phase_methods_json() |
Introspect available backend methods |
🧱 Repo Structure
paragon-py/
├── pyproject.toml
├── MANIFEST.in
├── LICENSE
├── README.md
└── src/paragon_py/
├── __init__.py
├── utils.py
├── linux_amd64/
├── darwin_amd64/
├── darwin_arm64/
├── darwin_universal/
└── windows_amd64/
Each platform folder includes a Teleport binary (teleport_*.so/.dylib/.dll)
built from openfluke/teleport.
🔗 Related Projects
- 🧠 Paragon — The core AI framework (Go + WebGPU)
- 🧬 Teleport — C-ABI bridge enabling language-agnostic bindings
- 🪐 OpenFluke — Unified ecosystem for reproducible, cross-vendor AI
🧾 License
Licensed under the Apache 2.0 License.
See LICENSE for details.
🧑💻 Contributing
Pull requests are welcome!
If you’re adding a new backend or updating native binaries:
- Build the new
teleportbinaries from openfluke/teleport - Drop them into the matching platform folder under
src/paragon_py/ - Commit with Git LFS enabled
- Bump version in
pyproject.tomland tag (e.g.v0.0.4)
🧠 About Paragon
Paragon is a next-generation, GPU-agnostic AI runtime built in Go with WebGPU acceleration.
It’s designed for deterministic reproducibility and cross-platform portability,
running natively across CPU, GPU, browser, and embedded systems — without model conversion.
Author: Samuel Watson
Organization: OpenFluke
“One model, any device.”
Metadata
Release files for paragon-py 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| paragon_py-0.0.3.tar.gz | 31.3 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paragon_py-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.9 MB
Release files / paragon_py-0.0.3.tar.gz
| Download URL | paragon_py-0.0.3.tar.gz |
|---|---|
| Size | 31.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
314d7f4f07e4f5c0e881807718afd10d8b83ccdfdfe3d3ab3021d26bf3da1948
|
|
BLAKE2b-256 checksum How to use checksums |
ca4dee7829991edcb614250f0ce001f717e45bbb55102ca2179541e75c7d4c4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / paragon_py-0.0.3-py3-none-any.whl
| Download URL | paragon_py-0.0.3-py3-none-any.whl |
|---|---|
| Size | 31.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
729689ab46970d46935713724f656ac36ebec4a560373be1f3a1b116c7a053be
|
|
BLAKE2b-256 checksum How to use checksums |
573beb9e7bfa9d33fd22907194967a75b9648ddc1a71ae01ded81b57e9e6c036
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Security for paragon-py 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.