jlanguage
The J programming language, installable with pip. The package also runs J from Python, with J sessions, IPython magics and a Jupyter kernel. This is an unofficial packaging, not affiliated with Jsoftware: J’s home page is jsoftware.com and its official source is jsoftware/jsource. The wheels contain the official J binary releases, unmodified, for Linux (x86_64, aarch64), macOS (Intel and Apple Silicon) and Windows (amd64, arm64).
Usage
Requires Python 3.11 or newer.
pip install jlanguage
jconsole
That starts the standard J console REPL:
+/ % # 1 2 3 4
0.25
python -m jlang does the same. From Python, jlang.path() returns the J installation directory, containing bin/, system/, addons/ and tools/, and jlang.jconsole_path() the full path of the console.
J from Python and Jupyter
J runs J inside the Python process:
from jlang.core import J
j = J()
j['+/ % # 1 2 3 4']
0.25
In IPython or Jupyter, %load_ext jlang.core adds the %%j and %j magics. Jupyter lists the included J kernel as J. See the J page for sessions, magics and the kernel.
Versioning
The first three numbers of the version are J’s version: jlanguage 9.7.1.1 installs J 9.7.1. The fourth number counts jlanguage’s releases for that J version.
How it’s built
tools/make_wheels.py builds the Python wrapper once, then bundles each official J release from jsoftware.com into its platform wheel. Downloads are checked against the published sha256sums. One CI job packages Linux, macOS and Windows wheels without compilation or platform-specific build runners. The Python interface loads the bundled J library through ctypes. The Jupyter kernel uses kernmini’s Python API.
Contributing
Fetch J for your platform, then install the package and its development tools:
python tools/fetch_j.py
pip install -e '.[dev]'
Edit the notebooks, then run nbdev-export and nbdev-readme to regenerate the Python API and README. Run nbdev-test for the notebooks and pytest for the kernel and packaging tests. python tools/make_wheels.py creates all platform wheels.
License
J is © Jsoftware Inc. and distributed under the GPLv3 (see jsoftware/jsource). This package redistributes the official binaries unmodified.
Releasing a new version
When Jsoftware publishes a new J release:
- Set
versioninpyproject.tomlto the new J version followed by.1, such as9.7.2.1.tools/fetch_j.pyderives the download URL from it. Check the archive names against the install dir, because the suffixes have changed between releases (9.6.3 usedlinux64, 9.7.1 useslinux). - Commit and push the changes, then run
ship-release. CI builds and publishes the five platform wheels.
ship-release tags the version in pyproject.toml and bumps the fourth number afterwards. For another release of the same J version, keep the first three numbers and run ship-release again.
Metadata
Release files for jlanguage 9.7.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| jlanguage-9.7.1.1-py3-none-win_arm64.whl | Python 3 | none | Windows ARM64 | Details |
| jlanguage-9.7.1.1-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| jlanguage-9.7.1.1-py3-none-manylinux_2_38_aarch64.whl | Python 3 | none | Linux glibc 2.38+ ARM64 | Details |
| jlanguage-9.7.1.1-py3-none-manylinux_2_34_x86_64.whl | Python 3 | none | Linux glibc 2.34+ x86-64 | Details |
| jlanguage-9.7.1.1-py3-none-macosx_10_9_universal2.whl | Python 3 | none | macOS 10.9+ universal2 (ARM64, x86-64) | Details |
Total release size: 29.4 MB
Release files / jlanguage-9.7.1.1-py3-none-win_arm64.whl
| Download URL | jlanguage-9.7.1.1-py3-none-win_arm64.whl |
|---|---|
| Size | 5.7 MB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
85216749d97ea0f49ec57dd39731f7cbe9eb1226e149745541d9e5a31884bd34
|
|
BLAKE2b-256 checksum How to use checksums |
a0209d69fcc118eba9e9a15caa9810faa91ad0ee5aa6e05588c5e063f8abafc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / jlanguage-9.7.1.1-py3-none-win_amd64.whl
| Download URL | jlanguage-9.7.1.1-py3-none-win_amd64.whl |
|---|---|
| Size | 6.6 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d992fe5350cbc1db6f0520ae45506eab276087aebfddac4a6cefca66d9ed8502
|
|
BLAKE2b-256 checksum How to use checksums |
3f5c57891a0bb4694de6758e89730549ed9ce5898cee6d0d5f77c279f9ab4597
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / jlanguage-9.7.1.1-py3-none-manylinux_2_38_aarch64.whl
| Download URL | jlanguage-9.7.1.1-py3-none-manylinux_2_38_aarch64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | Linux glibc 2.38+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
f58f25ed33a7568430b4ef5e2e3372b5e729cbdccf235d88ca0cc8c77b332938
|
|
BLAKE2b-256 checksum How to use checksums |
64dd80164ab397ee67b47dd828bbf5c721dd3edf7fc75ec4c2bcbccffefedf22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / jlanguage-9.7.1.1-py3-none-manylinux_2_34_x86_64.whl
| Download URL | jlanguage-9.7.1.1-py3-none-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | Linux glibc 2.34+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
843c006c2726d0168763fbe9aea7640d1ed30605a4c0a9e456ea453e0b05e378
|
|
BLAKE2b-256 checksum How to use checksums |
c616fd85e701b3f9d6ee873da2f83e3bd76cfc1366c440dfc577e5821f6c766a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / jlanguage-9.7.1.1-py3-none-macosx_10_9_universal2.whl
| Download URL | jlanguage-9.7.1.1-py3-none-macosx_10_9_universal2.whl |
|---|---|
| Size | 7.2 MB |
| Tags | Python 3 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
5f1df159105110ee3db6d2646cb020456c4224cc582203b08e14c9a27a5e1389
|
|
BLAKE2b-256 checksum How to use checksums |
7e3376527554c833fe67493fb3c7b75db48a09938632f740447b78c22449ac8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency log