Roadmap (2019-2020)

This is the pyhf 2019 into 2020 Roadmap (Issue #561).

Overview and Goals

We will follow loosely Seibert’s Heirarchy of Needs

Seibert Heirarchy of Needs SciPy 2019 (Stan Seibert, SciPy 2019)

As a general overview that will include:

  • Improvements to docs

    • Add lots of examples

    • Add at least 5 well documented case studies

  • Issue cleanup

  • Adding core feature support

  • “pyhf evolution”: integration with columnar data analysis systems

  • GPU support and testing

  • Publications

    • Submit pyhf to JOSS

    • Submit pyhf to pyOpenSci

    • Start pyhf paper in 2020

  • Align with IRIS-HEP Analysis Systems NSF milestones

Time scale

The roadmap will be executed over mostly Quarter 3 of 2019 through Quarter 1 of 2020, with some projects continuing into Quarter 2 of 2020

  • 2019-Q3

  • 2019-Q4

  • 2020-Q1

  • (2020-Q2)

Roadmap

  1. Documentation and Deployment

  2. Revision and Maintenance

    • Add tests using HEPData published sbottom likelihoods (Issue #518) [2019-Q3]

    • Add CI with GitHub Actions and Azure Pipelines (PR #527, Issue #517) [2019-Q3]

    • Investigate rewrite of pytest fixtures to use modern pytest (Issue #370) [2019-Q3 → 2019-Q4]

    • Factorize out the statistical fitting portion into pyhf.infer (PR #531) [2019-Q3 → 2019-Q4]

    • Bug squashing at large [2019-Q3 → 2020-Q2]

      • Unexpected use cases (Issues #324, #325, #529)

      • Computational edge cases (Issues #332, #445)

    • Make sure that all backends reproduce sbottom results [2019-Q4 → 2020-Q2]

  3. Development

    • Batch support (PR #503) [2019-Q3]

    • Add ParamViewer support (PR #519) [2019-Q3]

    • Add setting of NPs constant/fixed (PR #653) [2019-Q3]

    • Implement pdf as subclass of distributions (PR #551) [2019-Q3]

    • Add sampling with toys (PR #558) [2019-Q3]

    • Make general modeling choices (e.g., Issue #293) [2019-Q4 → 2020-Q1]

    • Add “discovery” test stats (p0) (PR #520) [2019-Q4 → 2020-Q1]

    • Add better Model creation [2019-Q4 → 2020-Q1]

    • Add background model support (Issues #514, #946) [2019-Q4 → 2020-Q1]

    • Develop interface for the optimizers similar to tensor/backend (Issue #754, PR #951) [2019-Q4 → 2020-Q1]

    • Migrate to TensorFlow v2.0 (PR #541) [2019-Q4]

    • Drop Python 2.7 support at end of 2019 (Issue #469) [2019-Q4 (last week of December 2019)]

    • Finalize public API [2020-Q1]

    • Integrate pyfitcore/Statisfactory API [2020-Q1]

  4. Research

Roadmap as Gantt Chart

pyhf_AS_gantt

Presentations During Roadmap Timeline