-
Notifications
You must be signed in to change notification settings - Fork 17
Fermitools Roadmap
Don Horner edited this page Sep 12, 2019
·
20 revisions
This is general outline of the future plans for the Fermitools. This is an initial draft and will likely change.
I imagine that the releases in the list below would happen somewhat quarterly. There would likely be patch releases for bug fixes between the major items.
- 2018 Q3 Fermitools release 1.0.0
- Initial release.
- Switch to Conda for distribution.
- 2019 Q1 Patch release
- Fix problem with gtsrcmaps not working (Likelihood #10).
- Include other likelihood fixes by Eric.
- 2019 Q3 Feature Release
- Improve handling of energy dispersion (JIRA LK-141).
- Added gtdrm to write energy dispersion matrix (JIRA LK-143).
- Add other TBD enhancements or bug fixes.
- 2019 Q3 C++11 Compatibility Release
- Make the tools C++11 compatible
- Will no longer need cf201901 conda label
- These changes are prerequisites for the transition to Python 3
- Move pipeline to Micrsoft Azure.
- 2019 Q4 Python 3 transition
- Many packages used by the Tools are dropping support for Python 2 before 2020, e.g., Numpy will not be adding new features to Python 2 version starting on January 1, 2019 but will provide bug fixes for Python 2 until December 31, 2019.
- Will require changes to SWIG and SCons
- Make necessary syntax updates
- Maybe iterate major version number to 2.0.0
These are ideas that should be done but may take a long time. They could be worked on in parallel with the releases or scheduled for a specific future release.
- Increase build modularity
- Separate packages so they can be built and tested without requiring rebuilding dependencies or unrelated packages.
- This would speed up our builds and unit tests.
- Improve unit tests
- Separate flyweight and integration tests. Improve reporting.
- Possibly use some of the analysis threads that have been converted to python notebooks.
- Change to use Conda 5. What will be required for this?
- Support alternate distribution mechanisms, e.g., pip, brew, apt-get, etc.
- Better fermipy integration.
- Turn FSSC analysis threads into Jupyter notebooks.
- Add to Jenkins pipeline as tests.
- Will provide additional layer of testing and automatically generate products that can be put on web version.
- Improve/fix gtorbsim.
- Organize and deal with unresolved JIRA issues. Group them into logical blocks and assign to releases.