Metadata-Version: 2.4
Name: lhcbdiracx
Version: 0.3.0
Summary: Client installation for users of LHCbDiracX installations
License: GPL-3.0-only
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: lhcbdiracx-api
Requires-Dist: lhcbdiracx-cli
Requires-Dist: lhcbdiracx-client
Requires-Dist: lhcbdiracx-core
Requires-Dist: diracx==0.3.0
Provides-Extra: testing
Requires-Dist: lhcbdiracx-testing; extra == "testing"
Requires-Dist: diracx[testing]==0.3.0; extra == "testing"

# LHCbDIRACx

LHCbDIRACx is a project that provides tools and services for the LHCb experiment.

This repository contains the core components, client libraries, server APIs, command-line interfaces, and other related packages for LHCbDIRACx.

## Packages

This monorepo includes the following packages:

*   `lhcbdiracx-api`: Provides the API for LHCbDIRACx services.
*   `lhcbdiracx-cli`: Provides a command-line interface for interacting with LHCbDIRACx.
*   `lhcbdiracx-client`: Client library for accessing LHCbDIRACx services.
*   `lhcbdiracx-core`: Core functionalities and utilities for LHCbDIRACx.
*   `lhcbdiracx-db`: Database interaction layer for LHCbDIRACx.
*   `lhcbdiracx-logic`: Business logic for LHCbDIRACx services.
*   `lhcbdiracx-routers`: API routing definitions.
*   `lhcbdiracx-testing`: Utilities and fixtures for testing LHCbDIRACx components.

Please refer to the README.md file within each package directory for more specific information about that package.

## TODO

### Testing

*   Coverage files aren't saved properly

### Integration tests

*   Did not yet manage to run kind on the CERN runners. Should we use a specific runner? See [GitLab Issue #1](https://gitlab.cern.ch/lhcb-dirac/lhcbdiracx/-/issues/1).


## How releases are made

Follow these bullets:
- Create a DiracX release by following the instructions that can be found at [this link](https://diracx.diracgrid.org/en/latest/admin/how-to/make-a-release/).
- Once the diracx-chart release is done, trigger by hand the `renovate` pipeline at the [Pipeline Schedules](https://gitlab.cern.ch/lhcb-dirac/lhcbdiracx/-/pipeline_schedules). This will create a MR for bumping the diracx base version. Review and merge.
- Create a lhcbdiracx [tag](https://gitlab.cern.ch/lhcb-dirac/lhcbdiracx/-/tags) (manually).
- The above [creates MR for updating lhcbdiracx-charts](https://gitlab.cern.ch/lhcb-dirac/lhcbdiracx-charts#how-releases-are-made). Once that is reviewed/merged, the release goes in production.
