---
title: "Compatibility and limitations"
description: "Check installed versions, build information, compatibility, and feature limitations."
eyebrow: "API reference"
---

## Checking version information {#record}

Check the package version in the Python environment where ArcTN is installed:

```bash
python -c 'import arctn; print(arctn.__version__)'
```

When using Rust source, build from the repository root and inspect the command-line build information:

```bash
cargo run --release --bin tnpath -- --build-info
```

Build information includes the source version and whether optional features such as `mt` and `mpi` are enabled. It describes the executable built from the current source, which may differ from the package installed in your Python environment.

## Feature limitations {#limits}

- `slicing_mode` supports `fixed` and `dynamic`.
- The native ArcTN backend uses the CPU. GPU computation uses an explicitly selected external array backend.
- Light / Heavy use heuristic search and do not guarantee global optimality. Rust `optimal_dp` provides subset dynamic programming; the number of tensor subsets grows rapidly, so it suits smaller networks. See [Dynamic programming](/docs/structured-search). It is a standalone algorithm, outside the Python Light / Heavy interface.
- `max_time` takes effect at algorithm checkpoints and does not forcibly interrupt the process. Strict total-time limits require an external timeout or job scheduler.
- Building with `--features mpi` enables `tnmpi`, which distributes the slices in a saved plan among processes and combines their results. `--dtype` supports `f32`, `f64`, `complex64`, and `complex128`, defaulting to `f64`; see [MPI sliced execution](/docs/mpi).
- ArcTN does not approximate contractions through low-rank truncation or provide an automatic differentiation system or global error bounds for approximate results. Differentiability with external array backends depends on the backend and the operations actually used.

## Source and changes {#source}

- [GitHub repository](https://github.com/Quill-ArcLight/arctn-public) — publicly shareable source, tests, and issue tracking. It excludes the Light / Heavy implementation and currently requires organization authorization.
- [Installation](/docs/installation) — building the Rust crate and Python wheel.
- [Validating inputs and handling errors](/docs/validation) — checks for networks, arrays, and path files, plus common exceptions.
