Skip to main content

Karabo SCADA Framework - Services

Karabo Badge PyPI - Version PyPI - Python Version PyPI - License PyPI - Wheel GitHub language count GitHub top language GitHub contributors GitHub commit activity GitHub Repo stars

This package provides the service commands required in a Karabo environment.

Please check https://pypi.org/project/Karabo/ for an overview of Karabo's components and ways to install the full system.

Installation

To install run

pip install karabo.services

or use the full or services options when installing the karabo package:

pip install karabo[full]
pip install karabo[services]

This package itself is pure Python but depends on karabo.daemontools which requires compiled code.

You can add the option with_cpp to also install karabo.cpp and the associated services

pip install karabo.services[with_cpp]

List of commands

karabo-activate

Initially activates a Karabo environment by initializing structures into a user defined directory. You will need to execute this command first, before most other commands succeed (you'll get a message that Karabo was not found if you didn't).

Execute

karabo-activate --init-to $PATH --help

to see the options for creating a Karabo environment in PATH. You can use the the --broker-host and --broker-topic modifiers to configure the default broker settings Karabo servers added to this environment will use. Run karabo-activate again (you can omit --init-to now) to reconfigure these settings. The --backbone option will only take effect when an environment is first created, and will install the Karabo backbone services into this environment.

Starting a Karabo standalone system

If you wish to run Karabo standalone you can do this if you have podman or docker installed on the system.

First, run

karabo-activate --init-to PATH --standalone

Then run

podman-compose -f $PATH/var/containers/compose.yaml up

or (docker-compose ...). This will start containerized version of the services a full Karabo installation requires:

  • A RabbitMQ broker (user: xfel, pw: karabo)
  • An Influx database instance for logging (user: infadm, pw: admpwd)
  • A Grafana installation with the Influx database as a pre-provisioned source (user: admin, pw: admin)

Note that the Grafana provisioning assumes karabo as the broker topic in use. If you've used karabo-activate --broker-topic TOPIC you'll need to edit the data source to refer to a database of TOPIC from inside Grafana.

Additionally, the above setup will use a local sqlite database for projects. You can switch this to MySQL database by providing the following arguments to karabo-activate:

  • --project-db HOST:PORT
  • --project-db-user USER
  • --project-db-pw PASSWORD
  • --project-db-name DATABASE_NAME

Finally, run

$PATH/activate

followed by

karabo-start

ikarabo

The interactive Karabo Python shell. Includes device orchistration and scripting using Karathon.

karabo-start, karabo-stop, karabo-kill

Scripts that start, stop, or kill a Karabo device server managed by karabo.daemontools or all such servers.

karabo-check

Outputs the current status of Karabo services managed by karabo.daemontools

karabo-add-deviceserver, karabo-remove-deviceserver

Adds or removes a Karabo device server to the services managed by karabo.daemontools.

Additional commands.

This package exposes additional (internal) commands as entrypoints which are not further described here.

Metadata

Release files for karabo.services 3.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for karabo.services 3.1.2
File Size Uploaded
karabo_services-3.1.2.tar.gz 20.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for karabo.services 3.1.2
File Interpreter ABI Platform
karabo_services-3.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 57.1 kB

Release files / karabo_services-3.1.2.tar.gz

Download URL karabo_services-3.1.2.tar.gz
Size 20.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9cc4d59f73f7e7407ec8df3d26f345c7c1e65f2afccf85b3e7174e6401e64ee4
BLAKE2b-256 checksum
How to use checksums
4d4f7dd669a3b041c3f2d74284519d716616d1cad7d2407bec2e51154867a86a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / karabo_services-3.1.2-py3-none-any.whl

Download URL karabo_services-3.1.2-py3-none-any.whl
Size 36.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
928d8bf31f66677572c5c3f4807950e3f41cfb6ea6d4f41ede451e62deaf73c6
BLAKE2b-256 checksum
How to use checksums
4fce64ae8b016e197a7e1c7b6ea538f584faf94e4419e1c8c1e677c921eba072
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

3.1.2 This release

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.9

2 release files

3.0.8

2 release files

3.0.7

2 release files

3.0.5

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.21.5

2 release files

2.21.4

2 release files

2.21.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page