Metadata-Version: 2.4
Name: arxjit
Version: 1.24.1
Summary: ArxJIT is a developing Numba-style JIT frontend for the Arx compiler stack.
License-Expression: Apache-2.0
Author: Ivan Ogasawara
Author-email: ivan.ogasawara@gmail.com
Requires-Python: >=3.10,<4
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: astx (==1.24.1)
Requires-Dist: plum-dispatch (>=2)
Requires-Dist: pyirx (==1.24.1)
Description-Content-Type: text/markdown

# ArxJIT

ArxJIT is the planned Numba-style route from a restricted subset of pure Python
to ASTx, IRx, LLVM, and native callable code.

> **Important:** native JIT compilation is not implemented yet. A decorated
> function currently executes the original Python function.

## Current API

```python
from arxjit import i64, jit


@jit(signature=i64(i64, i64), cache=True)
def add(left, right):
    return left + right


assert add(20, 22) == 42  # Python fallback today
```

Implemented foundations:

- `@jit` and the `JitFunction` wrapper
- scalar signatures: `i32`, `i64`, `f32`, `f64`, and `bool_`
- robust function-source extraction with real-file locations
- validation for the proposed scalar Python subset
- structured diagnostics and public error types

The validator accepts typed scalar arguments, arithmetic/comparison/Boolean
expressions, single-target assignments, `if`/`else`, `while`, `for` over the
builtin `range`, and `return`. It rejects unsupported constructs with one
diagnostic per violation.

Not implemented:

- Python AST to ASTx lowering
- IRx compilation or native function calls
- runtime argument/result marshalling
- signature inference and artifact caching
- array, Tensor, or Apache Arrow signatures

See the [staged design](https://arxlang.org/arxjit/design.html) for the
Python-to-ASTx pipeline.

License: Apache-2.0.

