ACTS Common Tracking Software
or A Common Tracking Software if you do not like recursive acronyms
ACTS is an experiment-independent toolkit for (charged) particle track reconstruction in (high energy) physics experiments implemented in modern C++.
More information can be found in the ACTS documentation.
Installation
The easiest way to get the ACTS Python bindings is via PyPI:
pip install pyacts
The pyacts distribution includes bindings for the core library, Fatras, and
the Examples framework.
Warning The PyPI package does not include all optional plugins (e.g. DD4hep/ODD, Geant4, ROOT). To use those, build from source with the relevant CMake options enabled.
Note Even though the name of the PyPI package is
pyacts, the python module must be imported asimport acts.
The wheel includes .pyi type stubs and supports Linux and macOS with Python 3.11 or newer.
For a source build, enable the Python bindings and Examples framework, then load the generated
<build>/this_acts_withdeps.sh script before importing acts:
cmake -B <build> -S <source> -DACTS_BUILD_PYTHON_BINDINGS=ON -DACTS_BUILD_EXAMPLES=ON
cmake --build <build> --target ActsPythonBindings
source <build>/this_acts_withdeps.sh
Enable optional components with their CMake options. For ROOT readers, writers, and evaluation,
use -DACTS_BUILD_EXAMPLES_ROOT=ON; this also enables the ROOT plugin. A source build needs Python
development headers. The ActsPythonBindings target builds the enabled bindings, and the setup
script adds the built modules and dependencies to your environment.
| Capability | PyPI (pyacts) |
Full installation (source build) |
|---|---|---|
| Plugins | Arrow, JSON | All available plugins, including ROOT, DD4hep, or Geant4 |
| I/O | CSV, Parquet, particle and sim-hit ROOT uproot readers |
Additionally native ROOT and EDM4hep |
| Geometry | GenericDetector, Tracking geometry from JSON |
Directly build detector geometries with DD4hep or TGeo |
| Evaluation | In-memory performance writers and plotting in Python | Additionally native ROOT performance writers |
Getting started
An acts.examples.Sequencer runs readers, algorithms, and writers over events. This first script
generates muons and prints them; it works with the PyPI wheel:
import acts
from acts import UnitConstants as u
import acts.examples
from acts.examples.simulation import (
EtaConfig,
MomentumConfig,
ParticleConfig,
addParticleGun,
)
s = acts.examples.Sequencer(events=5, numThreads=1)
addParticleGun(
s,
momentumConfig=MomentumConfig(1 * u.GeV, 10 * u.GeV, transverse=True),
etaConfig=EtaConfig(-2.0, 2.0),
particleConfig=ParticleConfig(1, acts.PdgParticle.eMuon),
rnd=acts.examples.RandomNumbers(seed=42),
printParticles=True,
)
s.run()
For convenience, the package contains helpers in acts.examples.simulation and acts.examples.reconstruction that add entire workflow steps with addXYZ-functions (such as simulation, seeding, ...)
and connect their data keys. For full flexibility, the underlying sequencer algorithms can be directly configured as well. For simple but complete chains, see the
PyPI finding and fitting demo
or the truth-tracking Kalman example
(source build). Their helper signatures and default keys are in
simulation.py
and reconstruction.py.
Metadata
Release files for pyacts 48.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pyacts-48.1.0-cp314-cp314-manylinux_2_34_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.34+ x86-64 | Details |
| pyacts-48.1.0-cp314-cp314-macosx_26_0_arm64.whl | CPython 3.14 | CPython 3.14 | macOS 26.0+ ARM64 | Details |
| pyacts-48.1.0-cp313-cp313-manylinux_2_34_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.34+ x86-64 | Details |
| pyacts-48.1.0-cp313-cp313-macosx_26_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 26.0+ ARM64 | Details |
| pyacts-48.1.0-cp312-cp312-manylinux_2_34_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ x86-64 | Details |
| pyacts-48.1.0-cp312-cp312-macosx_26_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 26.0+ ARM64 | Details |
| pyacts-48.1.0-cp311-cp311-manylinux_2_34_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.34+ x86-64 | Details |
| pyacts-48.1.0-cp311-cp311-macosx_26_0_arm64.whl | CPython 3.11 | CPython 3.11 | macOS 26.0+ ARM64 | Details |
Total release size: 180.0 MB
Release files / pyacts-48.1.0-cp314-cp314-manylinux_2_34_x86_64.whl
| Download URL | pyacts-48.1.0-cp314-cp314-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 27.2 MB |
| Tags | CPython 3.14 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
24448d0523bac3d20256b9247708430eeddcf1aaf4185c9029192479ed4b9308
|
|
BLAKE2b-256 checksum How to use checksums |
28c86f205c2be968db9a678e4b4d844a48538b5c85c89ae3d2a2abc0797c3d8c
|
| 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 12, 2026.
Transparency logRelease files / pyacts-48.1.0-cp314-cp314-macosx_26_0_arm64.whl
| Download URL | pyacts-48.1.0-cp314-cp314-macosx_26_0_arm64.whl |
|---|---|
| Size | 17.8 MB |
| Tags | CPython 3.14 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
75eefd39cc0124212a4657b138ecc5a71ae7823374f12edd33e76aaa1578a414
|
|
BLAKE2b-256 checksum How to use checksums |
251b7404bed2f1d0e335b45e84a186d34fcdbfe539347833942fdb632b4de5b7
|
| 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 12, 2026.
Transparency logRelease files / pyacts-48.1.0-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | pyacts-48.1.0-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 27.2 MB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
39ee4f341178213dd3d178500f64c3a8c40ae165cb201db596fc54b6a5b0dc7a
|
|
BLAKE2b-256 checksum How to use checksums |
157b80298f6a506e6b71bc9dd0b4ebaca3d29bd4b25c0e4a3b7a21b81c2fd222
|
| 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 12, 2026.
Transparency logRelease files / pyacts-48.1.0-cp313-cp313-macosx_26_0_arm64.whl
| Download URL | pyacts-48.1.0-cp313-cp313-macosx_26_0_arm64.whl |
|---|---|
| Size | 17.8 MB |
| Tags | CPython 3.13 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8d3823d9ef5f1478690d14cc600cc651a8050277fd658fc8c9039570b192e3f8
|
|
BLAKE2b-256 checksum How to use checksums |
7c1e8068e928e9dbf8cdb542c5371e45f8261b63973fe6692538199201dc1499
|
| 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 12, 2026.
Transparency logRelease files / pyacts-48.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | pyacts-48.1.0-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 27.2 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
8fe1fd1b7f7088b82220a078dc36ac0d9272689d8c244479e06663f93d890a9b
|
|
BLAKE2b-256 checksum How to use checksums |
29336220d8535756699f9635dd3114f67979e5b6ece50ce8a144f97e0dace964
|
| 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 12, 2026.
Transparency logRelease files / pyacts-48.1.0-cp312-cp312-macosx_26_0_arm64.whl
| Download URL | pyacts-48.1.0-cp312-cp312-macosx_26_0_arm64.whl |
|---|---|
| Size | 17.8 MB |
| Tags | CPython 3.12 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a8ea19785ef1a0b389929ea08fdeb5bdf0c18f5a9b91f0a354acb47ccb1f9b5d
|
|
BLAKE2b-256 checksum How to use checksums |
6d7b64dfc949c233589d3d9c6fc9510d4280541cee1375754a8090b808ac667b
|
| 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 12, 2026.
Transparency logRelease files / pyacts-48.1.0-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | pyacts-48.1.0-cp311-cp311-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 27.2 MB |
| Tags | CPython 3.11 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
52c9560ef741df0507b34a6a2cbbcd6813c407371165deef1b7584bd062b9beb
|
|
BLAKE2b-256 checksum How to use checksums |
bbf359d9be32deff973a423182010c7a992ee071b2dddf5d4d65ebfa98eb2399
|
| 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 12, 2026.
Transparency logRelease files / pyacts-48.1.0-cp311-cp311-macosx_26_0_arm64.whl
| Download URL | pyacts-48.1.0-cp311-cp311-macosx_26_0_arm64.whl |
|---|---|
| Size | 17.8 MB |
| Tags | CPython 3.11 macOS 26.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
674b53933438ed10625636438fb76c78137085eee2ab7eecdc5c74b9777d6d80
|
|
BLAKE2b-256 checksum How to use checksums |
bbe479591ee67e7d93d0542bc46eedb027442f86ac5e8fe07c353d80cbc1f253
|
| 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 12, 2026.
Transparency log