[](https://github.com/cschwan/managed-lhapdf/actions/workflows/rust.yml)
[](https://codecov.io/gh/cschwan/managed-lhapdf)
[](https://docs.rs/managed-lhapdf)
[](https://crates.io/crates/managed-lhapdf)

# Description
(Unofficial) Rust bindings for the [LHAPDF](https://lhapdf.hepforge.org) C++
library, with automatic management functions. This is the successor of
<https://github.com/cschwan/lhapdf>.
# Rust feature flags
- `managed`: this feature flag enables the automatic downloading of PDFs. If
you would like to disable this feature, specify `no-default-features = true`
when depending on `managed-lhapdf`.
- `static`: when enabled, the LHAPDF library will be linked statically. This
allows to redistribute built binaries that run on systems where LHAPDF isn't
installed.
# (Un)safeness
The struct `Pdf` implements `Send` and `Sync`, which is only safe as long as
the corresponding member functions in LHAPDF are truly thread safe. The
following versions are known not to be thread safe:
- 6.4.x, see [LHAPDF merge request #27](https://gitlab.com/hepcedar/lhapdf/-/merge_requests/27)
- 6.3.x, see [LHAPDF issue #2](https://gitlab.com/hepcedar/lhapdf/-/issues/2)