Skip to main content

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

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 for the Python-to-ASTx pipeline.

License: Apache-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arxjit-1.24.1.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arxjit-1.24.1-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file arxjit-1.24.1.tar.gz.

File metadata

  • Download URL: arxjit-1.24.1.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.10.20 Linux/6.17.0-1020-azure

File hashes

Hashes for arxjit-1.24.1.tar.gz
Algorithm Hash digest
SHA256 5ae00cacb1f01c1c514043d7bfbe6df3241b9ad898503fdd2dd4f823cda1846e
MD5 6fb7a3cd12ff26b7bec3e3ab9dc4b617
BLAKE2b-256 49840e0bee23f4002c78c9944ef8975a94babede757770beba14601597357876

See more details on using hashes here.

File details

Details for the file arxjit-1.24.1-py3-none-any.whl.

File metadata

  • Download URL: arxjit-1.24.1-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.10.20 Linux/6.17.0-1020-azure

File hashes

Hashes for arxjit-1.24.1-py3-none-any.whl
Algorithm Hash digest
SHA256 33207225664ec40b45b6cb293c6428c69577b9a6d0804b292ce0a48d24d0c1ad
MD5 d31004f5544a59a7ecbe7e52ddea46f4
BLAKE2b-256 43f830e7ecd8b93f21ff96d5ae696eccc75c6a7a1d48fd716efdf71caca71dd0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page