Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    86 of 184 committers (46.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.6%) to scientific vocabulary

Keywords

distributed-computing grid interware workflow-management workload-management

Keywords from Contributors

cython energy-system energy-system-model genomics carpentries yapf pre-commit-hook gofmt formatter codeformatter
Last synced: 6 months ago · JSON representation

Repository

DIRAC Grid

Basic Info
  • Host: GitHub
  • Owner: DIRACGrid
  • License: gpl-3.0
  • Language: Python
  • Default Branch: integration
  • Homepage: http://diracgrid.org
  • Size: 86.1 MB
Statistics
  • Stars: 115
  • Watchers: 16
  • Forks: 183
  • Open Issues: 95
  • Releases: 312
Topics
distributed-computing grid interware workflow-management workload-management
Created almost 15 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Codeowners Security Authors

README.rst

.. -*- 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.1451647

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.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 Status


Status 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 Status

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
- [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:

.. _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-env

3. **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 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-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

Owner

  • Name: DIRAC Project
  • Login: DIRACGrid
  • Kind: organization

GitHub Events

Total
  • Fork event: 9
  • Create event: 53
  • Release event: 46
  • Issues event: 164
  • Watch event: 3
  • Delete event: 1
  • Member event: 1
  • Issue comment event: 307
  • Push event: 320
  • Gollum event: 9
  • Pull request review comment event: 179
  • Pull request event: 532
  • Pull request review event: 375
Last Year
  • Fork event: 9
  • Create event: 53
  • Release event: 46
  • Issues event: 164
  • Watch event: 3
  • Delete event: 1
  • Member event: 1
  • Issue comment event: 307
  • Push event: 320
  • Gollum event: 9
  • Pull request review comment event: 179
  • Pull request event: 532
  • Pull request review event: 375

Committers

Last synced: 11 months ago

All Time
  • Total Commits: 31,060
  • Total Committers: 184
  • Avg Commits per committer: 168.804
  • Development Distribution Score (DDS): 0.802
Past Year
  • Commits: 362
  • Committers: 14
  • Avg Commits per committer: 25.857
  • Development Distribution Score (DDS): 0.519
Top Committers
Name Email Commits
Andrei Tsaregorodtsev a****g@i****r 6,164
Federico Stagni f****i@c****h 5,119
Adria Casajus a****a@e****s 2,740
Ricardo Graciani g****i@e****s 1,999
Andrew C. Smith A****h@c****h 1,871
Philippe Charpentier P****r@c****h 1,225
Andre Sailer a****r@c****h 1,138
ubeda m****a@c****h 1,087
Stuart K. Paterson s****n@c****h 969
Christophe Haen c****n@c****h 935
Krzysztof Ciba K****a@g****m 872
Chris Burr c****r@c****h 758
TaykYoku y****k@g****m 685
Zoltan Mathe z****e@c****h 543
ricardo R****i@g****m 351
chaen c****n@p****h 280
Matvey Sapunov M****v@c****h 265
arrabito a****o@i****r 259
Wojciech Krzemien w****n@n****l 231
aldbr a****1@h****r 229
Stavros Moiras s****e@v****m 183
Marko Petric m****c@c****h 174
rupozzi r****i@c****h 156
Simon Fayer s****5@i****k 149
Vincent Bernardoff v****f@c****h 142
Gennady Kuznetsov G****v@r****k 118
Stephane Poss s****s@c****h 111
Sbalbp s****p@g****m 106
DIRACGrid CI ci@d****g 96
Daniela Bauer d****d@g****m 81
and 154 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 319
  • Total pull requests: 1,519
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 14 days
  • Total issue authors: 37
  • Total pull request authors: 27
  • Average comments per issue: 1.52
  • Average comments per pull request: 0.77
  • Merged pull requests: 1,252
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 105
  • Pull requests: 667
  • Average time to close issues: 6 days
  • Average time to close pull requests: 3 days
  • Issue authors: 12
  • Pull request authors: 16
  • Average comments per issue: 0.4
  • Average comments per pull request: 0.45
  • Merged pull requests: 536
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • DIRACGridBot (90)
  • chrisburr (48)
  • fstagni (41)
  • chaen (37)
  • aldbr (20)
  • marianne013 (13)
  • andresailer (10)
  • sfayer (9)
  • IgorPelevanyuk (8)
  • maxnoe (5)
  • acampove (4)
  • cserf (3)
  • TaykYoku (3)
  • phicharp (2)
  • michmx (2)
Pull Request Authors
  • fstagni (467)
  • DIRACGridBot (313)
  • chaen (196)
  • aldbr (191)
  • chrisburr (119)
  • andresailer (44)
  • sfayer (44)
  • atsareg (29)
  • arrabito (20)
  • martynia (15)
  • marianne013 (15)
  • simon-mazenoux (12)
  • ryuwd (10)
  • Robin-Van-de-Merghel (10)
  • gillardoLapp (6)
Top Labels
Issue Labels
sweep:failed (85) Bug (13) OAuth2 (10) WMS (10) DMS (7) documentation (7) Feature request (5) ElasticSearch (5) Task (4) Getting Started (4) Core (3) Waiting for input (3) TS (3) hackathon tests (3) Interface (2) Testing (1) Framework (1) alsoTargeting:integration (1) python3 (1)
Pull Request Labels
sweep:ignore (505) alsoTargeting:integration (479) sweep:from rel-v8r0 (432) sweep:done (280) sweep:failed (93) alsoTargeting:rel-v8r0 (19) sweep:from rel-v7r3 (6) Review OK (2)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 904,936 last-month
  • Total dependent packages: 6
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 379
  • Total maintainers: 4
  • Total advisories: 1
pypi.org: dirac

DIRAC is an interware, meaning a software framework for distributed computing.

  • Versions: 302
  • Dependent Packages: 5
  • Dependent Repositories: 1
  • Downloads: 901,642 Last month
Rankings
Downloads: 0.2%
Dependent packages count: 1.6%
Forks count: 3.9%
Stargazers count: 6.8%
Average: 6.9%
Dependent repos count: 22.2%
Maintainers (3)
Last synced: 6 months ago
conda-forge.org: dirac-grid

DIRAC (Distributed Infrastructure with Remote Agent Control) INTERWARE is a software framework for distributed computing providing 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.

  • Versions: 73
  • Dependent Packages: 1
  • Dependent Repositories: 1
Rankings
Forks count: 13.9%
Dependent repos count: 24.1%
Average: 24.9%
Dependent packages count: 28.9%
Stargazers count: 32.7%
Last synced: 6 months ago
pypi.org: diraccommon

Stateless utilities extracted from DIRAC for use by DiracX and other projects

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,294 Last month
Rankings
Dependent packages count: 8.6%
Average: 28.6%
Dependent repos count: 48.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/basic.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • conda-incubator/setup-miniconda master composite
.github/workflows/deployment.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/integration.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
.github/workflows/labeler.yml actions
  • actions/labeler v3 composite
.github/workflows/pilotWrapper.yml actions
  • actions/checkout v3 composite
.github/workflows/pr-sweep.yml actions
  • DIRACGrid/pr-sweeper main composite
  • actions/checkout v3 composite
.github/workflows/semantic.yml actions
  • gsactions/commit-message-checker v1 composite
tests/CI/docker-compose.yml docker
  • ${CI_REGISTRY_IMAGE}/${HOST_OS}-dirac latest
  • ${ES_VER} latest
  • ${IAM_VER} latest
  • ${MYSQL_VER} latest
  • adobe/s3mock latest
  • ghcr.io/diracgrid/diracx/server latest
docs/setup.py pypi
  • sphinx_rtd_theme *
pyproject.toml pypi
setup.py pypi
.github/workflows/cvmfs.yml actions
  • conda-incubator/setup-miniconda master composite
environment.yml pypi
  • Authlib >=1.0.0
  • dominate *
  • pyjwt *