Skip to content

Releases: fsoubelet/PyhDToolkit

Release 1.7.0

18 Nov 10:22
e9e9129
Compare
Choose a tag to compare

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 if numba 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 ambiguous emittance_[xy] parameters anymore. Please use the explicit nemitt_[xy] parameters introduced in version 1.6.0 instead.
  • The pyhdtoolkit.cpymadtools.lhc.make_lhc_beams function now defaults to a value of 2.5E-6m for the normalized horizontal and vertical emittances, according to Run 3 operation. Functions that were calling make_lhc_beams for the Run 2 configuration explicitely ask for the previous default value of 3.5E-6m.
  • The pyhdtoolkit.cpymadtools.lhc.get_sizes_at_ip function no longer accepts geom_emit_[xy] parameters and requires gemitt_[xy] instead.
  • The pyhdtoolkit.models.beam.BeamParameters class attributes were changed for consistency, with changes such as en_emit_[xy] becoming nemitt_[xy] etc.
  • The pyhdtoolkit.optics.beam.compute_beam_parameters function no longer accepts en_emit_[xy] parameters and requires nemitt_[xy] instead.
  • The pyhdtoolkit.optics.beam.Beam class no longer accepts and posseses an emittance parameter / attribute, and now uses gemitt 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 in pyhdtoolkit.cpymadtools.lhc._routines. The publicly exported function from the pyhdtoolkit.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

Release 1.6.0

13 Aug 14:03
b4ff24d
Compare
Choose a tag to compare

Release 1.6.0 is a big cleanup release.

Enhancements

  • The pyhdtoolkit.cpymadtools.lhc.make_lhc_beams function now accepts the user providing values for npart and sige. The previously hard-coded values are now used as defaults.

Changes

  • The pyhdtoolkit.cpymadtools.lhc.make_lhc_beams function now expects nemitt_[xy] arguments instead of the previous emittance_[xy]. Providing the previous name is still accepted but will raise a warning.

Maintenance

  • A great amount of linting has been done to ensure best practices in every line of code.
  • Switched all relevant type hints to use the latest practices.
  • Fixed the __all__ exports in the __init__.py files.
  • Moved type-hint relevant imports in a TYPE_CHECKING block to lighten import times.

What's Changed

Full Changelog: 1.5.0...1.6.0

Release 1.5.0

22 Jul 13:38
fc5754e
Compare
Choose a tag to compare

Release 1.5.0 is a small compatibility and cleanup release.

Enhancements

  • The pyhdtoolkit.optics package has a new module, rdt, with some utility functions.

Changes

  • The pyhdtoolkit.maths.nonconvex_phase_sync module has been removed.

Maintenance

  • The version requirement on numpy has been updated to >=2.0.
  • Various dependencies have had their minimum required version increased.
  • Fixed various deprecation and future warnings through the package.
  • Documentation has been updated in several places.
  • Documentation has been upgraded to use sphinx-design instead of the now deprecated sphinx-panels.

What's Changed

Full Changelog: 1.4.0...1.5.0

Release 1.4.0

01 Jul 15:11
bbf350f
Compare
Choose a tag to compare

Release 1.4.0 is a small compatibility release with pydantic v2.x.

  • The version requirement on pydantic has been updated to >=2.0.
  • Carious places in the PyhDToolkit codebase have been updated to be compatible with pydantic v2.x.

What's Changed

Full Changelog: 1.3.2...1.4.0

Release 1.3.2

01 Jul 14:18
064d6e3
Compare
Choose a tag to compare

This is a patch release following the release of pydantic 2.0, which constrains the pydantic requirement version to the previous major in order to guarantee code compatibility. Migration to pydantic 2.x will come in a future release.

Release 1.3.1

10 Jun 20:59
dddaac2
Compare
Choose a tag to compare

Release 1.3.1 is a patch release with minor fixes. See the documentation release notes for details.

Release 1.3.0

16 May 14:51
173106d
Compare
Choose a tag to compare

Release 1.3.0 brings some new features and few bug fixes. See the release notes for details

What's Changed

Full Changelog: 1.2.0...1.3.0

Release 1.2.0

10 Mar 18:41
825c782
Compare
Choose a tag to compare

Release 1.2.0 brings some new features and dependency changes, a few bug fixes and documentation improvements. See the release notes for details

What's Changed

Full Changelog: 1.1.1...1.2.0

Release 1.1.1

24 Nov 22:23
e538dc0
Compare
Choose a tag to compare

Release 1.1.1 is a patch release with minor fixes. See the documentation release notes for details.

Release 1.1.0

23 Nov 17:47
85b3ff5
Compare
Choose a tag to compare

Release 1.1.0 brings some bug fixes, improvements to maintainability, and some API changes to match the extracted cpymadtools.