Release History#
v1.1.2 (released 2025-04-01)#
Fixes#
Add ‘reflections’ to ‘configuration_attrs’.
Maintenance#
Unit tests now cover to Py3.9 - Py3.12.
Conda-forge build for Py3.13 is successful.
v1.1.1 (released 2024-08-07)#
New Features and/or Enhancements#
Add APS POLAR diffractometer geometry.
Fixes#
Resolve problem with configuration attributes of Diffractometer class.
Maintenance#
Add EPICS IOCs to GitHub workflow unit test suite.
Drop Python 3.7 from unit test suite matrix.
Reorganized the web site docs to be easier to navigate.
v1.1.0 (released 2024-01-13)#
Add new geometries from upstream libhkl.
New Features and/or Enhancements#
Add
DiffractometerConfigurationto export & restore configuration and orientation.Add
Petra3_p23_4cdiffractometer geometry.Add
Petra3_p23_6cdiffractometer geometry.Add
SoleilNanoscopiumRobotdiffractometer geometry.Add
SoleilSixsMed2p3v2diffractometer geometry.Export and restore diffractometer configuration as JSON string, YAML string, Python dictionary, or file.
Add
user.current_diffractometer()function.Add
axes_r,axes_w, &axes_cproperties to bothcalc&engine.Build tables of diffractometer geometry, engines, and modes from libhkl API.
Export and reload diffractometer configuration as JSON string, YAML string, or Python dictionary.
Fixes#
diffract.forward()should pick solution consistent withdiffract.forward_solution_table(), if it can. Otherwise, fall back to previous iterative method.Make
util.list_orientation_runs()work with databroker v1.2 or v2+.Make
util.run_orientation_info()work with databroker v1.2 or v2+.Resolved under-reported problems in CI unit tests.
util.restore_reflections()use renamed motor axes if so defined.
Maintenance#
Add pre-commit checks.
Add
apischemato package requirements.Add test for
or_swap().Change documentation theme to pydata-sphinx-theme.
Documentation ZIP file uploaded as artifact with each build. Great for review!
Expand testing to Py3.8 - Py3.11.
Fix code in
util.restore_reflections()that failed unit tests locally.Make it easier to find the SPEC command cross-reference table.
Update packaging to latest PyPA recommendations.
Validate user input to sample.add_reflection().
Deprecations#
Deprecate the
fitparameter in diffractometer constraints.
v1.0.4 (released 2023-10-06)#
Maintenance release.
Fixes#
util.run_orientation_info()failed when no primary stream present.Broken link in documentation.
Maintenance#
Move table with SPEC commands cross-reference to a HOWTO document.
util.list_orientation_runs()added progress bar.Support Py3.8, 3.9, 3.10, & 3.11
Support libhkl v5.0.0.3001 (& v5.0.0.3357 when ready)
v1.0.3 (released 2022-06-22)#
Maintenance release.
Maintenance#
Publish to PyPI from GitHub Actions workflow.
Enable installation by pip.
Update the conda environment.
Show how to install hklpy.
Revise how Jupyter notebook examples are published.
v1.0.2 (2022-06-14)#
Maintenance release.
Maintenance#
No longer need to
import gi; gi.require_version('Hkl', '5.0')first. Justimport hkland the other steps will be done by the package.
v1.0.1 (2021-09-20)#
Maintenance release.
Maintenance#
Increase precision of
A_KEVconstant to match 2018 CODATA value.Document the
max_forward_iterationsattribute.Provide project description for PyPI packaging.
Contributors#
Andi Barbour, NSLS-II
v1.0.0 (2021-09-13)#
First production release.
Breaking Changes#
Python 3.6 no longer supported.
Constraintmoved fromhkl.diffracttohkl.utilWavelength now saved with each reflection
Wavelength and lattice parameters in Angstroms now
TwoCgeometry removed since no calculation engines are defined for it in _libhkl_SOLEIL_SIXSgeometry removed since it is not described in _libhkl_MED2+3renamed toSOLEIL SIXS MED2+3Conda package is built for
linux-64only due to _libhkl_ requirement
New Features and/or Enhancements#
Conda package available on conda-forge:
conda install -c conda-forge hklpyImport any diffractometer from top level
hkl(not fromhkl.diffract):from hkl import E4CVSupport save and restore of UB matrix
Can swap the order of the two crystal orientation reflections.
Constant:
hkl.SI_LATTICE_PARAMETERHow-To guides * add extra axes to a diffractometer * rename physical axes of a diffractometer * use additional diffractometer parameters * use the Q calculation engine of E4CV
Specify calculation engine when creating a diffractometer.
Simplified user interface when working with one diffractometer.
Versions of component software packages now available.
Maintenance#
Clarify 6-circle geometries with drawings & labels
Table of all defined diffractometers and their supported engines
Show the value used by kappa geometry angle $alpha$ (50 degrees)
Show how wavelength and other reflection information are held in _libhkl_
Contributors#
Andi Barbour, NSLS-II
Jennifer Bui, (NSLS-II) Brown Univ.
Thomas Caswell, NSLS-II
Yongseong Choi, APS
Gilberto Fabbris, APS
Jong Woo Kim, APS
Katherine Perez, (NSLS-II) LSU
Fanny Rodolakis, APS
Jorg Strempfer, APS
Andrew Walter, NSLS-II
Stuart Wilkins, NSLS-II
v0.3.16 (2021-04-28)#
Full list of changes is on the wiki v0.3.16.
Breaking Changes#
Diffractometer geometries have moved from
hkl.diffractto (the new)hkl.geometries, such ashkl.geometries.E4CV.
New Features and/or Enhancements#
Diffractometer additions from apstools
simple user interface for a diffractometer
constraints
Create simulators for common geometries.
hkl.geometries.SimMixinfor simulators.
compute_UB()now returns the UB matrix orNone(previously returned 1 or 0)
Fixes#
Ensure that diffractometer energy is read-only (and not modified) by changes in units or energy offset.
Diffractometer responds to energy, energy units, and energy offset PV updates now.
Maintenance#
separate diffractometer geometry instances from base class
refer to the hkl C++ library code as libhkl
add Python 3.9 to unit test suite
now can use Python f-strings
re-arrange documentation structure
define
__all__in modules
v0.3.15 (2020-12-20)#
Full list of changes is on the wiki v0.3.15.
Breaking Changes#
Diffractometer wavelength must use angstrom units to match the lattice constants. Previously, wavelength was stated to be in
nm. Instruments upgrading to this release should verify the units actually in use.
New Features and/or Enhancements#
Diffractometer energy units can be specified. Unit conversions are handled by the pint [1] package.
Examples of E4CV, K4CV, and E6C diffractometer geometries.
Comparison of UB matrix calculation with SPEC data.
Source code documentation in hkl.diffract.
Show how to connect energy from local controls.
Fixes#
Limits-checking for hkl values now coordinated with upstream
blueskycode.
Maintenance#
Move continuous integration processes to GitHub Actions.
Documentation now published with other bluesky packages: https://blueskyproject.io/hklpy/
Deprecations#
All the previous examples have been archived and will be removed for the 1.0.0 release.