%global _empty_manifest_terminate_build 0
Name: python-phoebusgen
Version: 2.6.1
Release: 1
Summary: Control screen generator for Phoebus
License: GNU General Public License v2 (GPLv2)
URL: https://github.com/tynanford/phoebusgen
Source0: https://mirrors.aliyun.com/pypi/web/packages/d4/3a/b29d113f7e757f6dce5160958d69ad237d1914968a6b2f46551d82b48c41/phoebusgen-2.6.1.tar.gz
BuildArch: noarch
%description
# Python Module to Generate Phoebus Control Screens
[](https://pypi.org/project/phoebusgen/)
[](https://github.com/als-epics/phoebusgen/actions)
[](https://codecov.io/gh/als-epics/phoebusgen)
[](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml)
[](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml)
[](https://www.codacy.com/gh/als-epics/phoebusgen/dashboard?utm_source=github.com&utm_medium=referral&utm_content=als-epics/phoebusgen&utm_campaign=Badge_Grade)
Phoebus is the next generation of Control System Studio, a graphical platform for EPICS control systems.
https://github.com/ControlSystemStudio/phoebus
This module aims to provide a way to generate Phoebus xml through Python. See examples [here](examples).
API docs here: [https://als-epics.github.io/phoebusgen](https://als-epics.github.io/phoebusgen/)
Suggestions, comments, and pull requests are welcome.
## Requirements
- Python >= 3.5
## Install
Pip Package: [phoebusgen](https://pypi.org/project/phoebusgen/)
```shell
pip install phoebusgen
```
## Intro
Phoebus widgets and a Phoebus screen are all Python objects. Widgets can be added to a screen or even to other widgets (for things like Group or Tab widgets).
```pycon
>>> import phoebusgen
>>> text_update_widget = phoebusgen.widget.TextUpdate('test widget', 'TEST:PV', 10, 20, 20, 50)
>>> text_update_widget.predefined_foreground_color(phoebusgen.colors.OK)
>>> text_update_widget.font_style_bold()
>>> print(text_update_widget)
test widget
10
20
20
50
TEST:PV
```
## Modules
### phoebusgen.widget
Python API to directly create Phoebus widgets. All standard Phoebus widgets are available, but some (3) are not fully feature complete.
[Widgets Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.widget.html#module-phoebusgen.widget.widgets)
#### Incomplete Widgets
- Image
- Strip Chart
- X/Y Plot
Example
- ```text_update_xml = phoebusgen.widget.TextUpdate(widget_name, pv_name, x, y, width, height)```
### phoebusgen.screen
Python object to represent a Phoebus screen. Widgets can be added to the screen object and the screen object can be written to a .bob file to be opened in Phoebus.
[Screen Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.screen.html#module-phoebusgen.screen.screen)
Example
```pycon
>>> import phoebusgen.screen
>>> import phoebusgen.widget
>>> my_screen = phoebusgen.screen.Screen("my screen")
>>> print(my_screen)
my screen
>>> my_widget = phoebusgen.widget.TextUpdate("test", "test:PV", 10, 10 ,10 ,10)
>>> my_screen.add_widget(my_widget)
>>> print(my_screen)
my screen
test
10
10
10
10
test:PV
```
## Site specific color and font definitions
Place a custon color.def or font.def in ~/.phoebusgen/ to force phoebusgen.colors or phoebusgen.fonts to reflect your site's custom definitions.
```python
my_widget.predefined_font(phoebusgen.fonts.Header1)
```
```python
my_widget.predefined_color(phoebusgen.colors.OK)
```
%package -n python3-phoebusgen
Summary: Control screen generator for Phoebus
Provides: python-phoebusgen
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-phoebusgen
# Python Module to Generate Phoebus Control Screens
[](https://pypi.org/project/phoebusgen/)
[](https://github.com/als-epics/phoebusgen/actions)
[](https://codecov.io/gh/als-epics/phoebusgen)
[](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml)
[](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml)
[](https://www.codacy.com/gh/als-epics/phoebusgen/dashboard?utm_source=github.com&utm_medium=referral&utm_content=als-epics/phoebusgen&utm_campaign=Badge_Grade)
Phoebus is the next generation of Control System Studio, a graphical platform for EPICS control systems.
https://github.com/ControlSystemStudio/phoebus
This module aims to provide a way to generate Phoebus xml through Python. See examples [here](examples).
API docs here: [https://als-epics.github.io/phoebusgen](https://als-epics.github.io/phoebusgen/)
Suggestions, comments, and pull requests are welcome.
## Requirements
- Python >= 3.5
## Install
Pip Package: [phoebusgen](https://pypi.org/project/phoebusgen/)
```shell
pip install phoebusgen
```
## Intro
Phoebus widgets and a Phoebus screen are all Python objects. Widgets can be added to a screen or even to other widgets (for things like Group or Tab widgets).
```pycon
>>> import phoebusgen
>>> text_update_widget = phoebusgen.widget.TextUpdate('test widget', 'TEST:PV', 10, 20, 20, 50)
>>> text_update_widget.predefined_foreground_color(phoebusgen.colors.OK)
>>> text_update_widget.font_style_bold()
>>> print(text_update_widget)
test widget
10
20
20
50
TEST:PV
```
## Modules
### phoebusgen.widget
Python API to directly create Phoebus widgets. All standard Phoebus widgets are available, but some (3) are not fully feature complete.
[Widgets Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.widget.html#module-phoebusgen.widget.widgets)
#### Incomplete Widgets
- Image
- Strip Chart
- X/Y Plot
Example
- ```text_update_xml = phoebusgen.widget.TextUpdate(widget_name, pv_name, x, y, width, height)```
### phoebusgen.screen
Python object to represent a Phoebus screen. Widgets can be added to the screen object and the screen object can be written to a .bob file to be opened in Phoebus.
[Screen Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.screen.html#module-phoebusgen.screen.screen)
Example
```pycon
>>> import phoebusgen.screen
>>> import phoebusgen.widget
>>> my_screen = phoebusgen.screen.Screen("my screen")
>>> print(my_screen)
my screen
>>> my_widget = phoebusgen.widget.TextUpdate("test", "test:PV", 10, 10 ,10 ,10)
>>> my_screen.add_widget(my_widget)
>>> print(my_screen)
my screen
test
10
10
10
10
test:PV
```
## Site specific color and font definitions
Place a custon color.def or font.def in ~/.phoebusgen/ to force phoebusgen.colors or phoebusgen.fonts to reflect your site's custom definitions.
```python
my_widget.predefined_font(phoebusgen.fonts.Header1)
```
```python
my_widget.predefined_color(phoebusgen.colors.OK)
```
%package help
Summary: Development documents and examples for phoebusgen
Provides: python3-phoebusgen-doc
%description help
# Python Module to Generate Phoebus Control Screens
[](https://pypi.org/project/phoebusgen/)
[](https://github.com/als-epics/phoebusgen/actions)
[](https://codecov.io/gh/als-epics/phoebusgen)
[](https://github.com/als-epics/phoebusgen/actions/workflows/build-docs.yml)
[](https://github.com/als-epics/phoebusgen/actions/workflows/python-publish.yml)
[](https://www.codacy.com/gh/als-epics/phoebusgen/dashboard?utm_source=github.com&utm_medium=referral&utm_content=als-epics/phoebusgen&utm_campaign=Badge_Grade)
Phoebus is the next generation of Control System Studio, a graphical platform for EPICS control systems.
https://github.com/ControlSystemStudio/phoebus
This module aims to provide a way to generate Phoebus xml through Python. See examples [here](examples).
API docs here: [https://als-epics.github.io/phoebusgen](https://als-epics.github.io/phoebusgen/)
Suggestions, comments, and pull requests are welcome.
## Requirements
- Python >= 3.5
## Install
Pip Package: [phoebusgen](https://pypi.org/project/phoebusgen/)
```shell
pip install phoebusgen
```
## Intro
Phoebus widgets and a Phoebus screen are all Python objects. Widgets can be added to a screen or even to other widgets (for things like Group or Tab widgets).
```pycon
>>> import phoebusgen
>>> text_update_widget = phoebusgen.widget.TextUpdate('test widget', 'TEST:PV', 10, 20, 20, 50)
>>> text_update_widget.predefined_foreground_color(phoebusgen.colors.OK)
>>> text_update_widget.font_style_bold()
>>> print(text_update_widget)
test widget
10
20
20
50
TEST:PV
```
## Modules
### phoebusgen.widget
Python API to directly create Phoebus widgets. All standard Phoebus widgets are available, but some (3) are not fully feature complete.
[Widgets Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.widget.html#module-phoebusgen.widget.widgets)
#### Incomplete Widgets
- Image
- Strip Chart
- X/Y Plot
Example
- ```text_update_xml = phoebusgen.widget.TextUpdate(widget_name, pv_name, x, y, width, height)```
### phoebusgen.screen
Python object to represent a Phoebus screen. Widgets can be added to the screen object and the screen object can be written to a .bob file to be opened in Phoebus.
[Screen Docs](https://als-epics.github.io/phoebusgen/source/phoebusgen.screen.html#module-phoebusgen.screen.screen)
Example
```pycon
>>> import phoebusgen.screen
>>> import phoebusgen.widget
>>> my_screen = phoebusgen.screen.Screen("my screen")
>>> print(my_screen)
my screen
>>> my_widget = phoebusgen.widget.TextUpdate("test", "test:PV", 10, 10 ,10 ,10)
>>> my_screen.add_widget(my_widget)
>>> print(my_screen)
my screen
test
10
10
10
10
test:PV
```
## Site specific color and font definitions
Place a custon color.def or font.def in ~/.phoebusgen/ to force phoebusgen.colors or phoebusgen.fonts to reflect your site's custom definitions.
```python
my_widget.predefined_font(phoebusgen.fonts.Header1)
```
```python
my_widget.predefined_color(phoebusgen.colors.OK)
```
%prep
%autosetup -n phoebusgen-2.6.1
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-phoebusgen -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Tue Jun 20 2023 Python_Bot - 2.6.1-1
- Package Spec generated