8–12 Jun 2026
ALBA Synchrotron
Europe/Madrid timezone

Tango Keystore: Bringing Structure and Types to Free Properties

9 Jun 2026, 15:00
20m
Maxwell Auditorium (ALBA Synchrotron)

Maxwell Auditorium

ALBA Synchrotron

Carrer de la Llum 2-26 08290 Cerdanyola del Vallès, Barcelona, Spain
Talk Community Device Classes, Tools, and Applications Community Device Classes, Tools, and Applications

Speaker

Dmitry Egorov

Description

There are several ways to store and access configuration in Tango Controls:

  • Device and Сlass properties, which are the standard interface for Tango devices;
  • Local files for secrets that should not be stored in properties;
  • Sardana’s own file format for storing environment variables, e.g., ScanID or Measurement Groups, in addition to device properties for elements;
  • Free properties used by other libraries and applications (such as Python HdbReader or Role-Based Access Control), which are not attached to any device and are global across the entire control system.

MXCuBE is a data acquisition framework for macromolecular crystallography experiments. It is the result of an international collaboration and is used by many institutes, which may rely on different control systems based on Tango Controls or EPICS.

For this reason, MXCuBE uses YAML (or XML) files for configuration instead of Tango properties. It makes configuration less flexible and less accessible, and switching between working environments becomes more difficult.

Tango Keystore is a tool and library developed to overcome these limitations. It stores key–value pairs in Tango Free Properties, serialized in JSON. The data is stored together with its type (preserving the original Python type), since all properties in the Tango database are stored as strings.

It provides a convenient API for writing, reading, and updating values, as well as support for bulk operations, snapshots, and validation of user changes.

Tango Keystore can also be useful for other tools, helping to maintain a consistent configuration standard across different control systems.

Tags Properties, Tool, Library, Configuration

Primary author

Ezequiel Panepucci (MAX IV Laboratory)

Co-authors

Presentation materials

There are no materials yet.