From b5c9bb4418c11be18919ad1b6d9bd524d3629f47 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 12:50:13 +0000 Subject: automatic import of python-pelops --- python-pelops.spec | 252 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 python-pelops.spec (limited to 'python-pelops.spec') diff --git a/python-pelops.spec b/python-pelops.spec new file mode 100644 index 0000000..db56c7f --- /dev/null +++ b/python-pelops.spec @@ -0,0 +1,252 @@ +%global _empty_manifest_terminate_build 0 +Name: python-Pelops +Version: 0.5.0 +Release: 1 +Summary: Common tools for projects of the the gitlab group pelops. +License: MIT license +URL: https://gitlab.com/pelops/pelops/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/86/c4/3d30985e41dfb8c25eb8681bfd9526008538d2ca90a2f0a6e1ef21d66331/Pelops-0.5.0.tar.gz +BuildArch: noarch + + +%description +Pelops is a set of microservices that are coupled via mqtt. The idea is +to provide small programs that are configured and drive raspberry pi +controlled sensors and actuators. Thus - ideally - rich solutions can be +built without any programming and with little engineering efford. It can +be used for example to make a stand alone solution on one raspi, make a +distributed system where several devices interact (maybe even via +internet services like AWS IoT), or interact with home automation +systems like openhab. Focus is on ePapers for display devices (currently +supported are three epapers/einks from Waveshare). + Component Overview +| Currently, the following microservices are available: \* + `Alcathous `__ - This software + subscribes to mqtt-topics that contain raw sensor data and publishes + average values for configurable time spans. \* + `Argaeus `__ - + ThermostatGUIController/Frontend for a room thermostat with epaper \* + `Archippe `__ - Archippe is a data + persistence micro service for pelops. Targets are influxdb and + csv-files. \* `Copreus `__ - This + library provides a framework to write device driver for the raspberry + pi that are connected to MQTT. \* + `Epidaurus `__ - PID controller + for thermostat \* `Eurydike `__ - + Eurydike is a simple event detection. Reacts to above-threshold, + below-threshold, and outside value-band. +| \* `Hippasos `__ - Mqtt + microservice to play sounds. +| \* `Nikippe `__ - A general purpose + gui image generator/display server - takes values from mqtt and sends + image to mqtt. +In production are: \* +`Hippodamia `__ - Hippodamia +observe the state of all registered microservices (aka watch dog). \* +`Lysidike `__ - Lysidike publishes +incoming mqtt messages to various internet services like email. (todos: +documentation) \* `Thyestes `__ - +Timer microservice. Listens on topics for specific messages, starts a +timer when such a messages has been received and publishes a predefined +message after the timer expired. (todos: documentation) \* +`Skeiron `__ - +Forwarding/Echo/Collect/Distribute service. (todos: documentation) +Planned microservices: \* +`Pleisthenes `__ - A weather +microservice (connects to a weather site and provides e.g. local sun +radiation) +Further ideas for general purpose services: \* +And/or/xor/not/nand/nor/xnor - for boolean/int messages and for +arbitrary evaulation statements on the content of the messages. plus +timeout (how long is a message valid to be joined with another message +in such an operation) \* Lambda - takes an incoming message, applies the +configured lambda function to it, and publishes the result. three +flavors: lambda code in config, python3 core function, function from an +arbitrary module. important: functions must accept one parameter and one +only and return one result that can be handled by the mqtt client +(paho.mqtt). +Ideas for controllers / applications: \* A pool pump / solar panel +controller that heats/cools the pool \* A floor heating system +controller \* A multiroom humidifier controller +The project `Pelops `__ provides +common classes like mqtt-client, pyyaml wrapper. Thus it is not a +microservice itself. + +%package -n python3-Pelops +Summary: Common tools for projects of the the gitlab group pelops. +Provides: python-Pelops +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-Pelops +Pelops is a set of microservices that are coupled via mqtt. The idea is +to provide small programs that are configured and drive raspberry pi +controlled sensors and actuators. Thus - ideally - rich solutions can be +built without any programming and with little engineering efford. It can +be used for example to make a stand alone solution on one raspi, make a +distributed system where several devices interact (maybe even via +internet services like AWS IoT), or interact with home automation +systems like openhab. Focus is on ePapers for display devices (currently +supported are three epapers/einks from Waveshare). + Component Overview +| Currently, the following microservices are available: \* + `Alcathous `__ - This software + subscribes to mqtt-topics that contain raw sensor data and publishes + average values for configurable time spans. \* + `Argaeus `__ - + ThermostatGUIController/Frontend for a room thermostat with epaper \* + `Archippe `__ - Archippe is a data + persistence micro service for pelops. Targets are influxdb and + csv-files. \* `Copreus `__ - This + library provides a framework to write device driver for the raspberry + pi that are connected to MQTT. \* + `Epidaurus `__ - PID controller + for thermostat \* `Eurydike `__ - + Eurydike is a simple event detection. Reacts to above-threshold, + below-threshold, and outside value-band. +| \* `Hippasos `__ - Mqtt + microservice to play sounds. +| \* `Nikippe `__ - A general purpose + gui image generator/display server - takes values from mqtt and sends + image to mqtt. +In production are: \* +`Hippodamia `__ - Hippodamia +observe the state of all registered microservices (aka watch dog). \* +`Lysidike `__ - Lysidike publishes +incoming mqtt messages to various internet services like email. (todos: +documentation) \* `Thyestes `__ - +Timer microservice. Listens on topics for specific messages, starts a +timer when such a messages has been received and publishes a predefined +message after the timer expired. (todos: documentation) \* +`Skeiron `__ - +Forwarding/Echo/Collect/Distribute service. (todos: documentation) +Planned microservices: \* +`Pleisthenes `__ - A weather +microservice (connects to a weather site and provides e.g. local sun +radiation) +Further ideas for general purpose services: \* +And/or/xor/not/nand/nor/xnor - for boolean/int messages and for +arbitrary evaulation statements on the content of the messages. plus +timeout (how long is a message valid to be joined with another message +in such an operation) \* Lambda - takes an incoming message, applies the +configured lambda function to it, and publishes the result. three +flavors: lambda code in config, python3 core function, function from an +arbitrary module. important: functions must accept one parameter and one +only and return one result that can be handled by the mqtt client +(paho.mqtt). +Ideas for controllers / applications: \* A pool pump / solar panel +controller that heats/cools the pool \* A floor heating system +controller \* A multiroom humidifier controller +The project `Pelops `__ provides +common classes like mqtt-client, pyyaml wrapper. Thus it is not a +microservice itself. + +%package help +Summary: Development documents and examples for Pelops +Provides: python3-Pelops-doc +%description help +Pelops is a set of microservices that are coupled via mqtt. The idea is +to provide small programs that are configured and drive raspberry pi +controlled sensors and actuators. Thus - ideally - rich solutions can be +built without any programming and with little engineering efford. It can +be used for example to make a stand alone solution on one raspi, make a +distributed system where several devices interact (maybe even via +internet services like AWS IoT), or interact with home automation +systems like openhab. Focus is on ePapers for display devices (currently +supported are three epapers/einks from Waveshare). + Component Overview +| Currently, the following microservices are available: \* + `Alcathous `__ - This software + subscribes to mqtt-topics that contain raw sensor data and publishes + average values for configurable time spans. \* + `Argaeus `__ - + ThermostatGUIController/Frontend for a room thermostat with epaper \* + `Archippe `__ - Archippe is a data + persistence micro service for pelops. Targets are influxdb and + csv-files. \* `Copreus `__ - This + library provides a framework to write device driver for the raspberry + pi that are connected to MQTT. \* + `Epidaurus `__ - PID controller + for thermostat \* `Eurydike `__ - + Eurydike is a simple event detection. Reacts to above-threshold, + below-threshold, and outside value-band. +| \* `Hippasos `__ - Mqtt + microservice to play sounds. +| \* `Nikippe `__ - A general purpose + gui image generator/display server - takes values from mqtt and sends + image to mqtt. +In production are: \* +`Hippodamia `__ - Hippodamia +observe the state of all registered microservices (aka watch dog). \* +`Lysidike `__ - Lysidike publishes +incoming mqtt messages to various internet services like email. (todos: +documentation) \* `Thyestes `__ - +Timer microservice. Listens on topics for specific messages, starts a +timer when such a messages has been received and publishes a predefined +message after the timer expired. (todos: documentation) \* +`Skeiron `__ - +Forwarding/Echo/Collect/Distribute service. (todos: documentation) +Planned microservices: \* +`Pleisthenes `__ - A weather +microservice (connects to a weather site and provides e.g. local sun +radiation) +Further ideas for general purpose services: \* +And/or/xor/not/nand/nor/xnor - for boolean/int messages and for +arbitrary evaulation statements on the content of the messages. plus +timeout (how long is a message valid to be joined with another message +in such an operation) \* Lambda - takes an incoming message, applies the +configured lambda function to it, and publishes the result. three +flavors: lambda code in config, python3 core function, function from an +arbitrary module. important: functions must accept one parameter and one +only and return one result that can be handled by the mqtt client +(paho.mqtt). +Ideas for controllers / applications: \* A pool pump / solar panel +controller that heats/cools the pool \* A floor heating system +controller \* A multiroom humidifier controller +The project `Pelops `__ provides +common classes like mqtt-client, pyyaml wrapper. Thus it is not a +microservice itself. + +%prep +%autosetup -n Pelops-0.5.0 + +%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-Pelops -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 0.5.0-1 +- Package Spec generated -- cgit v1.2.3