Quickstart ========== The code can be used locally, through Docker, or as part of the MUSES calculation engine. The sections below will cover local and Docker execution. For the Calculation Engine, see the `CE Tutorial https://musesframework.io/docs/user/tutorial/Readme.html>`_. Local Usage ~~~~~~~~~~~ To download the latest version of the module, type: .. code-block:: bash git clone https://gitlab.com/nsf-muses/perturbative-qcd.git cd perturbative-qcd/src Before running the module, edit the configuration file in the `input` directory as needed. You can also use `validate_config.py` to validate the configuration and generate a template file. Running the Module ------------------ 1. Validate the configuration: .. code-block:: bash python3 validate_config.py 2. Run the module: .. code-block:: bash python3 pQCD.py Docker Container ~~~~~~~~~~~~~~~ Pull the released Docker image: .. code-block:: bash docker pull registry.gitlab.com/nsf-muses/perturbative-qcd:v1.0.0 Create local input and output directories: .. code-block:: bash mkdir -p input output Place your `config.yaml` file in the `input` directory, then run: .. code-block:: bash docker run -it --rm \ -v "$(pwd)/input:/opt/input" \ -v "$(pwd)/output:/opt/output" \ registry.gitlab.com/nsf-muses/perturbative-qcd:v1.0.0 \ bash -c "python3 validate_config.py && python3 pQCD.py" The `-v` options bind your local `input` and `output` directories to the corresponding directories inside the container. Tests ~~~~~ The unit tests can be run locally with: .. code-block:: bash pytest -q tests/unit_tests.py