Metadata-Version: 2.4
Name: accelerator-middle-layer
Version: 0.2.3
Summary: Python Accelerator Middle Layer
Project-URL: Homepage, https://github.com/python-accelerator-middle-layer/pyaml
Project-URL: Documentation, https://python-accelerator-middle-layer.github.io/pyaml/
Project-URL: Repository, https://github.com/python-accelerator-middle-layer/pyaml.git
Maintainer-email: Simone Maria Liuzzo <simone.liuzzo@esrf.fr>
License-File: LICENSE
Keywords: Accelerator,Commissioning,Digital Twin,Operation,Synchrotron,Tuning
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.11
Requires-Dist: accelerator-commissioning==0.4.0
Requires-Dist: accelerator-toolbox>=0.6.1
Requires-Dist: h5py
Requires-Dist: matplotlib
Requires-Dist: numpy>=1.21.0
Requires-Dist: pydantic>=2.11.7
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: scipy>=1.7.3
Provides-Extra: cs-oa-epics
Requires-Dist: pyaml-cs-oa[epics]; extra == 'cs-oa-epics'
Provides-Extra: cs-oa-tango
Requires-Dist: pyaml-cs-oa[tango]; extra == 'cs-oa-tango'
Provides-Extra: dev
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: doc
Requires-Dist: myst-nb; extra == 'doc'
Requires-Dist: myst-parser; extra == 'doc'
Requires-Dist: pydata-sphinx-theme; extra == 'doc'
Requires-Dist: sphinx-copybutton; extra == 'doc'
Requires-Dist: sphinx-design; extra == 'doc'
Requires-Dist: sphinx~=8.1; extra == 'doc'
Provides-Extra: tango-pyaml
Requires-Dist: tango-pyaml; extra == 'tango-pyaml'
Provides-Extra: test
Requires-Dist: pytest-cov>=3.0; extra == 'test'
Requires-Dist: pytest>=7.4; extra == 'test'
Description-Content-Type: text/markdown

[![Documentation Status](https://readthedocs.org/projects/pyaml/badge/?version=latest)](https://pyaml.readthedocs.io/en/latest/?badge=latest)
![Current release](https://img.shields.io/github/v/tag/python-accelerator-middle-layer/pyaml)

# Python Accelerator Middle Layer

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

The code is still under development. The features include among others:

- A control system agnostic interface to interact with the accelerator.
- Same interface to different backends: live accelerator, virtual accelerator and simulator.
- Machine independence allowing configuration of different type of accelerators and facility specific naming conventions.
- Unit conversions.
- Automatic generation of metadata and standardized format for measurement data.
- A set of standard applications and a framework for developing new applications.

**This repository is for the core of pyAML.** It is control system independent and provides the core functionality of pyAML. It is intended to be used together with a package that implements the control system specific interface.

Available packages for bindings:

TANGO: [tango-pyaml](https://github.com/python-accelerator-middle-layer/tango-pyaml)
TANGO or EPICS: [pyaml-cs-oa](https://github.com/python-accelerator-middle-layer/pyaml-cs-oa)

#### Installation

Installation instructions for both user and development installation can be found in the [documentation](https://pyaml.readthedocs.io/en/latest/?badge=latest).

#### Documentation

The documentation is available [here](https://pyaml.readthedocs.io/en/latest/?badge=latest).

In the documentation there are both examples and Jupyter notebooks available for how to use the package.
