Release History#
v0.7.2 (2023-08-19)#
This is a maintenance release with some documentation updates.
Documentation#
An Overview section was added to the docs.
External links were added to the sidebar.
v0.7.1 (2023-08-18)#
This is a maintenance release with small API, tests, CI, and documentation updates.
API#
Enabled generation of beamline elements from existing simulations.
Moved and updated the
prepare_*_env.pycode from theexamples/directory of the repository to the library code, so that the new module can be imported in IPython and Jupyter notebooks (both interactively and in the docs). TheargparserCLI argument parser was added to the module so that users can specify the databroker config name and root path for the data files.
Documentation#
Pinned
furominimum version to 2023.8.17 for compatiblity with Sphinx 7.2.0 and 7.2.1.
Tests#
Sorted out test failures happening due to a small numerical difference of the results from the PyPI-installed
srwpyin the Sirepo Docker image.Removed an old/irrelevant test.
CI improvements#
Switched from the conda action to built-in Python for CI (saves >2 minutes per run).
v0.7.0 (2023-08-04)#
This is a major release with new features to support the stateless-compute
API and propagation parameters in Sirepo/SRW and the old API used prior to
v0.4.0 removed.
This release includes many useful contributions from the SULI 2023 summer intern Riley Bode. Thank you!
New features#
Created
.jsonand.yamlCLI exporters and added relevant tests.
API#
Added
stateless-computesupport for CRL, Crystal, and Undulator objects in the Sirepo/SRW app.Implemented Ophyd support for Propagation parameters in the Sirepo/SRW app.
Converted integer Sirepo parameters to floats to fix the
failed to format rowerror in Bluesky’sLiveTable.Added a lightweight method that computes the beam position and FWHM before it is turned into a document for SRW and Shadow apps. The beam stats show up in Bluesky’s
BestEffortCallback.Removed old API support and relevant tests.
create_classesdoes not need thedatakwarg as it obtains it viaconnection.
Documentation#
Suppress Shadow3 code’s stdout in notebooks/code.
Converted project’s
README.rsttoREADME.mdfor better rendering on PyPI.
Examples#
Added an empty beamline simulation (
sim_id="emptysim") to the list of predefined examples.Fixed MAD-X app’s configuration to correctly display the UI components (disabled React frontend).
Linting/styling#
Added
blackformatter for Jupyter notebooks.
v0.6.2 (2023-06-09)#
This is a maintenance release with small API, tests, packaging, and documentation updates.
API#
Fixed the
BeamStatisticsReport’s default values which cannot be a dictionary (discovered when using bluesky v1.11.0).
Packaging#
Added
xraylibto the list of requirements asshadow3does not automatically install it, and imports ofxraylibwill print the information about that missing library, even for irrelevant code (like MAD-X). Adding the package as a dependency explicitly silences the messages.Remove pinning of the
urllib3package as the issue is resolved on thevcrpyside.
Documentation#
Updated databroker configuration instructions for Windows.
Removed old API examples.
Tests#
Removed a test for
BeamStatisticsReportfor the old API.
v0.6.1 (2023-05-26)#
This is a maintenance release primarily addressing the packaging, continuous integration, and testing matters.
API#
Fixed the deprecated API call
bluesky-auth->auth-bluesky-loginto authenticate with Sirepo using the _bluesky_ auth method.
Tests#
Recreated vcrpy cassettes for the tests using old API (to be deprecated in the future).
Fixed beam statistics report test.
CI improvements#
Applied NSLS-II/start-sirepo-action to start Sirepo in the CI workflows (used in other repositories which need Sirepo with predefined examples).
Fixed the Sirepo startup script to use
radiasoft/sirepo:betadocker image. The action above uses the script from this repository.Added
workflow_dispatchtrigger to CI workflows to be able to start them manually.
Packaging#
All dependencies, including
srwpyandshadow3are now installed along withsirepo-blueskyfrom the same source (either PyPI or conda-forge), therefore users do not need to preinstall them.Temporary fix for incompatibility between the
requestspackage andurllib3v2+.
Documentation#
Change Sphinx theme to furo.
Update installation instructions.
v0.6.0 (2023-02-23)#
This is a major release dropping support of intake and extending support of MAD-X simulations.
API#
Added
SirepoSignalRO.Removed intake from the code base.
Applications#
Added support for the MAD-X commands via the API.
Examples#
Updated MAD-X simulation examples to better reflect ATF Beamline 1 and Beamline 2.
Documentation#
Added axes labels to the Beam Statistics Report plots.
Fixed minor spelling errors.
Updated the documentation with the new MAD-X simulation examples demonstrating the
betx/betyvs.sdistribution plots before and after a parameters change, compared to the Sirepo browser-based interface.
Linting/styling#
Enforced formatting with black, flake8, and isort via pre-commit hook.
CI improvements#
Updated the linter CI config to run the
pre-commitchecks.
v0.5.0 (2022-11-04)#
This is a major release dropping support of Python 3.7 and adding support of new simulation types.
Applications#
Added support for the MAD-X App in Sirepo via detector & flyer API. Corresponding simulation examples were added too (sim_id=00000001 and 00000002). The corresponding handler
MADXFileHandlerwas implemented for the reading of MAD-X-produced files.Implemented
SingleElectronSpectrumReportfrom the Source page of Sirepo/SRW.Added the
durationcomponent for detectors.Implemented the
stateless-computesupport for the grazing angle orientation. That is necessary to support the recalculation of some properties which are normally triggered by the JavaScript client side.Converted assertions to exceptions throughout the library code.
Tests#
All integrated simulation codes have corresponding extensive tests (pytest framework).
Examples#
Updated the preparation scripts for the detector and flyer environments to make them more consistent.
Save all test/example data to
/tmp/sirepo-bluesky-data/.
Documentation#
Made all examples for SRW, Shadow3, and Beam Statistics Report consistent.
Added a documentation/notebook with an example of the use of MAD-X via sirepo-bluesky API.
Changed the Sphinx theme to Cloud.
Consistent table widths for simulation lists for different simulation codes.
Fixed the version string in the published documentation at nsls-ii.github.io/sirepo-bluesky.
Scripts/services#
Added support for a persistent location for the Sirepo database of simulations.
Using the
radiasoft/sirepo:20220806.215448version of the Sirepo Docker image (support of newer images will be added in the following release).Added an example systemd unit for
sirepo.service.
CI improvements#
Added checks on whether the Sirepo container is running before executing the tests.
Using
mambafor faster installation.Uploading docs artifacts for each CI run (to allow inspection of the documentation draft before publishing it).
v0.4.3 (2021-12-17)#
Major rework of the Sphinx documentation with a few automatically rendered Jupyter notebooks with examples and better installation instructions.
v0.4.2 (2021-12-13)#
Added CI configs to build and publish Sphinx documentation.
Updated badges in the
README.rstfile (GHA workflows status, PyPI, and conda-forge releases).Updated documentation with a list of custom SRW and Shadow3 simulations.
Updated NSLS-II TES SRW and Shadow3 examples (
00000002) to run faster and updated validations in the corresponding tests.Added a timing test for the
BeamStatisticsReport(Sirepo/Shadow app).Updated versioneer’s configuration (python/cpython#28292, https://bugs.python.org/issue45173).
v0.4.1 (2021-11-10)#
In this release, we addressed some shortcomings of the granular ophyd objects:
Generalized classes to work with both
srwandshadowsimulation codes.Added JSON components for all “detector” classes.
Added a class to instantiate the
BeamStatisticsReportas an ophyd detector and add thorough integration tests.Fixed the issue with the last file from a scan being used for all steps of the scan.
Cleaned up the code from unused comments.
Improved testing coverage and better handling of the results directories.
Packaging/CI#
Removed the upper pin of PyQt5.
Added linting GHA workflow.
v0.4.0 (2021-10-11)#
Refactored the code to use an ophyd object per optical element.
In addition to the existing
dockerto start Sirepo server, this update also enabled tests withpodman.Added the NSLS-II TES beamline examples and test data for SRW and Shadow codes.
v0.3.1 (2021-09-22)#
Various CI updates:
Use
testuserin auth.db.Remove TravisCI config.
Update scripts to start sirepo and mongo with Docker.
v0.3.0 (2021-08-17)#
add support and tests for Shadow simulations
add support for accessing Sirepo’s
simulation-list
v0.2.0 (2021-04-22)#
add support for latest radiasoft/sirepo:beta Docker images
update for compatibility with databroker v1.x.x
fix tests
v0.1.0 (2020-09-02)#
Working version with multiple flyers.
v0.0.2 (2020-03-02)#
N/A
v0.0.1 - Initial Release (2020-03-02)#
Initial release of the installable library.