<!--
SPDX-FileCopyrightText: 2019-2024 Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences
SPDX-FileCopyrightText: 2020-2021 Helmholtz-Zentrum Geesthacht GmbH
SPDX-FileCopyrightText: 2021-2024 Helmholtz-Zentrum hereon GmbH
SPDX-License-Identifier: CC-BY-4.0
-->
![DASF Logo](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/raw/master/docs/_static/dasf_logo.svg)
# Data Analytics Software Framework
[![CI](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/badges/master/pipeline.svg)](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/pipelines?page=1&scope=all&ref=master)
[![Code coverage](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/badges/master/coverage.svg)](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/graphs/master/charts)
[![Docs](https://readthedocs.org/projects/dasf-messaging-python/badge/?version=latest)](https://dasf.readthedocs.io/en/latest/)
[![Latest Release](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/badges/release.svg)](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python)
[![PyPI version](https://img.shields.io/pypi/v/demessaging.svg)](https://pypi.python.org/pypi/demessaging/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
[![PEP8](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
[![REUSE status](https://api.reuse.software/badge/codebase.helmholtz.cloud/dasf/dasf-messaging-python)](https://api.reuse.software/info/codebase.helmholtz.cloud/dasf/dasf-messaging-python)
[![DOI](https://img.shields.io/badge/DOI-10.5880%2FGFZ.1.4.2021.005-blue)](https://doi.org/10.5880/GFZ.1.4.2021.005)
[![JOSS](https://joss.theoj.org/papers/e8022c832c1bb6e879b89508a83fa75e/status.svg)](https://joss.theoj.org/papers/e8022c832c1bb6e879b89508a83fa75e)
python module wrapper for the data analytics software framework DASF
## Abstract
`DASF: Messaging Python` is part of the Data Analytics Software Framework (DASF, https://codebase.helmholtz.cloud/dasf),
developed at the GFZ German Research Centre for Geosciences (https://www.gfz-potsdam.de).
It is funded by the Initiative and Networking Fund of the Helmholtz Association through the Digital Earth project
(https://www.digitalearth-hgf.de/).
`DASF: Messaging Python` is a RPC (remote procedure call) wrapper library for the python programming language. As part of the data analytics software framework DASF, it implements the DASF RPC messaging protocol. This message broker based RPC implementation supports the integration of algorithms and methods implemented in python in a distributed environment. It utilizes pydantic (https://pydantic-docs.helpmanual.io/) for data and model validation using python type annotations. 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. (also see: [Message Broker](https://dasf.readthedocs.io/en/latest/developers/messaging.html#messagebroker))
---
## Documentation
see: https://dasf.readthedocs.io/en/latest/
## Installation
Install this package in a dedicated python environment via
```bash
python -m venv venv
source venv/bin/activate
pip install demessaging
```
To use this in a development setup, clone the [source code][source code] from
gitlab, start the development server and make your changes::
```bash
git clone https://codebase.helmholtz.cloud/dasf/dasf-messaging-python
cd dasf-messaging-python
python -m venv venv
source venv/bin/activate
make dev-install
```
More detailed installation instructions my be found in the [docs][docs].
[source code]: https://codebase.helmholtz.cloud/dasf/dasf-messaging-python
[docs]: https://dasf.readthedocs.io/en/latest/installation.html
## Technical note
This package has been generated from the template
https://codebase.helmholtz.cloud/hcdc/software-templates/python-package-template.git.
See the template repository for instructions on how to update the skeleton for
this package.
### **Source Code Examples**
see: https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/blob/master/ExampleMessageConsumer.py
- generate the counterpart via `python ExampleMessageConsumer.py generate > ExampleMessageProducerGen.py`
- call the consumer module via the generated producer,
see https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/blob/master/ExampleMessageProducer.py
## Recommended Software Citation
`Eggert, Daniel; Sommer, Philipp; Dransch, Doris (2021): DASF: Messaging Python: A python RPC wrapper for the data analytics software framework. GFZ Data Services. https://doi.org/10.5880/GFZ.1.4.2021.005`
## License information
Copyright © 2019-2024 Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences
Code files in this repository are licensed under the
Apache-2.0, if not stated otherwise in the file.
Documentation files in this repository are licensed under CC-BY-4.0, if not stated otherwise in the file.
Supplementary and configuration files in this repository are licensed
under CC0-1.0, if not stated otherwise
in the file.
Please check the header of the individual files for more detailed
information.
### License management
License management is handled with [``reuse``](https://reuse.readthedocs.io/).
If you have any questions on this, please have a look into the
[contributing guide][contributing] or contact the maintainers of
`dasf-messaging-python`.
[contributing]: https://dasf.readthedocs.io/en/latest/contributing.html
## Contact
Philipp S. Sommer
eMail: <philipp.sommer@hereon.de>
Helmholtz-Zentrum Hereon
Max-Planck-Str. 1
21502 Geesthacht
Germany
Raw data
{
"_id": null,
"home_page": null,
"name": "demessaging",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "\"Philipp S. Sommer\" <philipp.sommer@hereon.de>",
"keywords": "digital-earth, dasf, pulsar, gfz, hzg, hereon, hgf, helmholtz, remote procedure call, rpc, django, python, websocket",
"author": "Mike Sips, Doris Dransch",
"author_email": "Daniel Eggert <daniel.eggert@gfz-potsdam.de>, \"Philipp S. Sommer\" <philipp.sommer@hereon.de>",
"download_url": "https://files.pythonhosted.org/packages/ee/70/f7f8ef0881ed5dadb59306eab370bad784924453d155319b87e9e6d37a1c/demessaging-0.5.4.tar.gz",
"platform": null,
"description": "<!--\nSPDX-FileCopyrightText: 2019-2024 Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences\nSPDX-FileCopyrightText: 2020-2021 Helmholtz-Zentrum Geesthacht GmbH\nSPDX-FileCopyrightText: 2021-2024 Helmholtz-Zentrum hereon GmbH\n\nSPDX-License-Identifier: CC-BY-4.0\n-->\n\n![DASF Logo](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/raw/master/docs/_static/dasf_logo.svg)\n\n# Data Analytics Software Framework\n\n[![CI](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/badges/master/pipeline.svg)](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/pipelines?page=1&scope=all&ref=master)\n[![Code coverage](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/badges/master/coverage.svg)](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/graphs/master/charts)\n[![Docs](https://readthedocs.org/projects/dasf-messaging-python/badge/?version=latest)](https://dasf.readthedocs.io/en/latest/)\n[![Latest Release](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/badges/release.svg)](https://codebase.helmholtz.cloud/dasf/dasf-messaging-python)\n[![PyPI version](https://img.shields.io/pypi/v/demessaging.svg)](https://pypi.python.org/pypi/demessaging/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![PEP8](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)\n[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)\n[![REUSE status](https://api.reuse.software/badge/codebase.helmholtz.cloud/dasf/dasf-messaging-python)](https://api.reuse.software/info/codebase.helmholtz.cloud/dasf/dasf-messaging-python)\n[![DOI](https://img.shields.io/badge/DOI-10.5880%2FGFZ.1.4.2021.005-blue)](https://doi.org/10.5880/GFZ.1.4.2021.005)\n[![JOSS](https://joss.theoj.org/papers/e8022c832c1bb6e879b89508a83fa75e/status.svg)](https://joss.theoj.org/papers/e8022c832c1bb6e879b89508a83fa75e)\n\npython module wrapper for the data analytics software framework DASF\n\n## Abstract\n\n`DASF: Messaging Python` is part of the Data Analytics Software Framework (DASF, https://codebase.helmholtz.cloud/dasf),\ndeveloped at the GFZ German Research Centre for Geosciences (https://www.gfz-potsdam.de).\nIt is funded by the Initiative and Networking Fund of the Helmholtz Association through the Digital Earth project\n(https://www.digitalearth-hgf.de/).\n\n`DASF: Messaging Python` is a RPC (remote procedure call) wrapper library for the python programming language. As part of the data analytics software framework DASF, it implements the DASF RPC messaging protocol. This message broker based RPC implementation supports the integration of algorithms and methods implemented in python in a distributed environment. It utilizes pydantic (https://pydantic-docs.helpmanual.io/) for data and model validation using python type annotations. DASF distributes messages via a central message broker. Currently we support a self-developed message broker called dasf-broker-django, as well as an \u2018off-the-shelf\u2019 solution called Apache Pulsar. (also see: [Message Broker](https://dasf.readthedocs.io/en/latest/developers/messaging.html#messagebroker))\n\n---\n\n## Documentation\n\nsee: https://dasf.readthedocs.io/en/latest/\n\n\n\n## Installation\n\nInstall this package in a dedicated python environment via\n\n```bash\npython -m venv venv\nsource venv/bin/activate\npip install demessaging\n```\n\nTo use this in a development setup, clone the [source code][source code] from\ngitlab, start the development server and make your changes::\n\n```bash\ngit clone https://codebase.helmholtz.cloud/dasf/dasf-messaging-python\ncd dasf-messaging-python\npython -m venv venv\nsource venv/bin/activate\nmake dev-install\n```\n\nMore detailed installation instructions my be found in the [docs][docs].\n\n\n[source code]: https://codebase.helmholtz.cloud/dasf/dasf-messaging-python\n[docs]: https://dasf.readthedocs.io/en/latest/installation.html\n\n## Technical note\n\nThis package has been generated from the template\nhttps://codebase.helmholtz.cloud/hcdc/software-templates/python-package-template.git.\n\nSee the template repository for instructions on how to update the skeleton for\nthis package.\n\n### **Source Code Examples**\nsee: https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/blob/master/ExampleMessageConsumer.py\n\n- generate the counterpart via `python ExampleMessageConsumer.py generate > ExampleMessageProducerGen.py`\n- call the consumer module via the generated producer,\nsee https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/-/blob/master/ExampleMessageProducer.py\n\n\n## Recommended Software Citation\n\n`Eggert, Daniel; Sommer, Philipp; Dransch, Doris (2021): DASF: Messaging Python: A python RPC wrapper for the data analytics software framework. GFZ Data Services. https://doi.org/10.5880/GFZ.1.4.2021.005`\n\n\n## License information\n\nCopyright \u00a9 2019-2024 Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences\n\n\n\nCode files in this repository are licensed under the\nApache-2.0, if not stated otherwise in the file.\n\nDocumentation files in this repository are licensed under CC-BY-4.0, if not stated otherwise in the file.\n\nSupplementary and configuration files in this repository are licensed\nunder CC0-1.0, if not stated otherwise\nin the file.\n\nPlease check the header of the individual files for more detailed\ninformation.\n\n### License management\n\nLicense management is handled with [``reuse``](https://reuse.readthedocs.io/).\nIf you have any questions on this, please have a look into the\n[contributing guide][contributing] or contact the maintainers of\n`dasf-messaging-python`.\n\n[contributing]: https://dasf.readthedocs.io/en/latest/contributing.html\n\n\n## Contact\nPhilipp S. Sommer\neMail: <philipp.sommer@hereon.de>\n\n\nHelmholtz-Zentrum Hereon\nMax-Planck-Str. 1\n21502 Geesthacht\nGermany\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "python module wrapper for the data analytics software framework DASF",
"version": "0.5.4",
"project_urls": {
"Documentation": "https://dasf.readthedocs.io/en/latest/",
"Homepage": "https://codebase.helmholtz.cloud/dasf/dasf-messaging-python",
"Source": "https://codebase.helmholtz.cloud/dasf/dasf-messaging-python",
"Tracker": "https://codebase.helmholtz.cloud/dasf/dasf-messaging-python/issues/"
},
"split_keywords": [
"digital-earth",
" dasf",
" pulsar",
" gfz",
" hzg",
" hereon",
" hgf",
" helmholtz",
" remote procedure call",
" rpc",
" django",
" python",
" websocket"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bb5fa0a0a6375f6a170e05e9bf290b8b93e37e3b902d430b1f71b71ccb1885d6",
"md5": "b15b5c634f63beed1960686229853b3e",
"sha256": "0e73a081069890fe7578dcf0c310e677196b75cf20b0050b1ae48d037b049689"
},
"downloads": -1,
"filename": "demessaging-0.5.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b15b5c634f63beed1960686229853b3e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 67957,
"upload_time": "2024-06-03T11:37:25",
"upload_time_iso_8601": "2024-06-03T11:37:25.956020Z",
"url": "https://files.pythonhosted.org/packages/bb/5f/a0a0a6375f6a170e05e9bf290b8b93e37e3b902d430b1f71b71ccb1885d6/demessaging-0.5.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ee70f7f8ef0881ed5dadb59306eab370bad784924453d155319b87e9e6d37a1c",
"md5": "ab36c664cb8a9b4bb900ca6505e47f30",
"sha256": "819a93ec2588c7e9948318b6abdec9f41504953838237084d3691e9e8a18a033"
},
"downloads": -1,
"filename": "demessaging-0.5.4.tar.gz",
"has_sig": false,
"md5_digest": "ab36c664cb8a9b4bb900ca6505e47f30",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 57123,
"upload_time": "2024-06-03T11:37:28",
"upload_time_iso_8601": "2024-06-03T11:37:28.123454Z",
"url": "https://files.pythonhosted.org/packages/ee/70/f7f8ef0881ed5dadb59306eab370bad784924453d155319b87e9e6d37a1c/demessaging-0.5.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-03 11:37:28",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "demessaging"
}