3rd Python Accelerator Middle Layer (pyAML) workshop

Europe/Paris
Principal/0-0 - Salle Amphitheatre (Batiment Principal)

Principal/0-0 - Salle Amphitheatre

Batiment Principal

90
Show room on map
Laurent NADOLSKI (SOLEIL), Patrick MADELA (SOLEIL), Vadim GUBAIDULIN (SOLEIL)
Description

Join us for the 3rd Accelerator Middle Layer Workshop!

 

Python Accelerator Middle Layer (pyAML) is a joint technology platform for design, commissioning and operation of particle accelerators.

It is developed, benchmarked and maintained collaboratively by an open-source community driven by accelerator facilities around the world.

Link for remote participation: https://teams.microsoft.com/meet/34634189195979?p=48dqH3VFTb3jlCsut6
Past Workshops

 

The core component of this pyAML workshop edition will be a hackathon --- collaborative development of pyAML use cases (such as beam-based alignment (BBA), etc.) in small working groups.

We are looking forward to welcoming you at the Synchrotron SOLEIL, near Paris, France!

Helpful information

Prototype codes 

The code repositories (of the prototypes) are hosted on GitHub.

pyAML collaboration meeting agendas & minutes

Meeting agendas and minutes are available on GitHub. Also, other documents related to governance can be found there.

pyAML specification documents

The specification is currently under development. It is written collaboratively on Overleaf. Feel free to comment and make suggestions!

In the beginning of each document is a description of the purpose of the document.

    • 11:00 AM 12:00 PM
      Welcome and registration: Welcome Principal/0-0 - Salle Amphitheatre

      Principal/0-0 - Salle Amphitheatre

      Batiment Principal

      90
      Show room on map
      Convener: Dr Laurent NADOLSKI (SOLEIL)
      • 11:00 AM
        Arrival and registration 40m
        Speaker: Vadim GUBAIDULIN (SOLEIL)
      • 11:40 AM
        Welcome message 20m

        Welcome message that includes

        • pyAML project goals
        • pyAML past workshops
        • Purpose of this workshop iteration
        Speaker: Dr Laurent NADOLSKI (SOLEIL)
    • 12:00 PM 1:00 PM
      Lunch 1h
    • 1:00 PM 3:50 PM
      Project reports: pyAML Project Status Principal/0-0 - Salle Amphitheatre

      Principal/0-0 - Salle Amphitheatre

      Batiment Principal

      90
      Show room on map
      Convener: Vadim GUBAIDULIN (SOLEIL)
      • 1:00 PM
        Project status report and specification documents (30'+10') 40m

        Report on the pyAML project status since the last workshop in Berlin. Progress on specification documents and the pyAML product is reported. The technical / software side will be covered in another contribution.

        • Timeline of the project so far
        • pyAML steering committee meetings and key decisions
        • Specification document(s) status
        • COST action status
        • pyAML community meetings
        • pyAML maintainer meetings
        • Work organisation for the development via GitHub (Discussions and Issues)
        Speaker: Teresia Olsson (Helmholtz-Zentrum Berlin)
      • 1:40 PM
        pyAML prototype development report: part I (30'+10') 40m

        Report on the pyaml-repository development progress, including control system interfaces implemented in separate repositories tango-pyaml and pyaml-cs-oa. The report includes

        • a timeline of the development so far,
        • software architecture description,
        • design choices,
        • outlook on the pending issues
        • outlook on continuation of development
        • examples demonstrating the functionality.
        • next steps
        Speaker: Jean-Luc Pons (ESRF)
      • 2:20 PM
        pyAML prototype development report: part II (30'+10') 40m

        Report on the accml-repository development progress.

        • a timeline of the development so far,
        • software architecture description,
        • design choices,
        • outlook on the pending issues
        • outlook on continuation of development
        • examples demonstrating the functionality.
        • next steps
        Speaker: Waheedullah Sulaiman Khail (HZB)
      • 3:00 PM
        Coffee break 20m
      • 3:20 PM
        Python Simulated Commissioning (pySC) project 30m

        Python version of the Simulated Commissioning toolkit for synchrotrons (inspired by a Matlab code by T. Hellert (LBNL) https://github.com/ThorstenHellert/SC), developed at DESY (https://github.com/kparasch/pySC) originally by L. Malina and continued by K. Paraschou.

        Speaker: Konstantinos Paraschou (DESY)
    • 3:50 PM 8:00 PM
      Training/hackathon preparation session Principal/0-0 - Salle Amphitheatre

      Principal/0-0 - Salle Amphitheatre

      Batiment Principal

      90
      Show room on map

      A session dedicated to preparation for the hackathon on the next day. The goals of the session is to get a working pyAML environment/environments for all participants, to run some existing examples, etc.

      Conveners: Simone Maria Liuzzo (ESRF), Teresia Olsson (HZB)
      • 3:50 PM
        Hackathon working group announcement 20m Principal/0-0 - Salle Amphitheatre

        Principal/0-0 - Salle Amphitheatre

        Batiment Principal

        90
        Show room on map
        • Announcement of the working group composition for the next day.
        • Proposal of working group topics.
        • Practical details on the hackathon
          organisation.
        Speaker: Vadim GUBAIDULIN (SOLEIL)
      • 4:10 PM
        Preparation 2h 50m Principal/0-0 - Salle Amphitheatre

        Principal/0-0 - Salle Amphitheatre

        Batiment Principal

        90
        Show room on map

        Preparatory session dedicated to verifying that everyone has a working environment set up, introducing developer documentation and planning of different working groups for the next day.

        Speakers: Simone Maria Liuzzo (ESRF), Teresia Olsson (Helmholtz-Zentrum Berlin)
      • 5:00 PM
        Live demonstration in SOLEIL control room (30') 1h Control room (SOLEIL)

        Control room

        SOLEIL

        Demonstration of pyAML prototype in the SOLEIL control room. A simple use case of measuring chromaticity will be shown and compared with the Matlab Middle Layer (MML) option used in operation. Depending on the number of participants, we will split them into several groups.

        Speaker: Alexandre MOUTARDIER (SOLEIL)
    • 9:00 AM 11:50 AM
      Hackathon: trying out pyAML A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenix A2.1.22 Pyxis

      A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenix A2.1.22 Pyxis

      This is a session dedicated to trying out pyAML existing examples. The aim of the session is for people to get updated on the prototype development and to give their feedback on the progress that have been made so far. In this hackathon session, all working groups will be working on the same global task of trying out the prototype.

      • 9:00 AM
        Working group 1 1h 15m A1.1.58 Cameleon

        A1.1.58 Cameleon

        Description
        The working group session will be dedicated to trying out the existing use cases and examples in order to provide their feedback.
        Composition
        Alexandre Moutardier (SOLEIL)

        Stefano Krecic (ELETTRA)

        Sebastian Niekrasz (ELI)

        Simon White (ESRF)

        Ali Al-Sakeeri (MAX IV)
        Input

        • pyaml / accml examples
        • pyaml / accml documentation
        • specification documents
        • resources on pyAML GitHub

        Objectives and deliverables

        • Written feedback on pyaml / accml (preferably using GitHub discussions with the title "pyAML workshop: working group X feedback")
        • feedback on configuration with yaml / json files, on manual creation of pyaml objects
        • feedback on the documentation / lack thereof
        • feedback on running examples
        • feedback on the present interface to pySC
        • any other feedback
        • Based on the feedback, try to create GitHub issues, following the existing template.
        • Cherry-picking of functionality / interfaces of pyaml / accml. What would you really like to see in the final product?
        • Short presentation (~10 minutes) elaborating on the main points from above (to be presented on the last day of the workshop)
      • 9:00 AM
        Working group 2 1h 15m A1.1.59 Pegase

        A1.1.59 Pegase

        Description
        The working group session will be dedicated to trying out the existing use cases and examples in order to provide their feedback.
        Input

        • pyaml / accml examples
        • pyaml / accml documentation
        • specification documents
        • resources on pyAML GitHub

        Objectives and deliverables

        • Written feedback on pyaml / accml (preferably using GitHub discussions with the title "pyAML workshop: working group X feedback")
        • feedback on configuration with yaml / json files, on manual creation of pyaml objects
        • feedback on the documentation / lack thereof
        • feedback on running examples
        • feedback on the present interface to pySC
        • any other feedback
        • Based on the feedback, try to create GitHub issues, following the existing template.
        • Cherry-picking of functionality / interfaces of pyaml / accml. What would you really like to see in the final product?
        • Short presentation (~10 minutes) elaborating on the main points from above (to be presented on the last day of the workshop)
      • 9:00 AM
        Working group 3 1h 15m A2.1.22 Pyxis

        A2.1.22 Pyxis

        Description
        The working group session will be dedicated to trying out the existing use cases and examples in order to provide their feedback.
        Input

        • pyaml / accml examples
        • pyaml / accml documentation
        • specification documents
        • resources on pyAML GitHub

        Composition
        Patrick Madela (SOLEIL)

        Teresia Olsson (HZB)

        Laurent Nadolski (SOLEIL)

        Gayane Amatuni (CANDLE)

        Murat Torun (ELI)

        Objectives and deliverables

        • Written feedback on pyaml / accml (preferably using GitHub discussions with the title "pyAML workshop: working group X feedback")
        • feedback on configuration with yaml / json files, on manual creation of pyaml objects
        • feedback on the documentation / lack thereof
        • feedback on running examples
        • feedback on the present interface to pySC
        • any other feedback
        • Based on the feedback, try to create GitHub issues, following the existing template.
        • Cherry-picking of functionality / interfaces of pyaml / accml. What would you really like to see in the final product?
        • Short presentation (~10 minutes) elaborating on the main points from above (to be presented on the last day of the workshop)
      • 9:00 AM
        Working group 4 1h 15m A1.0.59 Phenix

        A1.0.59 Phenix

        Description
        The working group session will be dedicated to trying out the existing use cases and examples in order to provide their feedback.

        Composition
        Alexis Gamelin (SOLEIL)

        Konstantinos Parashou (DESY)

        Ivan Morozov (ELETTRA)

        Simone Maria Liuzzo (ESRF)

        Julian Gethmann (KIT)
        Input

        • pyaml / accml examples
        • pyaml / accml documentation
        • specification documents
        • resources on pyAML GitHub

        Objectives and deliverables

        • Written feedback on pyaml / accml (preferably using GitHub discussions with the title "pyAML workshop: working group X feedback")
        • feedback on configuration with yaml / json files, on manual creation of pyaml objects
        • feedback on the documentation / lack thereof
        • feedback on running examples
        • feedback on the present interface to pySC
        • any other feedback
        • Based on the feedback, try to create GitHub issues, following the existing template.
        • Cherry-picking of functionality / interfaces of pyaml / accml. What would you really like to see in the final product?
        • Short presentation (~10 minutes) elaborating on the main points from above (to be presented on the last day of the workshop)
      • 9:00 AM
        Working group R (remote) 1h 15m MS Teams

        MS Teams

        Description

        The primary aim of this working group is to discuss handling of unit conversion in pyAML (Ampere to strength unit; simple conversion mm to m; strength to integrated strength, etc)

        Input

        Implementation in PAMILA code 
        Pint package (https://pint.readthedocs.io/en/stable/)
        Existing implementations in accml and pyaml
        Design pattern from accml

        Objectives and deliverables

        - Update to the documentation regarding the unit conversion
         - GitHub discussion or issue describing the proposal
         - Draft pull request (PR) with implementation suggestion

      • 10:15 AM
        Coffee break 20m A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenix A2.1.22 Pyxis

        A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenix A2.1.22 Pyxis

      • 10:35 AM
        Working group 1 1h 15m A1.1.58 Cameleon

        A1.1.58 Cameleon

        Description
        The working group session will be dedicated to trying out the existing use cases and examples in order to provide their feedback.
        Composition
        Alexandre Moutardier (SOLEIL)

        Stefano Krecic (ELETTRA)

        Sebastian Niekrasz (ELI)

        Simon White (ESRF)

        Ali Al-Sakeeri (MAX IV)
        Input

        • pyaml / accml examples
        • pyaml / accml documentation
        • specification documents
        • resources on pyAML GitHub

        Objectives and deliverables

        • Written feedback on pyaml / accml (preferably using GitHub discussions with the title "pyAML workshop: working group X feedback")
        • feedback on configuration with yaml / json files, on manual creation of pyaml objects
        • feedback on the documentation / lack thereof
        • feedback on running examples
        • feedback on the present interface to pySC
        • any other feedback
        • Based on the feedback, try to create GitHub issues, following the existing template.
        • Cherry-picking of functionality / interfaces of pyaml / accml. What would you really like to see in the final product?
        • Short presentation (~10 minutes) elaborating on the main points from above (to be presented on the last day of the workshop)
      • 10:35 AM
        Working group 2 1h 15m A1.1.59 Pegase

        A1.1.59 Pegase

        Description
        The working group session will be dedicated to trying out the existing use cases and examples in order to provide their feedback.
        Input

        • pyaml / accml examples
        • pyaml / accml documentation
        • specification documents
        • resources on pyAML GitHub

        Objectives and deliverables

        • Written feedback on pyaml / accml (preferably using GitHub discussions with the title "pyAML workshop: working group X feedback")
        • feedback on configuration with yaml / json files, on manual creation of pyaml objects
        • feedback on the documentation / lack thereof
        • feedback on running examples
        • feedback on the present interface to pySC
        • any other feedback
        • Based on the feedback, try to create GitHub issues, following the existing template.
        • Cherry-picking of functionality / interfaces of pyaml / accml. What would you really like to see in the final product?
        • Short presentation (~10 minutes) elaborating on the main points from above (to be presented on the last day of the workshop)
      • 10:35 AM
        Working group 3 1h 15m A2.1.22 Pyxis

        A2.1.22 Pyxis

        Description
        The working group session will be dedicated to trying out the existing use cases and examples in order to provide their feedback.
        Input

        • pyaml / accml examples
        • pyaml / accml documentation
        • specification documents
        • resources on pyAML GitHub

        Composition
        Patrick Madela (SOLEIL)

        Teresia Olsson (HZB)

        Laurent Nadolski (SOLEIL)

        Gayane Amatuni (CANDLE)

        Murat Torun (ELI)

        Objectives and deliverables

        • Written feedback on pyaml / accml (preferably using GitHub discussions with the title "pyAML workshop: working group X feedback")
        • feedback on configuration with yaml / json files, on manual creation of pyaml objects
        • feedback on the documentation / lack thereof
        • feedback on running examples
        • feedback on the present interface to pySC
        • any other feedback
        • Based on the feedback, try to create GitHub issues, following the existing template.
        • Cherry-picking of functionality / interfaces of pyaml / accml. What would you really like to see in the final product?
        • Short presentation (~10 minutes) elaborating on the main points from above (to be presented on the last day of the workshop)
      • 10:35 AM
        Working group 4 1h 15m A1.0.59 Phenix

        A1.0.59 Phenix

        Description
        The working group session will be dedicated to trying out the existing use cases and examples in order to provide their feedback.
        Composition
        Alexis Gamelin (SOLEIL)

        Konstantinos Parashou (DESY)

        Ivan Morozov (ELETTRA)

        Simone Maria Liuzzo (ESRF)

        Julian Gethmann (KIT)
        Input

        • pyaml / accml examples
        • pyaml / accml documentation
        • specification documents
        • resources on pyAML GitHub

        Objectives and deliverables

        • Written feedback on pyaml / accml (preferably using GitHub discussions with the title "pyAML workshop: working group X feedback")
        • feedback on configuration with yaml / json files, on manual creation of pyaml objects
        • feedback on the documentation / lack thereof
        • feedback on running examples
        • feedback on the present interface to pySC
        • any other feedback
        • Based on the feedback, try to create GitHub issues, following the existing template.
        • Cherry-picking of functionality / interfaces of pyaml / accml. What would you really like to see in the final product?
        • Short presentation (~10 minutes) elaborating on the main points from above (to be presented on the last day of the workshop)
      • 10:35 AM
        Working group R (remote) 1h 15m MS Teams

        MS Teams

        Description

        The primary aim of this working group is to discuss handling of unit conversion in pyAML (Ampere to strength unit; simple conversion mm to m; strength to integrated strength, etc)

        Input

        Implementation in PAMILA code 
        Pint package (https://pint.readthedocs.io/en/stable/)
        Existing implementations in accml and pyaml
        Design pattern from accml

        Objectives and deliverables

        - Update to the documentation regarding the unit conversion
         - GitHub discussion or issue describing the proposal
         - Draft pull request (PR) with implementation suggestion

    • 11:50 AM 12:40 PM
      Lunch 50m
    • 12:40 PM 1:40 PM
      Visits: SOLEIL II prototypes Principal/0-0 - Salle Amphitheatre

      Principal/0-0 - Salle Amphitheatre

      Batiment Principal

      90
      Show room on map

      A visit of SOLEIL II prototypes (magnets, diagnostic devices, etc.)

      Convener: Alexandre MOUTARDIER (SOLEIL)
    • 1:40 PM 3:10 PM
      Hackathon: implement use cases of pyAML A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenix A2.1.22 Pyxis

      A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenix A2.1.22 Pyxis

      A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenis A2.1.22 Pyxis

      This is a session dedicated to trying out pyAML existing examples. The aim of the session is for people to get updated on the prototype development and to give their feedback on the progress that have been made so far. In this hackathon session, all working groups will be working on the same global task of trying out the prototype.

      • 1:40 PM
        Working group 1 1h 30m A1.1.58 Cameleon

        A1.1.58 Cameleon

        Description
        The main idea of this working group is to try implementing some new use case (for example, a chromaticity tuning tool).

        Composition
        Alexandre Moutardier (SOLEIL)

        Stefano Krecic (ELETTRA)

        Sebastian Niekrasz (ELI)

        Simon White (ESRF)

        Ali Al-Sakeeri (MAX IV)

        Input
        - pyaml/accml examples
        - pyaml/accml documentation
        - specification documents

        Objectives and deliverables
        - Discuss among yourselves what kind of measurement / tuning tool is already possible to do with the existing code base
        - Make a GitHub issue(s) describing what you want to implement
        - Make a short description of the measurement in the specification document
        - A working measurement script / tuning tool for a selected use case(s),
        - Draft pull request with a new measurement/tuning tool (partially) implemented
        - Short presentation (5 - 10 minutes) on the work done so far
        - Feedback on the experience of implementing a use case (GitHub discussion)

      • 1:40 PM
        Working group 2 1h 30m A1.1.59 Pegase

        A1.1.59 Pegase

        Description

        The aim of the working group will be the merge of accml and pyaml repositories into one.

        Composition
        Guillaume Pichon (SOLEIL)

        Vadim Gubaidulin (SOLEIL)

        Waheedullah Sulaiman Khail (HZB)

        Jean-Luc Pons (ESRF)

        Ilya Agapov (DESY)

        Objectives and deliverables

        • Review of both repositories
        • Proposal/strategy of merging the two developments
        • GitHub discussion or issue describing the proposal
        • A list of functionalities to be merged
      • 1:40 PM
        Working group 3 1h 30m A2.1.22 Pyxis

        A2.1.22 Pyxis

        Description

        One potential future development path for pyAML is to build a software ecosystem. The idea is that instead of having a single package having a set of compatible packages where facilities can choose which ones they want to use or even develop their own package to add to the ecosystem. The working group should brainstorm how such an ecosystem could look like and come up with a suggestion for the next steps in case the collaboration decides to go in this direction.

        Composition
        Patrick Madela (SOLEIL)

        Teresia Olsson (HZB)

        Laurent Nadolski (SOLEIL)

        Gayane Amatuni (CANDLE)

        Murat Torun (ELI)

        Input

        • How other research communities have structured their ecosystems
        • The existing packages in the pyAML GitHub organisation
        • Experience of what might be facility, control system, accelerator type etc specific where different facilities want/need different implementations or functionality

        Objectives and deliverables

        • A figure showing the different parts in the ecosystem and how they are connected.

        • A suggestion for how the existing packages can be restructured to facilitate the ecosystem development. What needs to be in a common core, what needs to be more modular, what can be separated out into separate repositories etc.

        • Initial description of the interfaces between packages and an example showing how that can be implemented.

      • 1:40 PM
        Working group 4 1h 30m A1.0.59 Phenix

        A1.0.59 Phenix

        Description
        The primary objective of the working group is to establish a pyAML standard for performing measurements. In general, there are two ways to do measurements: simple measurement scripts and a more generic way for standard measurements. The generic way can allow for the reuse of existing code snippets in a transparent way and orchestrate a complex measurement. Both ways exist in the PAMILA toy project of Y.Hidaka, including OPTIONAL compatibility with BlueSky. The working group can brainstorm how to adapt this solution or come up with a different one.
        Composition
        Alexis Gamelin (SOLEIL)

        Konstantinos Parashou (DESY)

        Ivan Morozov (ELETTRA)

        Simone Maria Liuzzo (ESRF)

        Julian Gethmann (KIT)
        Input

        - User interface specification document (Chapter 6)
         - Implementation in the PAMILA code (https://github.com/NSLS2/pamila)

        Objectives and deliverables

        - Update on the documentation relating to generic measurements

        - Proposal of a generic way to do measurements (preferably in the form
           of GitHub discussions)

        - A code example with one of the already existing use cases done in
           both ways

        - Short presentation (~10 minutes) elaborating on the points above

      • 1:40 PM
        Working group R (remote) 1h 30m MS Teams

        MS Teams

        Description

        The primary aim of this working group is to discuss handling of unit conversion in pyAML (Ampere to strength unit; simple conversion mm to m; strength to integrated strength, etc)

        Input

        Implementation in PAMILA code 
        Pint package (https://pint.readthedocs.io/en/stable/)
        Existing implementations in accml and pyaml
        Design pattern from accml

        Objectives and deliverables

        - Update to the documentation regarding the unit conversion
         - GitHub discussion or issue describing the proposal
         - Draft pull request (PR) with implementation suggestion

    • 3:10 PM 3:40 PM
      Coffee break 30m Principal/0-0 - Salle Amphitheatre

      Principal/0-0 - Salle Amphitheatre

      Batiment Principal

      90
      Show room on map
    • 3:40 PM 7:30 PM
      Hackathon: implement use cases of pyAML A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenix A2.1.22 Pyxis

      A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenix A2.1.22 Pyxis

      A1.1.58 Cameleon A1.1.59 Pegase A1.0.59 Phenis A2.1.22 Pyxis

      This is a session dedicated to trying out pyAML existing examples. The aim of the session is for people to get updated on the prototype development and to give their feedback on the progress that have been made so far. In this hackathon session, all working groups will be working on the same global task of trying out the prototype.

      • 3:45 PM
        Steering committee working group 2h 20m A2.1.32

        A2.1.32

        This is an optional hackathon session for steering committee members if they wish to have some discussion before the last day of the workshop. The aim of the session could be, for example, the following:

        • Give the steering committee time for some pre-discussion before the last day of the workshop
        • Share among the steering committee the experience from different hackathon working groups
        • Discuss roadmap of pyAML project 2026-2027
        • Prepare some talking points/roadmap outline for discussion on the next day with workshop participants
      • 3:45 PM
        Working group 1 2h 20m A1.1.58 Cameleon

        A1.1.58 Cameleon

        Description
        The main idea of this working group is to try implementing some new use case (for example, a chromaticity tuning tool).
        Composition
        Alexandre Moutardier (SOLEIL)

        Stefano Krecic (ELETTRA)

        Sebastian Niekrasz (ELI)

        Simon White (ESRF)

        Ali Al-Sakeeri (MAX IV)
        Input
        - pyaml/accml examples
        - pyaml/accml documentation
        - specification documents

        Objectives and deliverables
        - Discuss among yourselves what kind of measurement / tuning tool is already possible to do with the existing code base
        - Make a GitHub issue(s) describing what you want to implement
        - Make a short description of the measurement in the specification document
        - A working measurement script / tuning tool for a selected use case(s),
        - Draft pull request with a new measurement/tuning tool (partially) implemented
        - Short presentation (5 - 10 minutes) on the work done so far
        - Feedback on the experience of implementing a use case (GitHub discussion)

      • 3:45 PM
        Working group 2 2h 20m A1.1.59 Pegase

        A1.1.59 Pegase

        Description

        The aim of the working group will be the merge of accml and pyaml repositories into one.

        Composition
        Guillaume Pichon (SOLEIL)

        Vadim Gubaidulin (SOLEIL)

        Waheedullah Sulaiman Khail (HZB)

        Jean-Luc Pons (ESRF)

        Ilya Agapov (DESY)

        Objectives and deliverables

        • Review of both repositories
        • Proposal/strategy of merging the two developments
        • GitHub discussion or issue describing the proposal
        • A list of functionalities to be merged
      • 3:45 PM
        Working group 3 2h 20m A2.1.22 Pyxis

        A2.1.22 Pyxis

        Description

        One potential future development path for pyAML is to build a software ecosystem. The idea is that instead of having a single package having a set of compatible packages where facilities can choose which ones they want to use or even develop their own package to add to the ecosystem. The working group should brainstorm how such an ecosystem could look like and come up with a suggestion for the next steps in case the collaboration decides to go in this direction.

        Composition
        Patrick Madela (SOLEIL)

        Teresia Olsson (HZB)

        Laurent Nadolski (SOLEIL)

        Gayane Amatuni (CANDLE)

        Murat Torun (ELI)

        Input

        • How other research communities have structured their ecosystems
        • The existing packages in the pyAML GitHub organisation
        • Experience of what might be facility, control system, accelerator type etc specific where different facilities want/need different implementations or functionality

        Objectives and deliverables

        • A figure showing the different parts in the ecosystem and how they are connected.

        • A suggestion for how the existing packages can be restructured to facilitate the ecosystem development. What needs to be in a common core, what needs to be more modular, what can be separated out into separate repositories etc.

        • Initial description of the interfaces between packages and an example showing how that can be implemented.

      • 3:45 PM
        Working group 4 2h 20m A1.0.59 Phenix

        A1.0.59 Phenix

        Description
        The primary objective of the working group is to establish a pyAML standard for performing measurements. In general, there are two ways to do measurements: simple measurement scripts and a more generic way for standard measurements. The generic way can allow for the reuse of existing code snippets in a transparent way and orchestrate a complex measurement. Both ways exist in the PAMILA toy project of Y.Hidaka, including OPTIONAL compatibility with BlueSky. The working group can brainstorm how to adapt this solution or come up with a different one.

        Composition
        Alexis Gamelin (SOLEIL)

        Konstantinos Parashou (DESY)

        Ivan Morozov (ELETTRA)

        Simone Maria Liuzzo (ESRF)

        Julian Gethmann (KIT)

        Input

        - User interface specification document (Chapter 6)
         - Implementation in the PAMILA code (https://github.com/NSLS2/pamila)

        Objectives and deliverables

        - Update on the documentation relating to generic measurements

        - Proposal of a generic way to do measurements (preferably in the form
           of GitHub discussions)

        - A code example with one of the already existing use cases done in
           both ways

        - Short presentation (~10 minutes) elaborating on the points above

      • 3:45 PM
        Working group R (remote) 2h 20m MS Teams

        MS Teams

        Description

        The primary aim of this working group is to discuss handling of unit conversion in pyAML (Ampere to strength unit; simple conversion mm to m; strength to integrated strength, etc)

        Input

        Implementation in PAMILA code 
        Pint package (https://pint.readthedocs.io/en/stable/)
        Existing implementations in accml and pyaml
        Design pattern from accml

        Objectives and deliverables

        - Update to the documentation regarding the unit conversion
         - GitHub discussion or issue describing the proposal
         - Draft pull request (PR) with implementation suggestion

    • 7:30 PM 9:30 PM
      Workshop dinner 2h Principal/0-0 - Salle Amphitheatre

      Principal/0-0 - Salle Amphitheatre

      Batiment Principal

      90
      Show room on map
    • 9:00 AM 12:00 PM
      Discussion and feedback Principal/0-0 - Salle Amphitheatre

      Principal/0-0 - Salle Amphitheatre

      Batiment Principal

      90
      Show room on map

      A session dedicated to feedback from the hackathon and discussion of the pyAML project objectives.

      Convener: Vadim GUBAIDULIN (SOLEIL)
      • 9:00 AM
        Feedback from the hackathon 1h 30m

        Discussion, feedback and showcase on the prototype features and architecture based on the working groups' results. Each group will present what they have been working on, what issues they have encountered and what they want to see improved.

        Each working group will have time to provide feedback on the pyAML prototype and present the topical proposal they were working on during the afternoon sessions of the Hackathon. For all discussed topics a GitHub discussion should be created by the group, so that the discussion can continue online, after the workshop and with a wider pyAML community involved.

      • 10:30 AM
        pyAML project objectives 2026-2027 1h 30m

        Broader discussion on the priorities and next objectives for the next years of pyAML collaboration. The aim is to discuss medium (6-12 months) and long-term goals (12-24 months) of pyAML. The outcome/minutes of this discussion will be used as input for the steering committee to define a roadmap for the project. Feedback on the work organisation should be given in this session. Possible points to discuss:

        • Missing features/functionality
        • Organisation of tests at different facilities
        • Degree of integration with other existing tools (pySC, ophyd, etc.)
        • Feedbacks (slow).
        • Graphical user interfaces. Is this in the scope of pyAML or each facility could write a GUI in their prefered way that runs pyAML under the hood?
        • Digital twin What kind of digital twin / virtual accelerator is in the scope of pyAML? We need something to run CI/CD pipelines with and something to assist in the manual testing during the development. Is HZB solution available and generic enough?
        • Ecosystem development The idea is to develop the code in a modular way, separate in different repositories etc to allow labs to pick-and-choose what they want to use and be able to integrate with potential lab-specific tools and ways to do things without those things having to go into pyAML affecting all other labs. This is an idea used by other communities and an approach I think could solve many of our issues as well as allowing labs to gradually migrate from their existing tools to pyAML
          Other aspects:
        • Feedback (human) on the development process so far, interactions, meeting organisation, GitHub projects, etc.
        • Resources committed to the project
        • Promotion of the project in the wider accelerator community
        • Next workshop edition (what? where? when?)
        • Renew/confirmation of steering committee (June 2026-June 2027)
        • Maintainer list and coordinator roles
    • 12:00 PM 12:15 PM
      Welcome and registration: Closing remarks Principal/0-0 - Salle Amphitheatre

      Principal/0-0 - Salle Amphitheatre

      Batiment Principal

      90
      Show room on map
      Convener: Dr Laurent NADOLSKI (SOLEIL)
    • 12:15 PM 3:05 PM
      Steering committee meeting: in-person meeting A1.2.32 Libra

      A1.2.32 Libra