Utilities and API for accessing MCPL (.mcpl) files
Project description
MCPL - Monte Carlo Particle Lists
MCPL files, with extensions .mcpl and .mcpl.gz is a binary format for usage
in physics particle simulations. It contains lists of particle state
information, and can be used to interchange or reuse particles between various
Monte Carlo simulation applications. The format itself is formally described in:
T. Kittelmann, et al., Monte Carlo Particle Lists: MCPL, Computer Physics Communications 218, 17-42 (2017), https://doi.org/10.1016/j.cpc.2017.04.012
All MCPL code is provided under the highly liberal open source Apache 2.0 license (http://www.apache.org/licenses/LICENSE-2.0), and further instructions and documentation can be found at https://mctools.github.io/mcpl/.
The mcpl package
Technically, the mcpl package is a meta-package which pulls in both
mcpl-core and mcpl-python packages for installation. Advanced users needing
only a subset of functionality might elect to install only one of those packages
instead, however most users are simply recommended to install the mcpl package
for convenience.
The utilities provided by this package thus include utilities for working with
MCPL files, either via the command-line (the mcpltool and pymcpltool
commands), or via dedicated APIs in C, C++, and python.
Scientific reference
Copyright 2015-2025 MCPL developers.
This software was mainly developed at the European Spallation Source ERIC (ESS) and the Technical University of Denmark (DTU). This work was supported in part by the European Union's Horizon 2020 research and innovation programme under grant agreement No 676548 (the BrightnESS project).
All MCPL files are distributed under the Apache 2.0 license, available at http://www.apache.org/licenses/LICENSE-2.0, as well as in the LICENSE file found in the source distribution.
A substantial effort went into developing MCPL. If you use it for your work, we would appreciate it if you would use the following reference in your work:
T. Kittelmann, et al., Monte Carlo Particle Lists: MCPL, Computer Physics Communications 218, 17-42 (2017), https://doi.org/10.1016/j.cpc.2017.04.012
Support for specific third party applications
Note that some users might also wish to additionally install the mcpl-extra
package, which contains cmdline tools for converting between the binary data
files native to some third-party Monte Carlo applications (currently PHITS and
MCNP[X/5/6]). Users of Geant4 might wish to install the mcpl-geant4 package,
which provides C++ classes (and CMake configuration code) for integrating MCPL
I/O into Geant4 simulations. Finally, many Monte Carlo applications have
directly integrated support for MCPL I/O into their codes. At the time of
writing, the list of applications with known support from MCPL I/O includes:
- McStas (built in)
- McXtrace (built in)
- OpenMC (built in)
- Cinema/Prompt (built in)
- VITESS (built in)
- RESTRAX/SIMRES (built in)
- McVine (built in)
- MCNPX, MCNP5, MCNP6 (based on
ssw2mcpl/mcpl2sswfrom themcpl-extrapackage) - PHITS (based on
phits2mcpl/mcpl2phitsfrom themcpl-extrapackage) - Geant4 (based on C++/CMake code from the
mcpl-geant4package)
Note that instructions for installation and setup of third-party products like those listed above are beyond the scope of the MCPL project. Please refer to the products own instructions for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcpl-2.0.0.tar.gz.
File metadata
- Download URL: mcpl-2.0.0.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1212e15329cc6f53d31dc819a3ac27a571cfd07c237bb03a9e491aaad2f43bbc
|
|
| MD5 |
716407f71e69a7e72929d681e3e63e23
|
|
| BLAKE2b-256 |
7612fd65d9f2259810e8ad4f15beb056e6c1972d1a3d6ffd72faa7a20d89908d
|
Provenance
The following attestation bundles were made for mcpl-2.0.0.tar.gz:
Publisher:
pypi.yml on mctools/mcpl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcpl-2.0.0.tar.gz -
Subject digest:
1212e15329cc6f53d31dc819a3ac27a571cfd07c237bb03a9e491aaad2f43bbc - Sigstore transparency entry: 202303347
- Sigstore integration time:
-
Permalink:
mctools/mcpl@2385baf8b4ebb7266beec39612bbb534ec68b320 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/mctools
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@2385baf8b4ebb7266beec39612bbb534ec68b320 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcpl-2.0.0-py3-none-any.whl.
File metadata
- Download URL: mcpl-2.0.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3b256b73ae85c6d59bbea920a683645de68dd8f951beea7b95468f600570e6c
|
|
| MD5 |
75aa7ac2a6b043529742a89106bc045c
|
|
| BLAKE2b-256 |
fe280f41afaa2c4bd41e879f9f46813996230c0785e3339e91efac92dc02b022
|
Provenance
The following attestation bundles were made for mcpl-2.0.0-py3-none-any.whl:
Publisher:
pypi.yml on mctools/mcpl
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcpl-2.0.0-py3-none-any.whl -
Subject digest:
c3b256b73ae85c6d59bbea920a683645de68dd8f951beea7b95468f600570e6c - Sigstore transparency entry: 202303368
- Sigstore integration time:
-
Permalink:
mctools/mcpl@2385baf8b4ebb7266beec39612bbb534ec68b320 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/mctools
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@2385baf8b4ebb7266beec39612bbb534ec68b320 -
Trigger Event:
push
-
Statement type: