Releases: fsoubelet/PyhDToolkit
Release 1.8.0
Release 1.8.0 brings some project maintenance and a complete refactor of the HTCondor-related utilities from the package.
Additions
- A new module,
pyhdtoolkit.utils.htcondor, has been created to host allHTCondor-related utilities. The previoushtc_monitormodule's functionality has been moved here, with some improvements. - A new command-line script,
htcondor-monitor, has been added to provide an easy way to monitorHTCondorclusters from the terminal. It contains the entrypoint from the previouspyhdtoolkit.utils.htc_monitormodule, adapted to the new module structure. - The new script allows passing command-line options to customize its behavior (see its documentation and help message for details).
- The new scripts provides a progress bar while waiting between
condor_qcalls. - The new script is declared as
htc-monitorin the project metadata. It can be called simply ashtc-monitorat the command line in an environment wherePyhDToolkitis installed.
Enhancements
- The regex parsing in the
HTCondorutilities has been made more robust. - The whole package now consistently makes use of postponed evaluations of annotations (see PEP 563).
- Some operations have been fixed to adapt to the default behaviors of
pandas 3.x.
Removals
- The
pyhdtoolkit.utils.htc_monitormodule has been removed, and its functionality split.
Maintenance
- Updated Continuous Integration workflows to switch to
uv, speeding up CI runs.
Documentation
- The documentation has been adapted to reflect the new module structure and command-line script.
What's Changed
- Correct 2025 year in pickled user tasks by @fsoubelet in #112
- Workflows update by @fsoubelet in #113
- Ruff Rules and Some Maintenance by @fsoubelet in #114
- [ImgBot] Optimize images by @imgbot[bot] in #115
- Yearly update of test file by @fsoubelet in #116
- Htc plus by @fsoubelet in #117
- Add Ruff check stage to CI by @fsoubelet in #122
- Bump pillow from 12.1.0 to 12.1.1 by @dependabot[bot] in #123
- Bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in #125
- Bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in #124
- Bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in #126
- Bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in #127
- Bump urllib3 from 2.6.3 to 2.7.0 by @dependabot[bot] in #128
Full Changelog: 1.7.0...1.8.0
Release 1.7.0
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
Release 1.6.0
Release 1.6.0 is a big cleanup release.
Enhancements
- The
pyhdtoolkit.cpymadtools.lhc.make_lhc_beamsfunction now accepts the user providing values fornpartandsige. The previously hard-coded values are now used as defaults.
Changes
- The
pyhdtoolkit.cpymadtools.lhc.make_lhc_beamsfunction now expectsnemitt_[xy]arguments instead of the previousemittance_[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__.pyfiles. - Moved type-hint relevant imports in a
TYPE_CHECKINGblock to lighten import times.
What's Changed
- Lint and tweak beams by @fsoubelet in #110
Full Changelog: 1.5.0...1.6.0
Release 1.5.0
Release 1.5.0 is a small compatibility and cleanup release.
Enhancements
- The
pyhdtoolkit.opticspackage has a new module,rdt, with some utility functions.
Changes
- The
pyhdtoolkit.maths.nonconvex_phase_syncmodule has been removed.
Maintenance
- The version requirement on
numpyhas 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-designinstead of the now deprecatedsphinx-panels.
What's Changed
- Documentation updates by @fsoubelet in #107
- Test fixes by @fsoubelet in #108
- Migrate Docs to Sphinx-Design, Remove NPS, Update Workflows by @fsoubelet in #109
Full Changelog: 1.4.0...1.5.0
Release 1.4.0
Release 1.4.0 is a small compatibility release with pydantic v2.x.
- The version requirement on
pydantichas been updated to>=2.0. - Carious places in the
PyhDToolkitcodebase have been updated to be compatible withpydantic v2.x.
What's Changed
- Pydantic 2.x compatibility by @fsoubelet in #106
Full Changelog: 1.3.2...1.4.0
Release 1.3.2
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
Release 1.3.1 is a patch release with minor fixes. See the documentation release notes for details.
Release 1.3.0
Release 1.3.0 brings some new features and few bug fixes. See the release notes for details
What's Changed
- [ImgBot] Optimize images by @imgbot in #102
- Ruff by @fsoubelet in #103
- Version 1.3.0 Changes by @fsoubelet in #104
Full Changelog: 1.2.0...1.3.0
Release 1.2.0
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
- Release 1.2.0 by @fsoubelet in #101
Full Changelog: 1.1.1...1.2.0
Release 1.1.1
Release 1.1.1 is a patch release with minor fixes. See the documentation release notes for details.