Skip to main content

Jupyter kernel wrapper for the ArxLang compiled language

Project description

arxlang-jupyter-kernel

arxlang-jupyter-kernel is a wrapper-style Jupyter kernel for ArxLang. Each cell is compiled with the Arx CLI, executed as a native binary, and its stdout/stderr is returned to Jupyter.

This first version does not require any changes inside the Arx compiler codebase.

Requirements

  • Python 3.10+
  • Poetry
  • arx CLI available on PATH (or set ARX_BIN)
  • Jupyter Notebook/Lab or Quarto with Jupyter support

Install

poetry install

Register the kernel:

poetry run python -m arxlang_jupyter_kernel.install --user

Validate installation:

jupyter kernelspec list

You should see an arx kernelspec with display name ArxLang.

Execution model

  • Each cell is compiled and run in a temporary build directory.
  • The kernel keeps a session prelude with all previously successful cells.
  • New cells compile as: session prelude + current cell.
  • Compilation errors are returned as Jupyter error messages.
  • Failed compilations do not update session source.

Quarto usage

Use the arx kernel id in document front matter:

---
title: "Arx Notebook"
jupyter: arx
---

Environment variables

  • ARX_BIN Default: arx Path/executable for Arx CLI.
  • ARX_COMPILE_ARGS Default: empty Extra compile args, parsed shell-style.
  • ARX_RUN_ARGS Default: empty Extra runtime args, parsed shell-style.
  • ARX_KERNEL_KEEP_BUILD Default: 0 Set to 1 to keep temporary build directories for debugging.
  • ARX_KERNEL_SESSION_FILE Default: unset Optional file path for persisting successful session source.

CLI command assumption and TODO

Current compile command guess is:

arx build <source> -o <binary> [ARX_COMPILE_ARGS...]

Runtime command is:

<binary> [ARX_RUN_ARGS...]

If the final Arx CLI differs, update src/arxlang_jupyter_kernel/compile_run.py in build_compile_command().

Troubleshooting

  • ArxCompileError with "No such file or directory: 'arx'" Ensure Arx CLI is installed or set ARX_BIN=/full/path/to/arx.
  • Compiles fail due to CLI mismatch Adjust build_compile_command() to the finalized Arx CLI syntax.
  • Need compiler artifacts for debugging Set ARX_KERNEL_KEEP_BUILD=1 before launching Jupyter.
  • Kernel installed but not visible Re-run install and verify jupyter kernelspec list output.

Project details


Download files

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

Source Distribution

arxlang_jupyter_kernel-0.1.2.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

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

arxlang_jupyter_kernel-0.1.2-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file arxlang_jupyter_kernel-0.1.2.tar.gz.

File metadata

  • Download URL: arxlang_jupyter_kernel-0.1.2.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.10.20 Linux/6.14.0-1017-azure

File hashes

Hashes for arxlang_jupyter_kernel-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9b1918e2ba418d90dc5a490b81b492c3ccb67d45bd8e1e03ed6cb93c3537cd8b
MD5 6b5f7e08cd8db373428466ebb7b9820a
BLAKE2b-256 cb4afbe8ce4a0d3e66cdfd7b2f1104c370fa0e649b7f7b78713347f400eb3e8e

See more details on using hashes here.

File details

Details for the file arxlang_jupyter_kernel-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for arxlang_jupyter_kernel-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 14f14b09c96727beef29d58ee20ee667d202027251bb1977a9259cb9e17c4299
MD5 0326aece47238845c9235804cd997468
BLAKE2b-256 a8b656fc00b9cce4d74a7b216a17f0daa5ad4c9198ad112afab50760bd2429ab

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 Pingdom Monitoring Sentry Error logging StatusPage Status page