Installation
This guide covers how to install the XAct.jl package for research use, as well as the optional verification framework for developers.
Canonical onboarding path: README → Installation → Getting Started → Typed Expressions (TExpr).
1. Quick Install (Research Use)
If you just want to use xAct for tensor calculus in Julia, you only need the Julia package.
Prerequisites
Installation
Open your Julia REPL and run:
using Pkg
Pkg.add(url="https://github.com/sashakile/XAct.jl.git")Wait for the installation to finish, then you can start using it:
using XActNext: continue to Getting Started for the first working examples.
2. Python Wrapper (xact-py)
The Python wrapper provides an idiomatic interface to the Julia core. For the full verification framework, see Developer Install.
Prerequisites
- Julia 1.12+
- Python 3.10+
- uv (recommended)
Installation
xact-py is published on PyPI. For normal use, install the latest release with:
pip install xact-pyOnly install from a repository checkout if you explicitly need unreleased changes from main or are contributing to the wrapper:
git clone https://github.com/sashakile/XAct.jl.git
cd sxAct
uv pip install -e packages/xact-pyNote: The wrapper automatically manages its Julia dependencies using juliapkg.
Next: continue to Getting Started for the first Python workflow.
3. Developer/Verification Install
The full suite includes a Python wrapper and a Dockerized Wolfram Oracle for proving implementation parity.
Prerequisites
- Julia 1.12+
- uv (recommended) or Python 3.10+
- Docker
Step A: Clone and Sync
git clone https://github.com/sashakile/XAct.jl.git
cd sxAct
uv syncStep B: Activate the Wolfram Oracle
The verification suite requires a Dockerized Wolfram Engine. You must activate it once using a free Wolfram ID:
docker compose run --rm wolfram wolframscript -activateStep C: Start the Server
docker compose up -d oracleStep D: Run Tests
uv run pytestOnce the environment is ready, use Getting Started for user-facing workflows and Contributing for development guidance.
Troubleshooting
"No valid license found" (Wolfram Engine)
The Docker container needs a one-time activation. Ensure you have run:
docker compose run --rm wolfram wolframscript -activateDocker: "Permission denied"
Ensure your user is in the docker group or prefix commands with sudo.
Julia: "Package not found"
Ensure you are using the correct URL when adding via Pkg.add(url=...).