Releases: denehoffman/rustitude
v0.8.0 - The "bin there, done that" release
Another big update! This one overhauls the split_m mechanism by allowing users to run ELL calculations over a subset of events by index. This is all handled nicely in the Python API with the new function rustitude.minimizer
which handles all your minimization needs! This update automatically includes support for Minuit fitting algorithms via iminuit
as well as all scipy.optimize.minimize
algorithms (and custom ones if you really want via the scipy interface).
What's Changed
- Development updates by @denehoffman in #15
- chore: release by @denehoffman in #16
Full Changelog: v0.7.4...v0.8.0
The "roll your own" release
This release primarily adds the ability to write your own Nodes in Python using the rustitude.Node and rustitude.PyNode classes. It also adds some preliminary documentation for the Python API via readthedocs.io.
What's Changed
- PyNode implementation and docs by @denehoffman in #13
- chore: release by @denehoffman in #14
Full Changelog: v0.7.3...v0.7.4
The "activated" release
Fixed amplitude activation/deactivation and added some unit tests!
What's Changed
- Some hotfixes, some tests by @denehoffman in #11
- chore: release by @denehoffman in #12
Full Changelog: v0.7.2...v0.7.3
The "oops, missed a spot" release
This release fixes a lot of little bugs in the GlueX amplitudes, including a few misplaced digits in the K-matrix constants. It also adds some basic logging to the rustitude-core crate and fixes the tree printing for Amplitude-like structs. I added more sensible Debug/Display settings for Amplitudes and related structs, and deprecated the norm_int methods, which I believe are not really necessary (I hope).
What's Changed
- Development updates by @denehoffman in #9
- chore: release by @denehoffman in #10
Full Changelog: v0.7.1...v0.7.2
The "finally, it's just a patch" release
Not much new here, a few bug fixes, a few improvements. See the changelog for more details.
What's Changed
- chore: release by @denehoffman in #7
Full Changelog: v0.7.0...v0.7.1
v0.7.0: It's faster now!
This release includes some major (breaking) changes to the amplitude
API, but the benefit is a speed increase of around 60% according to some benchmarks.
First, we got rid of a few unnecessary allocations which were happening quite a lot inside the main loop. Second, we got rid of a match statement which was also happening multiple times inside that same loop. This theoretically improves branch prediction and maybe even some cache locality, which speeds things up a ton!
Note that the main changes for developers (I figure I'm the only one at this point, but this is for posterity) are that AmpOp
was removed, we can just return Amplitude
s and interact with those. The rest of the breaking changes are a bit behind the curtain, but there are also par_ and regular versions of most of the end-stage computation methods just to allow for profiling without rayon
. This shouldn't change the Python API at all.
rustitude v0.6.0
Style
- add KaTeX header to all docs
New Features (BREAKING)
- implemented norm_int functions and CohSum
This feature is designed to allow for the correct implementation of
normalization integrals. Thanks to Lawrence Ng for pointing this out to
me.
Commit Statistics
- 4 commits contributed to the release over the course of 11 calendar days.
- 11 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
rustitude-gluex v0.4.0
Style
- add KaTeX header to all docs
Commit Statistics
- 3 commits contributed to the release over the course of 11 calendar days.
- 11 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
rustitude-core v2.0.0
Documentation
- finish documentation coverage (not quite full quality, but we can work on that)
- add documentation for almost everything
I haven't documented amplitude.rs yet because it has some fundamental flaws pointed out to me by Lawrence Ng. - finished documenting four_momentum.rs
- shortened some links
- write crate-level documentation
New Features
- added print_tree at CohSum and Model level
- add dataset reading error
- add parity between ROOT and Parquet reading formats
additionally adds the arc_lock feature to parking_lot and removes the Dataset::events method, which clones the whole dataset and might be misused by mistake.
Bug Fixes
- fixed failing docs
- change parameters in Manager.evaluate to be a slice rather than a vector
Style
- add KaTeX header to all docs
New Features (BREAKING)
- implemented norm_int functions and CohSum
This feature is designed to allow for the correct implementation of
normalization integrals. Thanks to Lawrence Ng for pointing this out to
me.
Commit Statistics
- 13 commits contributed to the release over the course of 11 calendar days.
- 11 days passed between releases.
- 12 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Fixed failing docs (d0da6de)
- Finish documentation coverage (not quite full quality, but we can work on that) (b18e3e1)
- Added print_tree at CohSum and Model level (82ae775)
- Implemented norm_int functions and CohSum (a804178)
- Add documentation for almost everything (04b99c3)
- Add dataset reading error (a155903)
- Add parity between ROOT and Parquet reading formats (4145ddc)
- Finished documenting four_momentum.rs (71181fc)
- Shortened some links (b8b46d8)
- Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
- Write crate-level documentation (f337fdb)
- Add KaTeX header to all docs (e93d041)
- Change parameters in Manager.evaluate to be a slice rather than a vector (e018598)
py-rustitude v0.6.0
Chore
- bump python versions
- bump python library version
- bump python library version
Chore
- add description to py-rustitude
New Features
- added print_tree at CohSum and Model level
- add parity between ROOT and Parquet reading formats
additionally adds the arc_lock feature to parking_lot and removes the Dataset::events method, which clones the whole dataset and might be misused by mistake. - additional API so python interactions with managers can actually modify the amplitudes they manage
- add RustitudeError and remove unwraps, error handling should work in python as well
Bug Fixes
- added + and * overload type hints
- register the proper methods for creating new Models and CohSums in PyO3
- add type hint for version
- change parameters in Manager.evaluate to be a slice rather than a vector
- change python crate versioning
- remove unsafe transmutes, they weren't working properly and probably aren't needed anyway
- fix py-rustitude dependencies
- readmes and licenses suck
Refactor
- major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time
New Features (BREAKING)
- implemented norm_int functions and CohSum
This feature is designed to allow for the correct implementation of
normalization integrals. Thanks to Lawrence Ng for pointing this out to
me.
Commit Statistics
- 25 commits contributed to the release over the course of 20 calendar days.
- 18 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Add description to py-rustitude (1e70cf3)
- Release py-rustitude v0.6.0 (48ae335)
- Bump python versions (ce74dd1)
- Added + and * overload type hints (d3dda39)
- Register the proper methods for creating new Models and CohSums in PyO3 (bc47cf1)
- Added print_tree at CohSum and Model level (82ae775)
- Implemented norm_int functions and CohSum (a804178)
- Add parity between ROOT and Parquet reading formats (4145ddc)
- Merge branch 'main' of github.com:denehoffman/rustitude (774152a)
- Add type hint for version (0a04ca1)
- Change parameters in Manager.evaluate to be a slice rather than a vector (e018598)
- Change python crate versioning (7e07ac9)
- Release py-rustitude v0.4.3 (650568d)
- Release py-rustitude v0.4.3 (85fa50e)
- Release py-rustitude v0.4.3 (573e76a)
- Merge pull request #3 from denehoffman/python_reorg (467caac)
- Additional API so python interactions with managers can actually modify the amplitudes they manage (d2a94a5)
- Remove unsafe transmutes, they weren't working properly and probably aren't needed anyway (dba3b5b)
- Add RustitudeError and remove unwraps, error handling should work in python as well (6955773)
- Move all pyo3 code to the py-rustitude crate (9bcdb46)
- Bump python library version (800db45)
- Fix py-rustitude dependencies (b6c8e24)
- Readmes and licenses suck (174a6f5)
- Bump python library version (9d854af)
- Major move required to have rustitude function properly as a Rust crate. I set this up very wrong the first time (9089c84)