Skip to content

NeoPDF

Codecov MSRV Crates.io PyPI - Python Version PyPI - Version GitHub License GitHub repo size

NeoPDF is a fast, reliable, and scalable interpolation library for both Collinear Parton Distribution Functions (PDFs) and Transverse Momentum Dependent Distributions (TMDs) with modern features, designed for both present and future hadron collider experiments. It aims to be a modern, high-performance alternative to both LHAPDF and TMDlib, focusing on:

🚀 Performance

Written in Rust 🦀 for speed and safety, with zero-cost abstractions and efficient memory management.

🧩 Flexibility

Easy support for different interpolation strategies: efficient implementation of custom interpolations.

🌐 Multi-Language Support

Native Rust 🦀 API, with bindings for various programming languages such as Python 🐍, Fortran, C, and C++.

📊 (Physics) Features & Extensibility

Very extensible: makes it easy to introduce new (Physics) features without introducing technical debts.

Motivation

The need for a fast and reliable PDF interpolation is critical in high-energy physics, especially for precision calculations at hadron colliders. Existing solutions like LHAPDF or TMDlib, while widely used, have limitations in terms of extensibility and features. NeoPDF addresses these by:

  • Providing a modern, modular codebase.
  • Enabling easy integration into new and existing workflows.
  • Supporting advanced features such as multi-dimensional interpolations.

High-Level Architecture

  • Core Library (Rust): Implements all the interpolation logics, grid management, and PDF metadata handling.
  • FFI Bindings: Exposes the core functionalities to Python, Fortran, C, and C++, enabling easier interoperability with other codes that can link to these programming languages.
  • CLI Tools: Command-line utilities that allow users to inspect the contents of a gird, convert LHAPDF/TMDlib format into NeoPDF, and perform interpolations.

Getting Started


Additional Resources

For more information about NeoPDF development, see the Design and Features documentation.