Closed
Description
Feature
Changelog
Major
- Added support for NumPy, JAX, Tensorflow via autoray for most integrators. Refer to docs for more details.
- Huge performance improvements to VEGAS
Minor
- More tests
- New environment variable called
TORCHQUAD_LOG_LEVEL
to conveniently control loglevel, default changed to "warning" - Support for (JIT) compilation of the integration, except VEGAS
- More strict code linting with flake8 and a corresponding small code cleanup
- Docs improvements
- Custom RNG class
- Refactoring of Newton-Cotes integrators
What Needs to Be Done (chronologically)
- Create PR from
main
->develop
to incorporate hotfixes / documentation changes. - In case of merge conflicts create PR to fix them which is then merged into main.
- Review the PR
- Create PR to merge from current develop into release branch
- Write Changelog in PR and request review
- Review the PR (if OK - merge, but DO NOT delete the branch)
- Minimize packages in requirements.txt and conda-forge submission. Update packages in setup.py
- Check unit tests -> Check all tests pass and there are tests for all important features (go to cmder, activate TQ, go to tests folder, type "pytest" and run)
- Check documentation -> Check presence of documentation for all features by locally building the docs on the release
- Change version number in setup.py and docs (under conf.py)
- Trigger the Upload Python Package to testpypi GitHub Action (https://github.com/esa/torchquad/actions/workflows/deploy_to_test_pypi.yml) on the release branch (need to be logged in)
- Test the build on testpypi
- Finalize release on the release branch
- Create PR: release → main , develop -> main
- PR Reviews
- Merge release back into main, and develop
- Create Release on GitHub from the last commit (the one reviewed in the PR) reviewed
- Upload to PyPI
- Update on conda following https://conda-forge.org/docs/maintainer/updating_pkgs.html