.cargo/config.toml
: configuration file that adds support for cargo-xtask.github/workflows/
: files that steer the CI, see belowcapi.yml
: compiles, installs and tests the CAPI by running the the C, C++ and Fortran examples. It also creates code coverage of the CAPIcontainer.yml
: creates the container, which is used in many CI jobs. This github action must be run manually if a new container should be createdmsrv.yml
: checks whether the Rust code conforms to the MSRV specified in the top-mostCargo.toml
filepython.yml
: checks the Python bindingsrelease.yml
: this action creates a new release whenever a certain git tag is pushed to the repository. It then uploads pre-compiled libraries of the CAPI for Linux, MacOS and Windows to Github, publishes the crates to https://crates.io/ and the Python wheels to https://pypi.org/. Finally, it creates a new release on PineAPPL's Github release page. You can manually run this workflow from any branch to check whether it works, if there's no tag no actual release will be made.rust.yml
: checks whether the Rust code succesfully compiles and generates code coverage
.github/codecov.yml
: configuration file for PineAPPL's codecov page_includes/head-custom.html
: this file is part of PineAPPL's Github-pages website and includes KaTeX to support rendering formulasdocs
: houses the markdown files and images used to render PineAPPL's Github-pages websiteexamples
: contains examples programs to learn how to use PineAPPL's C, C++, Fortran and Python APIsmaintainer
: contains maintainer-specific toolspineappl
: the main Rust crate, documentation at https://docs.rs/pineapplpineappl_applgrid
: interface to APPLgrid, which the CLI uses to convert APPLgrids to PineAPPL grids (and vice versa)pineappl_capi
: the crate that builds PineAPPL's CAPI, documentation at https://docs.rs/pineappl_capipineappl_cli
: the crate that builds PineAPPL's CLIpineappl_fastnlo
: interface to fastNLO, which the CLI uses to convert fastNLO tables to PineAPPL gridspineappl_py
: the crate that builds PineAPPL's Python interface, documentation at https://pineappl.readthedocs.ioxtask
: crate for cargo-xtask commands.gitignore
: PineAPPL's Git ignore rules.readthedocs.yml
: configuration for PineAPPL's Read-the-Docs Python interface documentationCHANGELOG.md
: change log for the code part of this repositoryCONTRIBUTING.md
: rules for how to contribute to this repositoryCargo.lock
: Cargo lock fileCargo.toml
: Cargo configuration fileLICENSE
: GNU General public license v3README.md
: PineAPPL's repository README file. This file also serves as the homepage of PineAPPL's website_config.yml
: configuration file for PineAPPL's Github-pages websiteinstall-capi.sh
: POSIX-compliant shell script to download and install PineAPPL's pre-built CAPI.pre-commit-config.yaml
: pre-commit hooks configuration
- CAPI: C application programmer's interface, a bunch of C functions that allow to PineAPPL without Rust. The CAPI allows C, C++ and Fortran programmers to use PineAPPL
- Cargo: Rust's package manager
- CI: continuous integration, the Github actions that run for every commit pushed to the PineAPPL repository
- CLI: command-line interface, the program
pineappl
that allow quick operations on PineAPPL grids - code coverage: this tests which percentage of lines of code are run in the CI through tests. The lower this number, the more likely it is that bugs and regressions are introduced without noticing them
- container: bundles software with its dependencies in a way that it can be run reliably on different computers
- MSRV: minimally supported Rust version, the lowest version of the Rust
compiler toolchain with which PineAPPL can be built. Run
cargo --version
to figure which version you've got
- Codecov: https://app.codecov.io/gh/NNPDF/pineappl
- Conda: https://github.com/conda-forge/pineappl-feedstock
- Crates.io: https://crates.io/crates/pineappl
- PyPI: https://pypi.org/project/pineappl
- ReadTheDocs: https://pineappl.readthedocs.io
- Zenodo: https://zenodo.org/records/10700087
We also store testing data in https://data.nnpdf.science/pineappl/test-data.