root icon indicating copy to clipboard operation
root copied to clipboard

[RF] Move RooFit pythonizations to roofit and make them pip installable

Open guitargeek opened this issue 1 year ago • 1 comments

This change is improving the development workflow, now how users are getting ROOT and RooFit!

This will help with more modular RooFit builds, and it's also a big step towards making the RooFit developer experience for the pythonizations more pleasant.

The goal is that people can contribute to the RooFit pythonizations without having to interact with any CMake or C++ compilation, which was requested by our power users.

Testing changes to the pythonizations is easy now, because they can be installed easily with pip on top of an existing ROOT install, in which case this install will override the RooFit pythonizations shipped with ROOT.

This makes developing the pythonizations much easier!

A README is added to roofit/pythonizations that outlines the steps as follows:

Therefore, the easiest and recommended way to develop RooFit pythonizations is as follows:

  1. Make sure ROOT and RooFit are installed on your system
  2. Clone the ROOT repository and go inside the roofit/pythonizations directory
  3. Install with pip install -e . for an editable install (virtual environment recommended)
  4. Any changes to the RooFit pythonizations will be in effect immediately without recompiling or installing anything!
  5. Make your changes, open PR to ROOT repository

guitargeek avatar Oct 05 '24 11:10 guitargeek

Test Results

    17 files      17 suites   4d 3h 56m 15s :stopwatch:  2 714 tests  2 713 :white_check_mark: 0 :zzz: 1 :x: 43 530 runs  43 529 :white_check_mark: 0 :zzz: 1 :x:

For more details on these failures, see this check.

Results for commit a77b9a9a.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Oct 05 '24 15:10 github-actions[bot]

Would need a complete redo if we were to decide to go this route.

guitargeek avatar Dec 04 '25 20:12 guitargeek