Skip to main content

Infrastructure components for automated data processing at Diamond Light Source

Project description

Zocalo

PyPI release Conda version Build status Language grade: Python Total alerts Documentation status Supported Python versions Dependabot dependency updates Code style: black BSD license

Zocalo is an automated data processing system designed at Diamond Light Source. This repository contains infrastructure components for Zocalo.

The idea of Zocalo is a simple one - to build a messaging framework, where text-based messages are sent between parts of the system to coordinate data analysis. In the wider scope of things this also covers things like archiving, but generally it is handling everything that happens after data aquisition.

Zocalo as a wider whole is made up of two repositories (plus some private internal repositories when deployed at Diamond):

  • DiamondLightSource/python-zocalo - Infrastructure components for automated data processing, developed by Diamond Light Source. The package is available through PyPi and conda-forge.

  • DiamondLightSource/python-workflows - Zocalo is built on the workflows package. It shouldn’t be necessary to interact too much with this package, as the details are abstracted by Zocalo. workflows controls the logic of how services connect to each other and what a service is, and actually send the messages to a message broker. Currently this is an ActiveMQ broker (via STOMP) but support for a RabbitMQ broker (via pika) is being added. This is also available on PyPi and conda-forge.

As mentioned, Zocalo is currently built on top of ActiveMQ. ActiveMQ is an apache project that provides a message broker server, acting as a central dispatch that allows various services to communicate. Messages are plaintext, but from the Zocalo point of view it’s passing aroung python objects (json dictionaries). Every message sent has a destination to help the message broker route. Messages may either be sent to a specific queue or broadcast to multiple queues. These queues are subscribed to by the services that run in Zocalo. In developing with Zocalo, you may have to interact with ActiveMQ or RabbitMQ, but it is unlikely that you will have to configure it.

Zocalo allows for the monitoring of jobs executing python-workflows services or recipe wrappers. The python-workflows package contains most of the infrastructure required for the jobs themselves and more detailed documentation of its components can be found in the python-workflows GitHub repository and the Zocalo documentation.

History

0.7.4 (2021-03-17)

  • Documentation improvements

0.7.3 (2021-01-19)

  • Ignore error when logserver hostname can’t be looked up immediately

0.7.2 (2021-01-18)

  • Add a symbolic link handling library function

  • Cache the logserver hostname by default

0.7.1 (2020-11-13)

  • Add a –dry-run option to zocalo.go

0.7.0 (2020-11-02)

  • Drop support for Python 3.5

  • Update language constructs for Python 3.6+

0.6.4 (2020-11-02)

  • Add support for Python 3.9

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zocalo-0.7.4.tar.gz (124.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zocalo-0.7.4-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file zocalo-0.7.4.tar.gz.

File metadata

  • Download URL: zocalo-0.7.4.tar.gz
  • Upload date:
  • Size: 124.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for zocalo-0.7.4.tar.gz
Algorithm Hash digest
SHA256 424248b768708f447ca448c21ed6db1a74847a40de8c5a16aca56442280e7a73
MD5 5affab3282289fd3f958f381cac92050
BLAKE2b-256 54d40b30ac91a106b3ec96052a762f45f4e6691fee928a5d3eb8fa3e9c19f295

See more details on using hashes here.

File details

Details for the file zocalo-0.7.4-py3-none-any.whl.

File metadata

  • Download URL: zocalo-0.7.4-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for zocalo-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8b4cba6bb62f4b5efbb56484699654edc34137a8b1053047aaeb68b07664a5dd
MD5 587c317e43262d8d3b269c92089d28a8
BLAKE2b-256 708e7561ffa09931e56f8410da8b605ed507eeaebe9995ce301c6f4b4901368d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page