Release 1.7.0
brings some project maintenance and removes old unused code / modules..
Enhancements
- The
pyhdtoolkit.utils
package has a new module,decorators
, with two useful decorators: one to JIT-compile the decorated function ifnumba
is available in the environment, and one to mark a function as deprecated.
Changes
- The
pyhdtoolkit.cpymadtools.lhc.make_lhc_beams
function no longer accepts ambiguousemittance_[xy]
parameters anymore. Please use the explicitnemitt_[xy]
parameters introduced in version1.6.0
instead. - The
pyhdtoolkit.cpymadtools.lhc.make_lhc_beams
function now defaults to a value of2.5E-6m
for the normalized horizontal and vertical emittances, according to Run 3 operation. Functions that were callingmake_lhc_beams
for the Run 2 configuration explicitely ask for the previous default value of3.5E-6m
. - The
pyhdtoolkit.cpymadtools.lhc.get_sizes_at_ip
function no longer acceptsgeom_emit_[xy]
parameters and requiresgemitt_[xy]
instead. - The
pyhdtoolkit.models.beam.BeamParameters
class attributes were changed for consistency, with changes such asen_emit_[xy]
becomingnemitt_[xy]
etc. - The
pyhdtoolkit.optics.beam.compute_beam_parameters
function no longer acceptsen_emit_[xy]
parameters and requiresnemitt_[xy]
instead. - The
pyhdtoolkit.optics.beam.Beam
class no longer accepts and posseses anemittance
parameter / attribute, and now usesgemitt
instead.
Removals
- The
pyhdtoolkit.utils.executors
module has been removed, since it was not in used anymore. - The
pyhdtoolkit.utils.operations
module has been removed, since it was not in used anymore. - The
pyhdtoolkit.utils.printutil
module has been removed, since it was not in used anymore. - The
pyhdtoolkit.cpymadtools.lhc._coupling.correct_lhc_global_coupling
function has been deleted as it was replaced by its clone inpyhdtoolkit.cpymadtools.lhc._routines
. The publicly exported function from thepyhdtoolkit.cpymadtools.lhc
module 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.rdt
module now display the version they were added in, and contain examples. - The whole package's docstrings have been migrated to use
numpy
style 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_CHECKING
blocks, 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