Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
447 commits
Select commit Hold shift + click to select a range
3429664
Update import in schema generator after changes.
TeresiaOlsson Jun 25, 2026
b5bb504
Changes to RF to remove config models.
TeresiaOlsson Jun 25, 2026
7126342
Make validation at object creation optional.
TeresiaOlsson Jun 26, 2026
8ebba6a
Rewrite of factory to not include validation.
TeresiaOlsson Jun 29, 2026
5e1af60
Change use_fast_loader to default and add optional validation.
TeresiaOlsson Jun 29, 2026
e03bd2b
Remove outdated tests for factory.
TeresiaOlsson Jun 29, 2026
53a68be
Update tests for load_quad with new factory syntax.
TeresiaOlsson Jun 29, 2026
e564054
Temporarily disable checks in validator.
TeresiaOlsson Jun 29, 2026
b3f98fa
Add option to exclude attributes from __pyaml_repr__.
TeresiaOlsson Jul 6, 2026
271bd6b
Implemented BBA
JeanLucPons Jul 10, 2026
020c2d9
Typo
JeanLucPons Jul 10, 2026
d11fbbb
Merge pull request #314 from python-accelerator-middle-layer/implemen…
JeanLucPons Jul 10, 2026
5624b89
Fixed bug in restfetcher missed by rebase when changing the fileloader.
TeresiaOlsson Jul 10, 2026
4f62344
Update asserts in text to printout the value of the error message.
TeresiaOlsson Jul 10, 2026
3d3abfd
Fix wrong BPM and adjusted delta
JeanLucPons Jul 10, 2026
e662da2
Fix YP
JeanLucPons Jul 10, 2026
dae55ee
Merge pull request #329 from python-accelerator-middle-layer/bba-fix
JeanLucPons Jul 10, 2026
2fb6a88
Improve error message in factory.
TeresiaOlsson Jul 10, 2026
1174dfa
Recursively dump in validate_to_dict.
TeresiaOlsson Jul 10, 2026
92b592f
Changes from missing precommit hook run.
TeresiaOlsson Jul 10, 2026
f44fda8
Remove config model from BPM.
TeresiaOlsson Jul 10, 2026
f626e73
Run ruff formating and unit tests for all pull requests.
TeresiaOlsson Jul 10, 2026
ce2fa5a
Modify error message to avoid recursion loop.
TeresiaOlsson Jul 10, 2026
2bb8237
Recursively dump in validate_to_dict.
TeresiaOlsson Jul 10, 2026
fa81a47
Change ValidationMeta to inherit from ABCMeta to be compatible for cl…
TeresiaOlsson Jul 10, 2026
81a44d7
Remove config model for tune monitor.
TeresiaOlsson Jul 10, 2026
f189aca
Recursively dump in validate_to_dict.
TeresiaOlsson Jul 10, 2026
86ea323
Run ruff reformating.
TeresiaOlsson Jul 10, 2026
3ee18b1
Add repr to BPM.
TeresiaOlsson Jul 10, 2026
a19fc81
Add repr for tune monitor.
TeresiaOlsson Jul 10, 2026
0cf015f
Modify error message to avoid recursion loop.
TeresiaOlsson Jul 10, 2026
37f67cf
Merge pull request #331 from python-accelerator-middle-layer/update-w…
TeresiaOlsson Jul 13, 2026
ced6788
Run ruff formating and unit tests for all pull requests.
TeresiaOlsson Jul 10, 2026
ee4e7a5
Run ruff formating and unit tests for all pull requests.
TeresiaOlsson Jul 10, 2026
21ad528
Run ruff formating and unit tests for all pull requests.
TeresiaOlsson Jul 10, 2026
f369c1e
Merge branch 'schema-registry-rf' into schema-registry-tune-monitor
TeresiaOlsson Jul 13, 2026
4e08e56
Change ValidationMeta to inherit from ABCMeta to be compatible for cl…
TeresiaOlsson Jul 10, 2026
ddf6d40
Ruff corrections.
TeresiaOlsson Jul 13, 2026
4e8ad25
Changes to remove config models from chromaticity.
TeresiaOlsson Jul 13, 2026
cebb86d
Remove config model from csv curve and move tests to magnet package.
TeresiaOlsson Jul 16, 2026
e3827ba
Remove config model for csvmatrix.
TeresiaOlsson Jul 16, 2026
ee87842
Remove config models from inline curve.
TeresiaOlsson Jul 16, 2026
54a12b9
Remove config model from inline matrix.
TeresiaOlsson Jul 16, 2026
b2dcde9
Added BBA plot
JeanLucPons Jul 20, 2026
ed3f6b5
Merge pull request #337 from python-accelerator-middle-layer/add-bba-…
JeanLucPons Jul 20, 2026
6a7405b
Improve validation errors.
TeresiaOlsson Jul 20, 2026
afdfc80
Improve formatting of validation models.
TeresiaOlsson Jul 20, 2026
af97897
Add helper function for getting classs path.
TeresiaOlsson Jul 20, 2026
f9865ab
Add functionality to save information about inheritance when dynamica…
TeresiaOlsson Jul 20, 2026
3f5f0a3
Remove config models from magnets.
TeresiaOlsson Jul 20, 2026
f1e786e
Change so check for existing validation model is not looking at inher…
TeresiaOlsson Jul 21, 2026
c57c4fb
Remove config models for arrays.
TeresiaOlsson Jul 21, 2026
2651e91
Remove config model from accelertor.
TeresiaOlsson Jul 21, 2026
f468b76
Merge remote-tracking branch 'origin/main' into 298-integration-test-…
gupichon-soleil Jul 22, 2026
7343093
The tune is read-only
gupichon-soleil Jul 23, 2026
a695964
Correction after merging with main
gupichon-soleil Jul 23, 2026
07f529d
Correction after updating the twin
gupichon-soleil Jul 23, 2026
ac22eaf
Merge pull request #279 from python-accelerator-middle-layer/schema-r…
JeanLucPons Jul 24, 2026
8afb542
Update bba callback
JeanLucPons Jul 29, 2026
d6ea9a6
Updated pySC release number
JeanLucPons Jul 30, 2026
d9f4d9c
Merge pull request #342 from python-accelerator-middle-layer/update-b…
JeanLucPons Jul 30, 2026
0ed6c08
Added input arg check
JeanLucPons Jul 31, 2026
8eab775
Allow access to other strength (model only)
JeanLucPons Jul 31, 2026
a7b4d8f
Added new BBA method
JeanLucPons Jul 31, 2026
576d81d
Added logging
JeanLucPons Jul 31, 2026
af6501f
Fix for single plane, tune correction, little code cleaning
JeanLucPons Aug 4, 2026
97e8028
Added plot
JeanLucPons Aug 5, 2026
bac686f
Updated tests
JeanLucPons Aug 5, 2026
c3d08e3
Updated test
JeanLucPons Aug 5, 2026
42cb179
Updated tests
JeanLucPons Aug 5, 2026
ce36a76
Compute error from fit
JeanLucPons Aug 5, 2026
2075603
Added mini cycling + test
JeanLucPons Aug 5, 2026
82e2c6b
Merge pull request #343 from python-accelerator-middle-layer/new-bba-…
JeanLucPons Aug 5, 2026
5cc1a61
Minor fix for error propagation
JeanLucPons Aug 6, 2026
f175f86
Fix for quad with zero strength (i.e. quadrupole corrector) that prod…
JeanLucPons Aug 6, 2026
163fda9
Merge pull request #344 from python-accelerator-middle-layer/bba2-fix…
JeanLucPons Aug 6, 2026
2edf9e9
Merge pull request #306 from python-accelerator-middle-layer/298-inte…
gubaidulinvadim Aug 7, 2026
8cb2c31
Merge pull request #330 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 7, 2026
c23cf8b
Merge pull request #340 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 7, 2026
084e73c
Merge pull request #332 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 7, 2026
1b476cf
Merge pull request #334 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 7, 2026
5da061b
Merge pull request #336 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 7, 2026
6914a79
Merge pull request #339 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 7, 2026
54945bd
New magnet holder API
JeanLucPons Aug 14, 2026
7a0d62c
New magnet holder API (added missing files)
JeanLucPons Aug 14, 2026
e934b35
Fix dt4acc tests
JeanLucPons Aug 14, 2026
9af5a65
Typing fix, allow [] syntax
JeanLucPons Aug 14, 2026
c5673dd
Merge pull request #347 from python-accelerator-middle-layer/new-magn…
JeanLucPons Aug 14, 2026
c69421e
Unified examples for ESRF, BESSY II and SOLEIL II in thematic notebooks
gubaidulinvadim Aug 14, 2026
d4e620a
Removed unused (in the examples) ESRF configuration files.
gubaidulinvadim Aug 14, 2026
9b44c57
New serialized magnet holder API
JeanLucPons Aug 14, 2026
81d93f8
Merge pull request #349 from python-accelerator-middle-layer/new-seri…
JeanLucPons Aug 14, 2026
c1761b0
Merge branch 'main' into improve-validation-errors
gubaidulinvadim Aug 14, 2026
72d2992
Merge pull request #338 from python-accelerator-middle-layer/improve-…
gubaidulinvadim Aug 14, 2026
de5f3a0
__pyaml_repr__ prints nested __repr__ of objects
gubaidulinvadim Aug 14, 2026
816ff88
Public _x_pos, _y_pos, _x_offset, _y_offset, _tilt_name
gubaidulinvadim Aug 17, 2026
b6a166a
Implemented new CFM holder API
JeanLucPons Aug 17, 2026
cd3c7d6
Updated API doc
JeanLucPons Aug 17, 2026
947cfb0
Merge pull request #352 from python-accelerator-middle-layer/new-comb…
JeanLucPons Aug 18, 2026
550023d
New BPM holder API, holder factorization
JeanLucPons Aug 18, 2026
c47ff72
Merge pull request #353 from python-accelerator-middle-layer/new-bpm-…
JeanLucPons Aug 18, 2026
c984035
Implemented new RF holder API
JeanLucPons Aug 21, 2026
cdaf98f
Merge pull request #354 from python-accelerator-middle-layer/new-rf-h…
JeanLucPons Aug 21, 2026
ba28d3f
Merge branch 'main' into string-representation
gubaidulinvadim Aug 21, 2026
3a362d6
Merge branch 'main' into unified-examples
gubaidulinvadim Aug 21, 2026
83e62fb
Merge pull request #348 from python-accelerator-middle-layer/unified-…
gubaidulinvadim Aug 21, 2026
8b5d31d
Removed old use case examples (separate for ESRF, SOLEIL and BESSY)
gubaidulinvadim Aug 21, 2026
fa21b7a
Merge pull request #355 from python-accelerator-middle-layer/delete_o…
gubaidulinvadim Aug 21, 2026
2c5fad3
Fix example path
gubaidulinvadim Aug 24, 2026
d6055c1
Merge pull request #356 from python-accelerator-middle-layer/fix-smok…
TeresiaOlsson Aug 24, 2026
46963c3
Remove config models from lattice subpackage.
TeresiaOlsson Jul 13, 2026
2240af3
Add dynamic validation.
TeresiaOlsson Jul 13, 2026
b0446f6
Update workflow for unit tests to latest action versions and add test…
TeresiaOlsson Aug 24, 2026
cb31f56
Remove config model from dispersion.
TeresiaOlsson Jul 14, 2026
62da1e3
Updates to the schema builder for dynamic validation to also work for…
TeresiaOlsson Jul 14, 2026
c33d220
Initial changes for removing config model from response matrix data.
TeresiaOlsson Jul 14, 2026
f65090a
Remove config model from orbit response matrix measurement.
TeresiaOlsson Jul 14, 2026
72e888f
Remove config model from orbit.
TeresiaOlsson Jul 14, 2026
e78f3af
Remove config model from tune response matrix.
TeresiaOlsson Jul 14, 2026
6b2cb72
Remove config models for tune.
TeresiaOlsson Jul 14, 2026
18d8ccc
Remove config model for measurement tool.
TeresiaOlsson Jul 14, 2026
a413f3e
Change to laze creation of the validation model in DynamicValidation …
TeresiaOlsson Jul 14, 2026
2e3f323
fix: restore MeasurementToolConfigModel for tuning tools
Copilot Aug 7, 2026
efe4555
Typo
gubaidulinvadim Aug 14, 2026
897cce2
Removed type for pySC validation
gubaidulinvadim Aug 14, 2026
896e3dc
Fix typo in chromaticity.
TeresiaOlsson Aug 24, 2026
cc12823
Ruff fixes.
TeresiaOlsson Aug 24, 2026
6e28b79
Merge pull request #335 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 24, 2026
dfd256f
Remove config model from BBA.
TeresiaOlsson Aug 24, 2026
47313fa
Remove config models from BBA2.
TeresiaOlsson Aug 24, 2026
1d69299
Remove MeasurementToolConfigModel since not used by other classes any…
TeresiaOlsson Aug 24, 2026
13c834a
Remove legacy path for classes with cfg.
TeresiaOlsson Aug 24, 2026
ef7a196
Update unit test workflow to only run default python versions on PR a…
TeresiaOlsson Aug 24, 2026
cb3dc7a
Merge pull request #358 from python-accelerator-middle-layer/tests-se…
TeresiaOlsson Aug 24, 2026
45f7c87
Merge pull request #333 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 26, 2026
fcbb87f
Merge pull request #359 from python-accelerator-middle-layer/schema-r…
gubaidulinvadim Aug 26, 2026
340402f
Refactor element attachment with holder-specific dispatch
gupichon-soleil Aug 27, 2026
1612ee2
Merge branch 'main' into string-representation
gubaidulinvadim Sep 4, 2026
426bae2
Fixed recursive string representation arising from peer.
gubaidulinvadim Sep 4, 2026
86746bf
Added test to check that __pyaml_repr__ call is not recursive
gubaidulinvadim Sep 4, 2026
6dd9210
Remove unused imports.
TeresiaOlsson Sep 4, 2026
4c62ac6
Added __pyaml_repr__ for holders
gubaidulinvadim Sep 5, 2026
1eafaef
Merge pull request #368 from python-accelerator-middle-layer/remove-u…
TeresiaOlsson Sep 7, 2026
2298ec3
Add a describe method to PyAMLBaseModel to get nicer output of schema…
TeresiaOlsson Sep 7, 2026
45d56c3
refactor: make element attachment dispatch methods internal
gupichon-soleil Sep 7, 2026
f4f6b2a
Refactor element attachment with holder-specific dispatch
gupichon-soleil Aug 27, 2026
570ad8c
refactor: make element attachment dispatch methods internal
gupichon-soleil Sep 7, 2026
5958ee4
Merge remote-tracking branch 'origin/361-feature-refactor-element-att…
gupichon-soleil Sep 7, 2026
2ff348c
feat: add generic ElementHolder collection access
gupichon-soleil Sep 7, 2026
7bf62d0
Renaming back _fill_device to fill_device
gupichon-soleil Sep 7, 2026
9c39257
Add missing schema registration and validation for IdentityMagnetModel.
TeresiaOlsson Sep 7, 2026
00a74bd
Add registration and dynamic validation for accelerator.
TeresiaOlsson Sep 7, 2026
8682539
Test correction
gupichon-soleil Sep 7, 2026
477115c
Merge pull request #370 from python-accelerator-middle-layer/config-s…
TeresiaOlsson Sep 7, 2026
f8b1a23
Merge pull request #371 from python-accelerator-middle-layer/register…
TeresiaOlsson Sep 7, 2026
211ee32
Test correction
gupichon-soleil Sep 7, 2026
5c0c801
Turn validation on again where needed for tests to pass.
TeresiaOlsson Sep 7, 2026
a72a982
Test correction
gupichon-soleil Sep 7, 2026
7773551
Refactor element attachment with holder-specific dispatch
gupichon-soleil Aug 27, 2026
1642527
refactor: make element attachment dispatch methods internal
gupichon-soleil Sep 7, 2026
dde6fb8
Renaming back _fill_device to fill_device
gupichon-soleil Sep 7, 2026
ca07bcc
Test correction
gupichon-soleil Sep 7, 2026
123895c
Merge remote-tracking branch 'origin/361-feature-refactor-element-att…
gupichon-soleil Sep 7, 2026
518b3de
Test improvements to use existing lattices
gupichon-soleil Sep 8, 2026
4c05aa7
Update docstrings for the accelerator.
TeresiaOlsson Sep 4, 2026
23155f4
Updated docstring for accelerator.
TeresiaOlsson Sep 4, 2026
0e978a3
Update docstrings for arrays.
TeresiaOlsson Sep 4, 2026
ebbf8fa
Update docstrings for yellow pages.
TeresiaOlsson Sep 4, 2026
6f00ebc
Update docstrings for validation.
TeresiaOlsson Sep 4, 2026
fb1a9c6
Updated docstrings for tuning tools.
TeresiaOlsson Sep 4, 2026
5004839
Update docstrings for RF.
TeresiaOlsson Sep 4, 2026
02f6fe8
Update docstrings for magnets.
TeresiaOlsson Sep 4, 2026
15c6df9
Update docstrings in lattice.
TeresiaOlsson Sep 4, 2026
9ca49cb
Add docstrings for external.
TeresiaOlsson Sep 4, 2026
36c2486
Updated docstrings for diagnostics.
TeresiaOlsson Sep 4, 2026
c4795e6
Update docstrings for control.
TeresiaOlsson Sep 4, 2026
1c20efd
Update docstrings for configuration.
TeresiaOlsson Sep 4, 2026
55d4086
Updated docstrings for common.
TeresiaOlsson Sep 4, 2026
621574c
Add docstrins for bpm.
TeresiaOlsson Sep 4, 2026
4fba0bd
Update docstrings arrays.
TeresiaOlsson Sep 4, 2026
93b6152
Remove build workflow for docs since now configured directly on readt…
TeresiaOlsson Sep 8, 2026
53075df
Pass with claude opus to fix a few issues:
GamelinAl Sep 8, 2026
6982471
Remove the existing docs.
TeresiaOlsson Sep 4, 2026
3238404
Add the new api docs from template.
TeresiaOlsson Sep 4, 2026
38d4492
Update readme.
TeresiaOlsson Sep 4, 2026
cced799
Add copier answers.
TeresiaOlsson Sep 4, 2026
5ac4f3c
Remove workflow to build documentation since this is configured direc…
TeresiaOlsson Sep 4, 2026
82866ea
Merge pull request #369 from python-accelerator-middle-layer/api-docu…
TeresiaOlsson Sep 8, 2026
0c3f366
add failing test
kparasch Sep 8, 2026
f727238
remove type field from ResponseMatrixData, test now passes
kparasch Sep 8, 2026
afe32e6
Second pass
GamelinAl Sep 8, 2026
5b0a5c0
feat: add generic ElementHolder collection access
gupichon-soleil Sep 7, 2026
afd1146
Test correction
gupichon-soleil Sep 7, 2026
d56d41b
Test correction
gupichon-soleil Sep 7, 2026
9a15624
Test improvements to use existing lattices
gupichon-soleil Sep 8, 2026
1fd1a84
Merge remote-tracking branch 'origin/366-feature-add-generic-elementh…
gupichon-soleil Sep 8, 2026
273381c
Refactor element attachment with holder-specific dispatch
gupichon-soleil Aug 27, 2026
b076b0c
refactor: make element attachment dispatch methods internal
gupichon-soleil Sep 7, 2026
4ded274
Renaming back _fill_device to fill_device
gupichon-soleil Sep 7, 2026
4332aea
Test correction
gupichon-soleil Sep 7, 2026
76a909d
Refactor element attachment with holder-specific dispatch
gupichon-soleil Aug 27, 2026
c22414b
refactor: make element attachment dispatch methods internal
gupichon-soleil Sep 7, 2026
1da7ea6
Renaming back _fill_device to fill_device
gupichon-soleil Sep 7, 2026
1124ee0
Merge remote-tracking branch 'origin/361-feature-refactor-element-att…
gupichon-soleil Sep 8, 2026
fb01555
Merge pull request #367 from python-accelerator-middle-layer/update-d…
TeresiaOlsson Sep 8, 2026
81f997e
Bugfix: array type inference
gupichon-soleil Sep 8, 2026
29a4155
Merge branch 'main' into 361-feature-refactor-element-attachment-usin…
gupichon Sep 8, 2026
044a012
Merge branch 'main' into 384-array-type-inference-issue-for-mixed-mag…
gupichon Sep 8, 2026
802fb3d
Force validation
kparasch Sep 8, 2026
e184a34
Merge pull request #363 from python-accelerator-middle-layer/361-feat…
gupichon Sep 8, 2026
2e8f494
Merge remote-tracking branch 'origin/main' into 366-feature-add-gener…
gupichon-soleil Sep 8, 2026
9f4361e
Merge remote-tracking branch 'origin/main' into 384-array-type-infere…
gupichon-soleil Sep 8, 2026
44e5c29
Add discovery for schemas in other packages by using entry points.
TeresiaOlsson Sep 8, 2026
dbfe6f8
Report real constructor signatures on ValidationMeta classes
GamelinAl Sep 9, 2026
41a1417
Merge pull request #383 from python-accelerator-middle-layer/bugfix/o…
gubaidulinvadim Sep 9, 2026
2b3e542
Merge pull request #386 from python-accelerator-middle-layer/entry-po…
TeresiaOlsson Sep 9, 2026
33f049f
Merge pull request #377 from python-accelerator-middle-layer/register…
TeresiaOlsson Sep 9, 2026
f6f8624
Add workflow for github release.
TeresiaOlsson Sep 9, 2026
154add5
Merge pull request #385 from python-accelerator-middle-layer/384-arra…
TeresiaOlsson Sep 9, 2026
7c96609
Updated example
JeanLucPons Sep 9, 2026
a151b2e
Merge pull request #390 from python-accelerator-middle-layer/fix-cs-e…
TeresiaOlsson Sep 9, 2026
3e9ddcd
Merge pull request #389 from python-accelerator-middle-layer/387-fix-…
TeresiaOlsson Sep 9, 2026
e8afe1a
Merge remote-tracking branch 'origin/main' into 366-feature-add-gener…
gupichon-soleil Sep 9, 2026
839db5b
Fix typing for _fill_device() methods
JeanLucPons Sep 10, 2026
45f79b5
Merge pull request #393 from python-accelerator-middle-layer/fix-typi…
JeanLucPons Sep 10, 2026
d258196
Migrate dt4acc integration to pyaml-test-lattice and pin CS backends
gupichon-soleil Sep 10, 2026
9da7396
Merge remote-tracking branch 'origin/main' into 394-feature-source-dt…
gupichon-soleil Sep 10, 2026
021dda3
Add possibility list types to exclude from registration in registry.
TeresiaOlsson Sep 10, 2026
793bc84
Fix tango-pyaml pin: repoint to the actual multi_attribute fix
gupichon-soleil Sep 10, 2026
47be3c0
Merge pull request #395 from python-accelerator-middle-layer/394-feat…
gupichon Sep 10, 2026
7fdb3ce
Merge remote-tracking branch 'origin/main' into 366-feature-add-gener…
gupichon-soleil Sep 10, 2026
bdc9cfc
Merge pull request #396 from python-accelerator-middle-layer/exclude-…
TeresiaOlsson Sep 10, 2026
97fff13
Update the configuration manager to use class_path instead of type. K…
TeresiaOlsson Sep 9, 2026
031504f
Add support for class field in manager.
TeresiaOlsson Sep 9, 2026
769e59e
Fix bug in validator that only class_path and not also class field wo…
TeresiaOlsson Sep 9, 2026
32190b3
Change BESSY II example to use class instead of type.
TeresiaOlsson Sep 9, 2026
c98de6e
Fix bug in configuration manager that field locations was passed to f…
TeresiaOlsson Sep 9, 2026
c985ad8
Update config for test to not use simple model for BPM anymore.
TeresiaOlsson Sep 9, 2026
0a976a2
Update test to agree with new format.
TeresiaOlsson Sep 9, 2026
72b9bde
Merge pull request #388 from python-accelerator-middle-layer/release-…
TeresiaOlsson Sep 10, 2026
e9724fc
Change anyOf to oneOf.
TeresiaOlsson Sep 10, 2026
d80facb
Added shared configurable repr limits via  pyaml.set_repr_options() …
gubaidulinvadim Sep 10, 2026
1bf5eea
Merge branch 'main' into string-representation
gubaidulinvadim Sep 10, 2026
1a8b80d
Corrected BPM output
gubaidulinvadim Sep 10, 2026
97c7f44
Corrected expected BPM string repr in tests
gubaidulinvadim Sep 10, 2026
90bdfa3
Merge pull request #403 from python-accelerator-middle-layer/one-of-s…
TeresiaOlsson Sep 11, 2026
dcf2c8e
Merge pull request #391 from python-accelerator-middle-layer/change-t…
TeresiaOlsson Sep 11, 2026
e08e762
Merge pull request #376 from python-accelerator-middle-layer/366-feat…
TeresiaOlsson Sep 11, 2026
9e65438
Merge pull request #351 from python-accelerator-middle-layer/string-r…
gubaidulinvadim Sep 11, 2026
220ff47
Merge remote-tracking branch 'origin/main' into release-0.3.0
GamelinAl Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
_commit: 0.1.0
_src_path: https://github.com/python-accelerator-middle-layer/pyaml-repository-template.git
distribution_name: accelerator-middle-layer
html_title: pyaml
import_name: pyaml
package_name: pyaml
repository_url: https://github.com/python-accelerator-middle-layer/pyaml
use_docs_extra: false
82 changes: 0 additions & 82 deletions .github/workflows/documentation.yml

This file was deleted.

128 changes: 128 additions & 0 deletions .github/workflows/dt4acc-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: dt4acc integration

on:
workflow_dispatch:
inputs:
dt4acc_image_uri:
description: "Apptainer ORAS image URI for the dt4acc twin"
required: false
default: "oras://registry.synchrotron-soleil.fr/software_control_system_public/dt4acc-soleil-twin:latest"
pull_request:
branches: ["main"]
paths:
- ".github/workflows/dt4acc-integration.yml"
- "pyaml/**"
- "tests/integration/**"
- "pyproject.toml"

permissions:
contents: read

jobs:
smoke:
runs-on: ubuntu-latest
timeout-minutes: 30

defaults:
run:
shell: bash -el {0}

env:
TANGO_HOST: 127.0.0.1:10000
DT4ACC_IMAGE_URI: ${{ inputs.dt4acc_image_uri || 'oras://registry.synchrotron-soleil.fr/software_control_system_public/dt4acc-soleil-twin:latest' }}
DT4ACC_REGISTRY_USER: ${{ secrets.DT4ACC_REGISTRY_USER }}
DT4ACC_REGISTRY_PASSWORD: ${{ secrets.DT4ACC_REGISTRY_PASSWORD }}

steps:
- uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
ref: ${{ github.event.pull_request.head.ref || github.ref_name }}

- name: Set up Apptainer
uses: eWaterCycle/setup-apptainer@v2

- name: Set up Python environment
uses: mamba-org/setup-micromamba@v2
with:
environment-name: pyaml-dt4acc-integration
create-args: >-
-c conda-forge
python=3.12
pip
pytest
pytango
cache-environment: true

- name: Install pyAML and control-system backends
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[test]"
python -m pip install "ophyd-async[tango, ca, pva]"
python -m pip install --no-deps \
"tango-pyaml @ git+https://github.com/python-accelerator-middle-layer/tango-pyaml.git@1f010735bd675ad2f918958abd0396cb6766f14e" \
"pyaml-cs-oa @ git+https://github.com/python-accelerator-middle-layer/pyaml-cs-oa.git@0.2.0"
python -c "import tango; import tango.pyaml; import pyaml_cs_oa"

- name: Log in to GitLab registry
if: ${{ env.DT4ACC_REGISTRY_USER != '' && env.DT4ACC_REGISTRY_PASSWORD != '' }}
run: |
printf '%s' "${DT4ACC_REGISTRY_PASSWORD}" |
apptainer registry login \
--username "${DT4ACC_REGISTRY_USER}" \
--password-stdin \
oras://gitlab-registry.synchrotron-soleil.fr

- name: Pull dt4acc twin image
run: |
mkdir -p "${RUNNER_TEMP}/apptainer"
apptainer pull --force --disable-cache \
"${RUNNER_TEMP}/apptainer/dt4acc-soleil-twin.sif" \
"${DT4ACC_IMAGE_URI}"

- name: Start dt4acc twin
run: |
LOG_FILE="${RUNNER_TEMP}/dt4acc-twin.log"
PID_FILE="${RUNNER_TEMP}/dt4acc-twin.pid"

ACCEL_SETUP_FILE=$(python -c "from pyaml_test_lattice import configurations; print(configurations['dt4acc/fodo_1gev_6d_dt4acc_tango.json'])")
LATTICE_FILE=$(python -c "from pyaml_test_lattice import lattices; print(lattices['fodo_1gev_6d.json'])")

bash tests/integration/start_dt4acc_twin.sh \
--accelerator-setup-file "${ACCEL_SETUP_FILE}" \
--lattice-file "${LATTICE_FILE}" \
--tango-host "${TANGO_HOST%:*}" \
--tango-port "${TANGO_HOST##*:}" \
--sif "${RUNNER_TEMP}/apptainer/dt4acc-soleil-twin.sif" \
--log-file "${LOG_FILE}" \
--pid-file "${PID_FILE}" \
--timeout 900 \
--detach

- name: Run pyAML dt4acc smoke test
env:
PYAML_DT4ACC_INTEGRATION: "1"
TANGO_HOST: "127.0.0.1:10000"
run: |
python -m pytest -v tests/integration/test_dt4acc_twin_smoke.py

- name: Stop dt4acc twin
if: always()
run: |
PID_FILE="${RUNNER_TEMP}/dt4acc-twin.pid"
if [ -f "${PID_FILE}" ]; then
TWIN_PID="$(cat "${PID_FILE}")"
kill -- "-${TWIN_PID}" 2>/dev/null || kill "${TWIN_PID}" 2>/dev/null || true
sleep 5
kill -KILL -- "-${TWIN_PID}" 2>/dev/null || kill -KILL "${TWIN_PID}" 2>/dev/null || true
fi
if [ -f "${RUNNER_TEMP}/dt4acc-twin.log" ]; then
tail -n 200 "${RUNNER_TEMP}/dt4acc-twin.log" || true
fi

- name: Upload dt4acc logs
if: always()
uses: actions/upload-artifact@v4
with:
name: dt4acc-twin-log
path: ${{ runner.temp }}/dt4acc-twin.log
49 changes: 49 additions & 0 deletions .github/workflows/github-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: GitHub Release

on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+*'

permissions:
contents: write

jobs:
release:
name: Build and create release on GitHub
runs-on: ubuntu-latest

steps:
- name: Check out source
uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"

- name: Install Hatch
run: python -m pip install --upgrade hatch

- name: Build distribution
run: hatch build

- name: Determine whether this is a pre-release
id: release_type
shell: bash
run: |
tag="${GITHUB_REF_NAME#v}"

if [[ "$tag" =~ (\.dev[0-9]+|a[0-9]+|b[0-9]+|rc[0-9]+)$ ]]; then
echo "prerelease=true" >> "$GITHUB_OUTPUT"
else
echo "prerelease=false" >> "$GITHUB_OUTPUT"
fi

- name: Create GitHub release
uses: softprops/action-gh-release@v3
with:
draft: false
prerelease: ${{ steps.release_type.outputs.prerelease }}
generate_release_notes: true
files: dist/*
1 change: 0 additions & 1 deletion .github/workflows/ruff_formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
ruff-check:
Expand Down
30 changes: 21 additions & 9 deletions .github/workflows/tests.yml → .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# This workflow will install Python dependencies, run tests and lint with a several version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: run tests
name: Run unit tests

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:

permissions:
contents: read
Expand All @@ -16,27 +16,39 @@ jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: >-
${{ (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
&& fromJSON(vars.PYTHON_ALL_SUPPORTED_TEST_VERSIONS)
|| fromJSON(vars.PYTHON_DEFAULT_TEST_VERSIONS) }}

steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python 3.12
uses: actions/setup-python@v3
- uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v7
with:
python-version: ">=3.12"
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install .[test]
pip install ./tests/dummy_cs/tango-pyaml
pip install ./tests/external
pip install flake8

- name: Display Python version
run: python -c "import sys; print(sys.version)"

- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics

- name: Test with pytest
run: python -m pytest tests
26 changes: 6 additions & 20 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -1,39 +1,25 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
# Set the OS, Python version, and other tools you might need
build:
os: ubuntu-24.04
tools:
python: "3.13"
# You can also specify other tool versions:
# nodejs: "23"
# rust: "1.82"
# golang: "1.23"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py
configuration: docs/source/conf.py

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# Optionally, but recommended,
# declare the Python requirements required to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: docs/requirements.txt
- method: pip
path: .
extra_requirements:
- doc

submodules:
include: all
recursive: true
extra_requirements: []
Loading
Loading