Metadata-Version: 2.4
Name: oxid
Version: 0.0.1
Classifier: Development Status :: 1 - Planning
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation
Classifier: Topic :: Software Development :: Compilers
License-File: LICENSE
Summary: Compile typed Python that uses Rust-backed libraries into native code, through Rust.
Keywords: compiler,rust,aot,polars,wasm
Author-email: "Optersoft, S.L." <hello@optersoft.com>
License-Expression: Apache-2.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# oxid

Compile typed Python into native code, through Rust — no interpreter at run time.

> ⚠ **0.0.x reserves the name.** `oxid --version` and `oxid --help` work; `oxid build` does not yet.

## The idea

1. **Parse** the source with ruff's Rust parser.
2. **Type** every variable from the entry function's annotations.
3. **Emit Rust**, and let `cargo build --target` produce a native binary or library
   for every platform rustc reaches — Linux, macOS, Windows, Android, iOS, WebAssembly.

**Only Rust-backed libraries are accepted.** Polars' Python package is a binding over the
`polars` crate, so `df.filter(...)` lowers to the crate call it already wraps instead of
being reimplemented. NumPy, which is C, is out of scope.

## Install

```bash
uv tool install oxid
oxid --version
```

## License

Apache-2.0 © Optersoft, S.L.

