Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/diracgrid/dirac
DIRAC Grid
https://github.com/diracgrid/dirac
distributed-computing grid interware workflow-management workload-management
Last synced: 6 days ago
JSON representation
DIRAC Grid
- Host: GitHub
- URL: https://github.com/diracgrid/dirac
- Owner: DIRACGrid
- License: gpl-3.0
- Created: 2011-04-06T11:47:53.000Z (almost 14 years ago)
- Default Branch: integration
- Last Pushed: 2024-10-29T11:59:21.000Z (2 months ago)
- Last Synced: 2024-10-29T13:37:07.314Z (2 months ago)
- Topics: distributed-computing, grid, interware, workflow-management, workload-management
- Language: Python
- Homepage: http://diracgrid.org
- Size: 84.2 MB
- Stars: 114
- Watchers: 18
- Forks: 176
- Open Issues: 94
-
Metadata Files:
- Readme: README.rst
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
.. -*- mode: rst -*-
DIRAC
=====.. image:: https://badge.fury.io/py/DIRAC.svg
:target: https://badge.fury.io/py/DIRAC
.. image:: https://img.shields.io/conda/vn/conda-forge/dirac-grid
:target: https://github.com/conda-forge/dirac-grid-feedstock
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1451647.svg
:target: https://doi.org/10.5281/zenodo.1451647DIRAC 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.9.
Status rel-v8r0 series (stable, recommended):
.. image:: https://github.com/DIRACGrid/DIRAC/workflows/Basic%20tests/badge.svg?branch=rel-v8r0
:target: https://github.com/DIRACGrid/DIRAC/actions?query=workflow%3A%22Basic+tests%22+branch%3Arel-v8r0
:alt: Basic Tests Status.. image:: https://github.com/DIRACGrid/DIRAC/workflows/pilot%20wrapper/badge.svg?branch=rel-v8r0
:target: https://github.com/DIRACGrid/DIRAC/actions?query=workflow%3A%22pilot+wrapper%22+branch%3Arel-v8r0
:alt: Pilot Wrapper Status.. image:: https://github.com/DIRACGrid/DIRAC/workflows/Integration%20tests/badge.svg?branch=rel-v8r0
:target: https://github.com/DIRACGrid/DIRAC/actions?query=workflow%3A%22Integration+tests%22+branch%3Arel-v8r0
:alt: Integration Tests Status.. image:: https://readthedocs.org/projects/dirac/badge/?version=rel-v8r0
:target: http://dirac.readthedocs.io/en/rel-v8r0/
:alt: Documentation StatusStatus integration branch (devel):
.. image:: https://github.com/DIRACGrid/DIRAC/workflows/Basic%20tests/badge.svg?branch=integration
:target: https://github.com/DIRACGrid/DIRAC/actions?query=workflow%3A%22Basic+tests%22+branch%3Aintegration
:alt: Basic Tests Status.. image:: https://github.com/DIRACGrid/DIRAC/workflows/pilot%20wrapper/badge.svg?branch=integration
:target: https://github.com/DIRACGrid/DIRAC/actions?query=workflow%3A%22pilot+wrapper%22+branch%3Aintegration
:alt: Pilot Wrapper Status.. image:: https://github.com/DIRACGrid/DIRAC/workflows/Integration%20tests/badge.svg?branch=integration
:target: https://github.com/DIRACGrid/DIRAC/actions?query=workflow%3A%22Integration+tests%22+branch%3Aintegration
:alt: Integration Tests Status.. image:: https://readthedocs.org/projects/dirac/badge/?version=integration
:target: http://dirac.readthedocs.io/en/integration/
:alt: Documentation StatusImportant 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
- [ARCHIVED] Support Mailing list: https://groups.google.com/forum/#!forum/diracgrid-forumInstall
=======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:
.. _conda: https://conda.io/en/latest/index.html
.. |conda| replace:: **Conda**
.. _mamba: https://github.com/mamba-org/mamba#the-fast-cross-platform-package-manager
.. |mamba| replace:: **Mamba**
.. _condaforge: https://github.com/mamba-org/mamba#the-fast-cross-platform-package-manager
.. |condaforge| replace:: **conda-forge**1. **DIRACOS2:** This is the only fully supported method, see the `DIRACOS 2 documentation `__.
2. |conda|_ **/** |mamba|_ **from** |condaforge|_ **:**
We recommend making a new environment for DIRAC using.. code-block:: bash
mamba create --name my-dirac-env -c conda-forge dirac-grid
conda activate my-dirac-env3. **Pip:** 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.. code-block:: bash
git clone [email protected]:$GITHUB_USERNAME/DIRAC.git
cd DIRAC
git remote add upstream [email protected]:DIRACGrid/DIRAC.git
git fetch --all
git checkout upstream/integration
git checkout -b my-feature-branch
git push -u origin my-feature-branch- `Create 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:
.. code-block:: bash
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
|eu-logo| |eosc-hub-web|
.. |eu-logo| image:: https://raw.githubusercontent.com/DIRACGrid/DIRAC/integration/docs/source/_static/eu-logo.jpeg
.. |eosc-hub-web| image:: https://raw.githubusercontent.com/DIRACGrid/DIRAC/integration/docs/source/_static/eosc-hub-web.png