Skip to main content

Interpreter for a subset of the Wolfram Language

Project description

Woxi for Python

Python bindings for Woxi, an interpreter for a subset of the Wolfram Language implemented in Rust. Woxi is a computer algebra system (CAS), so computations are solved symbolically.

pip install woxi

Python API

import woxi

woxi.interpret("Plus[1, 2]")
# => '3'

woxi.interpret("Integrate[x^2, x]")
# => 'x^3/3'

# Session state persists across calls (per thread):
woxi.interpret("x = 42;")
woxi.interpret("x + 1")
# => '43'
woxi.clear_state()

# Capture stdout, graphics, sound, and warnings:
res = woxi.evaluate('Print["hi"]; Plot[Sin[x], {x, 0, 10}]')
res.stdout    # => 'hi\n'
res.graphics  # => '<svg …'  (SVG markup)

# Reproducible random numbers:
woxi.seed_rng(1)

# Errors raise woxi.WolframError:
try:
    woxi.interpret("1 +")
except woxi.WolframError as err:
    print(err)

Command line

The package also installs a woxi command:

woxi eval 'Plus[1, 2]'     # Evaluate an expression
woxi run script.wls        # Run a Wolfram Language file
woxi repl                  # Interactive session

For the full-featured native CLI (including the Jupyter kernel), install the Rust binary instead: cargo install woxi.

Building from source

The package is built with maturin and requires a Rust toolchain:

cd woxi-py
pip install maturin
maturin develop  # Build and install into the active virtualenv

Run the tests with:

python -m pytest tests/

License

AGPL-3.0-or-later

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

woxi-0.1.0.tar.gz (4.0 MB view details)

Uploaded Source

Built Distributions

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

woxi-0.1.0-cp310-abi3-win_amd64.whl (24.7 MB view details)

Uploaded CPython 3.10+Windows x86-64

woxi-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

woxi-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (23.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

woxi-0.1.0-cp310-abi3-macosx_11_0_arm64.whl (22.8 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

woxi-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl (23.1 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file woxi-0.1.0.tar.gz.

File metadata

  • Download URL: woxi-0.1.0.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for woxi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 26e87a99215695183f735090d1245cea070a5cb7316259d758a1575cfc4b28bd
MD5 6813dc2bb3219f37fe13eb81dbd6c9cb
BLAKE2b-256 8b91d1ceff40fd71f3c05483d3b9a006ba75dc5e4e33d92317329d9ee72b95aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for woxi-0.1.0.tar.gz:

Publisher: publish-pypi.yml on ad-si/Woxi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file woxi-0.1.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: woxi-0.1.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 24.7 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for woxi-0.1.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2e1ced05714943542588f0ffb86b78b8d134e1db65ea2fdc3db2925bf643205e
MD5 b36bc120207ebdda5c43d232bc900904
BLAKE2b-256 e65214ef0675bbf92b339fd2ae1e38ad980b19af99d563892f5a61ac2e3ba670

See more details on using hashes here.

Provenance

The following attestation bundles were made for woxi-0.1.0-cp310-abi3-win_amd64.whl:

Publisher: publish-pypi.yml on ad-si/Woxi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file woxi-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for woxi-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f4244156f83b2b20c8bfc8c3d51200b8f317b881b18acf01adbf74f1498f53f
MD5 8ecd65dd775f5a50057782988a552747
BLAKE2b-256 fcaaff5424bbb877222ddad016bcfd1aafdc2e894ddce827d91667891b461cb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for woxi-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on ad-si/Woxi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file woxi-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for woxi-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8e89a88ca248e496c27b370a5c812a02c1db95fffa53c648aa0cd38a2ef5eba5
MD5 0d11b6b62452d26f343d89a834e53060
BLAKE2b-256 044ce7155d74935a3bb3de65de62bfcacd254b94323419f61cbab9214b4f4245

See more details on using hashes here.

Provenance

The following attestation bundles were made for woxi-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on ad-si/Woxi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file woxi-0.1.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: woxi-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 22.8 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for woxi-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f98440b3200b0df54e5b3805d035540336420ab3af4128ccc0dbea54ba79f77f
MD5 4a839301225e412f9ee2a0bb9bbd3515
BLAKE2b-256 51e1e03e8ce9e75f3b94624b702bafeab143d23e1de793718c8e4a23b281493b

See more details on using hashes here.

Provenance

The following attestation bundles were made for woxi-0.1.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on ad-si/Woxi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file woxi-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for woxi-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2d0a2ebdc39ffbaaeb311a758f4062d22ca5fecc0cf2fba9973a86dc59256efd
MD5 40f45a218bc3ca4c06e6421bf8b6b598
BLAKE2b-256 f60268f2e7d038aeb8788a606d6df71c55d36a821c83a3cbb13732ff4e7db0ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for woxi-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on ad-si/Woxi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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