Welcome to DASF’s documentation!
The python module wrapper for the data analytics software framework DASF
The Data Analytics Software Framework DASF supports scientists to conduct data analysis in distributed IT infrastructures by sharing data analysis tools and data. For this purpose, DASF defines a remote procedure call (RPC) messaging protocol that uses a central message broker instance. Scientists can augment their tools and data with this protocol to share them with others or re-use them in different contexts.
Language support
The DASF RPC messaging protocol is based on JSON and uses Websockets for the underlying data exchange. Therefore the DASF RPC messaging protocol in general is language agnostic, so all languages with Websocket support can be utilized. As a start DASF provides two ready-to-use language bindings for the messaging protocol, one for Python and one for the Typescript programming language.
Needed infrastructure
DASF distributes messages via a central message broker. Currently we support a self-developed message broker called dasf-broker-django, as well as an ‘off-the-shelf’ solution called Apache Pulsar. Both are quite versatile and highly configurable depending on your requirements. (also see: Choosing the message broker)
Apache Pulsar
In case you are just getting started, we recommend to use Apache Pulsar (see docker command below to start your local instance). It can be setup in various ways, e.g. locally, Docker or in a cluster. Please refer to the corresponding documentation for your own setup. We tested DASF with Version 2.7.*, but in general all later versions should also be supported.
Docker Image
The Apache Pulsar Docker image can be found here
You can start a standalone instance of pulsar with:
docker run -d --name pulsar -p 80:80 -p 8080:8080 -p 6650:6650 apachepulsar/pulsar-standalone:2.7.4
You might also use our pulsar message broker script to start/stop a local pulsar-standalone docker image.
WebSocket Service
Since the DASF RPC messaging protocol uses Websockets, Pulsars Websocket-Service has to be enabled. In case you setup the standalone variant, this should already be the case.
On how to enable the WebSocket-Service for the other variants please consult the corresponding documentation.
Table of Contents
How to cite this software
Daniel D., Philipp S. P.S. Data Analytics Software Framework URL: https://git.geomar.de/digital-earth/dasf/dasf-messaging-python
@misc{YourReferenceHere,
author = {Daniel, Daniel and Philipp S., Philipp S.},
title = {Data Analytics Software Framework},
url = {https://git.geomar.de/digital-earth/dasf/dasf-messaging-python}
}
TY - GEN
AB - python module wrapper for the data analytics software framework DASF
AU - Daniel, Daniel
AU - Philipp S., Philipp S.
KW - digital-earth
KW - dasf
KW - pulsar
KW - gfz
KW - hzg
KW - hereon
KW - hgf
KW - helmholtz
KW - remote procedure call
KW - rpc
KW - django
KW - python
KW - websocket
TI - Data Analytics Software Framework
UR - https://git.geomar.de/digital-earth/dasf/dasf-messaging-python
ER
%0 Generic
%A Daniel, Daniel
%A Philipp S., Philipp S.
%K digital-earth
%K dasf
%K pulsar
%K gfz
%K hzg
%K hereon
%K hgf
%K helmholtz
%K remote procedure call
%K rpc
%K django
%K python
%K websocket
%T Data Analytics Software Framework
%U https://git.geomar.de/digital-earth/dasf/dasf-messaging-python
# SPDX-FileCopyrightText: 2019-2023 Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences
# SPDX-FileCopyrightText: 2021-2023 Helmholtz-Zentrum hereon GmbH
#
# SPDX-License-Identifier: CC0-1.0
authors:
# list author information. see
# https://github.com/citation-file-format/citation-file-format/blob/main/schema-guide.md#definitionsperson
# for metadata
- family-names: "Daniel"
given-names: "Daniel"
affiliation: "Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences"
# orcid: null
email: "daniel.eggert@gfz-potsdam.de"
- family-names: "Philipp S."
given-names: "Philipp S."
affiliation: "Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences"
# orcid: null
email: "philipp.sommer@hereon.de"
cff-version: 1.2.0
message: "If you use this software, please cite it using these metadata."
title: "Data Analytics Software Framework"
keywords:
- "digital-earth"
- "dasf"
- "pulsar"
- "gfz"
- "hzg"
- "hereon"
- "hgf"
- "helmholtz"
- "remote procedure call"
- "rpc"
- "django"
- "python"
- "websocket"
license: 'Apache-2.0'
repository-code: "https://git.geomar.de/digital-earth/dasf/dasf-messaging-python"
url: "https://git.geomar.de/digital-earth/dasf/dasf-messaging-python"
contact:
# list maintainer information. see
# https://github.com/citation-file-format/citation-file-format/blob/main/schema-guide.md#definitionsperson
# for metadata
- family-names: "Philipp S."
given-names: "Philipp S."
affiliation: "Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences"
# orcid: null
email: "philipp.sommer@hereon.de"
abstract: |
python module wrapper for the data analytics software framework DASF
Open Source and Open Science
License information
Copyright © 2019-2023 Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences Copyright © 2020-2021 Helmholtz-Zentrum Geesthacht Copyright © 2021-2023 Helmholtz-Zentrum hereon GmbH
The source code of dasf-messaging-python is licensed under Apache-2.0.
If not stated otherwise, the contents of this documentation is licensed under CC-BY-4.0.
Repository
The individual DASF modules are developed via the following git group. Feel free to checkout the source code or leave comment via the service desk or directly via the issue tracker.
Gitlab Repository URL
Acknowledgment
DASF is developed at the GFZ German Research Centre for Geosciences (https://www.gfz-potsdam.de) in collaboration with the Helmholtz-Zentrum Hereon https://www.hereon.de and was funded by the Initiative and Networking Fund of the Helmholtz Association through the Digital Earth project (https://www.digitalearth-hgf.de/).