--- id: phoebusgen version: "3.3.0" license: GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and… (full text in the JSON record) license_treatment: copyleft maintenance: active --- # phoebusgen — Screen generator for CS-Studio Phoebus displays License: copyleft · Maintenance: active · Downloads: 127.3K/mo ## What it is and what it does phoebusgen is a Python library that generates Phoebus Display Builder XML—the format used by Phoebus, the next-generation control interface for EPICS control systems. Instead of manually editing XML or using the graphical editor, you define screens and widgets as Python objects, configure their properties through method calls, and serialize them to .bob files ready for Phoebus to open. It covers all standard Phoebus widgets and supports multiple Phoebus versions through configurable widget definitions. The library is organized around two main modules: phoebusgen.widget provides Python classes for every Phoebus widget type with methods to set colors, fonts, and other properties; phoebusgen.screen wraps a collection of widgets into a complete screen object. You can nest widgets inside containers like Group or Tab, override site-specific color and font definitions via configuration files, and target different Phoebus releases by changing the active version. It has minimal dependencies—only dataclasses—making it lightweight to integrate into build pipelines or automation scripts. Use it for: - Automate generation of repetitive EPICS control screens from a template or database of PV names - Version-control screen definitions as Python code rather than binary or XML files - Programmatically create screen variants for different Phoebus versions without manual editing - Integrate screen generation into CI/CD pipelines for control system deployments - Generate screens dynamically based on runtime configuration or device discovery ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Generates Phoebus Display Builder XML format programmatically from Python, allowing you to create control system UI screens as code rather than through the graphical editor. Yes, if you work with Phoebus and EPICS control systems and want to automate or version-control screen generation. The package is actively maintained, has no security vulnerabilities, and carries low install friction. The GPLv2 license is a consideration only if you plan to distribute proprietary derivatives; internal use is unrestricted. Install it if screen-as-code fits your workflow; skip it if you only occasionally edit screens in the GUI. ## Install pip install phoebusgen uv add phoebusgen poetry add phoebusgen ## Installing phoebusgen Before you install: Low friction: pure Python wheel with only dataclasses as a runtime dependency. Active maintenance with a recent release and ongoing repository activity. License in practice: GPLv2 copyleft license requires that any derivative work or distribution must also be licensed under GPLv2 and include source code availability. This is restrictive for proprietary applications but poses no issue for internal or open-source use. Quickstart: pip install phoebusgen import phoebusgen widget = phoebusgen.widget.TextUpdate('my_widget', 'TEST:PV', 10, 20, 20, 50) screen = phoebusgen.screen.Screen('my_screen') screen.add_widget(widget) print(screen) # outputs Display Builder XML Verify before relying: - Whether version-specific widget definitions beyond 4.7.3 are maintained or planned - Performance characteristics when generating screens with many widgets ## Package facts - License: GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and… (full text in the JSON record) (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 127.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags phoebus screen generator, epics control system ui, display builder xml python, cs-studio screen automation, control system display code, epics, control-systems, code-generation [View on SkillFed](https://skillfed.io/packages/phoebusgen) · [View on PyPI](https://pypi.org/project/phoebusgen/)