Contributing to FAST-HEP

Thank you for your interest in contributing to FAST-HEP.

FAST-HEP is a modular ecosystem for declarative High Energy Physics workflows, analysis tooling, rendering, and metadata management.

We welcome contributions of all sizes, including:

Workflow examples should:

Additional guidance and workshop-specific conventions are documented in fasthep-workshop.

Development model#

FAST-HEP is developed as a collection of focused packages:

The ecosystem integration workspace is:

Development workflow#

Typical workflow:

  1. Open an issue or discussion
  2. Create a branch
  3. Implement changes
  4. Run local checks
  5. Open a pull request
  6. Review and iterate

For substantial refactors or architectural changes, please discuss the proposal before investing significant implementation effort.

Where practical, prefer smaller incremental pull requests over large monolithic changes.

Development environment#

The recommended development environment is based on:

Most repositories support:

pixi install
pixi run ci

The fasthep-dev workspace provides:

Contributors working across multiple FAST-HEP packages are encouraged to use fasthep-dev.

Coding standards#

FAST-HEP aims to prioritize:

General guidelines:

We use:

Most repositories support:

pixi run lint
pixi run typecheck
pixi run test
pixi run ci

Documentation#

Documentation improvements are highly valued.

Useful contributions include:

Where possible:

AI-assisted contributions#

AI-assisted contributions are welcome.

However, contributors remain responsible for the code they submit.

Contributors should:

Pull requests containing substantial AI-generated or AI-assisted changes should include:

This additional context helps maintain:

Reviewers may reject contributions that:

AI tools are intended to assist contributors, not replace engineering understanding or reviewer accountability.

Testing expectations#

New functionality should generally include:

Tests should:

Design philosophy#

FAST-HEP intentionally separates:

This modularity helps:

Contributors are encouraged to preserve these boundaries where possible.

Releases#

Packages are released independently.

The fasthep meta package is used to provide:

The fasthep-dev workspace is intended to support future ecosystem-level release orchestration and integration validation.

Communication#

Project discussions and questions:

Bug reports and feature requests:

License#

By contributing to FAST-HEP, you agree that your contributions will be licensed under the BSD-3-Clause license used by the project.

On this page