DIRAC
DIRAC is an interware, meaning a software framework for distributed computing.
DIRAC provides a complete solution to one or more user community requiring access to distributed resources. DIRAC builds a layer between the users and the resources offering a common interface to a number of heterogeneous providers, integrating them in a seamless manner, providing interoperability, at the same time as an optimized, transparent and reliable usage of the resources.
DIRAC has been started by the LHCb collaboration who still maintains it. It is now used by several communities (AKA VO=Virtual Organizations) for their distributed computing workflows.
DIRAC is written in python 3.11.
Status rel-v8r0 series (stable, recommended):
Status integration branch (devel):
Important links
Official source code repo: https://github.com/DIRACGrid/DIRAC
HTML documentation (stable release): http://diracgrid.org (http://dirac.readthedocs.io/en/latest/index.html)
Issue tracker: https://github.com/DIRACGrid/DIRAC/issues
Discussions: https://github.com/DIRACGrid/DIRAC/discussions
Developer’s mailing list: diracproject-users@cern.ch
Site administrator’s mailing list: diracproject-admins@cern.ch
[ARCHIVED] Support Mailing list: https://groups.google.com/forum/#!forum/diracgrid-forum
Install
There are basically 2 types of installations: client, and server.
For DIRAC client installation instructions, see the web page.
For DIRAC server installation instructions, see the web page.
DIRAC 8.0 drops support for Python 2 based clients and servers.
There are three available options for installation:
DIRACOS2: This is the only fully supported method, see the DIRACOS 2 documentation.
Conda / Mamba from conda-forge : We recommend making a new environment for DIRAC using
mamba create --name my-dirac-env -c conda-forge dirac-grid conda activate my-dirac-envPip: Provided suitable dependencies are available DIRAC can be installed with pip install DIRAC. Support for installing the dependencies should be sought from the upstream projects.
Development
For the full development guide see here, some of the most important details are included below.
Contributing
DIRAC is a fully open source project, and you are welcome to contribute to it. A list of its main authors can be found here A detailed explanation on how to contribute to DIRAC can be found in this page. For a quick’n dirty guide on how to contribute, simply:
Fork the project inside the GitHub UI
Clone locally and create a branch for each change
git clone git@github.com:$GITHUB_USERNAME/DIRAC.git cd DIRAC git remote add upstream git@github.com:DIRACGrid/DIRAC.git git fetch --all git checkout upstream/integration git checkout -b my-feature-branch git push -u origin my-feature-branchCreate a Pull Request, targeting the “integration” branch.
Code quality
To ensure the code meets DIRAC’s coding conventions we recommend installing pre-commit system wide using your operating system’s package manager. Alteratively, pre-commit is included in the Python 3 development environment, see the development guide for details on how to create one.
Once pre-commit is installed you can enable it by running:
pre-commit install --allow-missing-config
Code formatting will now be automatically applied before each commit.
Testing
Unit tests are provided within the source code and can be ran using pytest. Integration, regression and system tests are instead in the DIRAC/tests/ directory.
Acknowledgements
This work is co-funded by the EOSC-hub project (Horizon 2020) under Grant number 777536
Release files for DIRAC 9.1.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dirac-9.1.18.tar.gz | 2.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dirac-9.1.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.8 MB
Release files / dirac-9.1.18.tar.gz
| Download URL | dirac-9.1.18.tar.gz |
|---|---|
| Size | 2.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
658e928b21c51343789c0bfa8c33e40ff4ce9d38c54f8e6515a0c48684cf6a8e
|
|
BLAKE2b-256 checksum How to use checksums |
f9ba9911ab18d21877c90ff57fce3336ca39da45c8b589a979312d69b1347070
|
| 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 Sep 14, 2026.
Transparency logRelease files / dirac-9.1.18-py3-none-any.whl
| Download URL | dirac-9.1.18-py3-none-any.whl |
|---|---|
| Size | 2.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fac16f52b6ada75700b49d6932c25c70ce783cf74208940dee951f777aaa8756
|
|
BLAKE2b-256 checksum How to use checksums |
30fc7722287563ced7feaff9277c3660a931b6c5208297aa6218992bed3e6c52
|
| 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 Sep 14, 2026.
Transparency log