Release 1.7.0 brings some project maintenance and removes old unused code / modules..
Enhancements
- The
pyhdtoolkit.utilspackage has a new module,decorators, with two useful decorators: one to JIT-compile the decorated function ifnumbais available in the environment, and one to mark a function as deprecated.
Changes
- The
pyhdtoolkit.cpymadtools.lhc.make_lhc_beamsfunction no longer accepts ambiguousemittance_[xy]parameters anymore. Please use the explicitnemitt_[xy]parameters introduced in version1.6.0instead. - The
pyhdtoolkit.cpymadtools.lhc.make_lhc_beamsfunction now defaults to a value of2.5E-6mfor the normalized horizontal and vertical emittances, according to Run 3 operation. Functions that were callingmake_lhc_beamsfor the Run 2 configuration explicitely ask for the previous default value of3.5E-6m. - The
pyhdtoolkit.cpymadtools.lhc.get_sizes_at_ipfunction no longer acceptsgeom_emit_[xy]parameters and requiresgemitt_[xy]instead. - The
pyhdtoolkit.models.beam.BeamParametersclass attributes were changed for consistency, with changes such asen_emit_[xy]becomingnemitt_[xy]etc. - The
pyhdtoolkit.optics.beam.compute_beam_parametersfunction no longer acceptsen_emit_[xy]parameters and requiresnemitt_[xy]instead. - The
pyhdtoolkit.optics.beam.Beamclass no longer accepts and posseses anemittanceparameter / attribute, and now usesgemittinstead.
Removals
- The
pyhdtoolkit.utils.executorsmodule has been removed, since it was not in used anymore. - The
pyhdtoolkit.utils.operationsmodule has been removed, since it was not in used anymore. - The
pyhdtoolkit.utils.printutilmodule has been removed, since it was not in used anymore. - The
pyhdtoolkit.cpymadtools.lhc._coupling.correct_lhc_global_couplingfunction has been deleted as it was replaced by its clone inpyhdtoolkit.cpymadtools.lhc._routines. The publicly exported function from thepyhdtoolkit.cpymadtools.lhcmodule is not changed, but users using the old location should either use the public export or update their imports.
Documentation
- Fixed various inconsistencies.
- Fixed all public members being displayed in the sidebar, which should now be readable again.
- The docstrings of functions in the
pyhdtoolkit.optics.rdtmodule now display the version they were added in, and contain examples. - The whole package's docstrings have been migrated to use
numpystyle to better fit their depth. While the build documentation has not changed, users exploring function docstrings will have a better time reading them.
Maintenance
- Updated Continuous Integration workflows to switch to
uv, speeding up CI runs. - Updated the project's support files to switch to
uv. - Updated some configuration parameters to comply with newest versions of documentation build tools.
- Gated many imports into
TYPE_CHECKINGblocks, which should speedup the import time of the package or its sub-packages. - Updated the documentation gallery.
What's Changed
- Cleanups, updates to documentation, UV, remove ununsed modules by @fsoubelet in #111
Full Changelog: 1.6.0...1.7.0