<!-- SPDX-FileCopyrightText: 2024 German Aerospace Center <fame@dlr.de>
SPDX-License-Identifier: Apache-2.0 -->
[![PyPI version](https://badge.fury.io/py/fameprotobuf.svg)](https://badge.fury.io/py/fameprotobuf)
[![PyPI license](https://img.shields.io/pypi/l/fameprotobuf.svg)](https://badge.fury.io/py/fameprotobuf)
[![Pipeline status](https://gitlab.com/fame-framework/fame-protobuf/badges/main/pipeline.svg)](https://gitlab.com/fame-framework/fame-protobuf/commits/main)
[![REUSE status](https://api.reuse.software/badge/gitlab.com/fame-framework/fame-protobuf)](https://api.reuse.software/info/gitlab.com/fame-framework/fame-protobuf)
# FAME-Protobuf
Google Protocol Buffer (protobuf) definitions define the structure of binary input and output files for FAME applications.
Please visit the [Wiki for FAME](https://gitlab.com/fame-framework/wiki/-/wikis/home) to get an explanation of FAME and its components.
FAME-Protobuf connects FAME-Io to applications based on FAME-Core. Thus, both depend on FAME-Protobuf.
## Repository
The repository is split into three source code parts:
* protobuf definitions reside in `src/main/resources`,
* derived Python classes for FAME-Io reside in `src/main/python`.
* derived Java classes for FAME-Core reside in `target/generated-java-sources`
## Installation instructions
Use this Maven dependency:
```
<dependency>
<groupId>de.dlr.gitlab.fame</groupId>
<artifactId>protobuf</artifactId>
<version>2.0.1</version>
</dependency>
```
## Packaging
### Compile
The `pom.xml` is configured to allow automated compilation of the protobuf definitions to Python and Java classes.
### Maven build
In the cloned repository of fame-protobuf, compile and package fame-protobuf locally to your Maven repository:
```
mvn package
```
### Deploy to PyPI
FAME-Protobuf is packaged to PyPI.
We use [poetry](https://python-poetry.org) for packaging.
Packaging requires these steps:
* install poetry: `pip install poetry`
* run the packaging script: `python packaging.py`
* build wheel: `poetry build`
* publish: `poetry publish`
# Contribute
Please read the Contributors License Agreement (cla.md), sign it and send it to fame@dlr.de before contributing.
Also, check CONTRIBUTING.md.
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/fame-framework/wiki/-/wikis/home",
"name": "fameprotobuf",
"maintainer": "Christoph Schimeczek",
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": "fame@dlr.de",
"keywords": "protobuffer, FAME, framework, fameio, agent-based modelling",
"author": "Christoph Schimeczek",
"author_email": "fame@dlr.de",
"download_url": "https://files.pythonhosted.org/packages/3f/c0/627b16f87f502b993ac6892dbf2444dbeee52e8b123d87bbb3b9d42e626f/fameprotobuf-2.0.1.tar.gz",
"platform": null,
"description": "<!-- SPDX-FileCopyrightText: 2024 German Aerospace Center <fame@dlr.de>\n\nSPDX-License-Identifier: Apache-2.0 -->\n\n[![PyPI version](https://badge.fury.io/py/fameprotobuf.svg)](https://badge.fury.io/py/fameprotobuf)\n[![PyPI license](https://img.shields.io/pypi/l/fameprotobuf.svg)](https://badge.fury.io/py/fameprotobuf)\n[![Pipeline status](https://gitlab.com/fame-framework/fame-protobuf/badges/main/pipeline.svg)](https://gitlab.com/fame-framework/fame-protobuf/commits/main)\n[![REUSE status](https://api.reuse.software/badge/gitlab.com/fame-framework/fame-protobuf)](https://api.reuse.software/info/gitlab.com/fame-framework/fame-protobuf)\n\n\n# FAME-Protobuf\nGoogle Protocol Buffer (protobuf) definitions define the structure of binary input and output files for FAME applications.\nPlease visit the [Wiki for FAME](https://gitlab.com/fame-framework/wiki/-/wikis/home) to get an explanation of FAME and its components.\n\nFAME-Protobuf connects FAME-Io to applications based on FAME-Core. Thus, both depend on FAME-Protobuf.\n\n## Repository\nThe repository is split into three source code parts:\n* protobuf definitions reside in `src/main/resources`,\n* derived Python classes for FAME-Io reside in `src/main/python`.\n* derived Java classes for FAME-Core reside in `target/generated-java-sources`\n\n## Installation instructions\nUse this Maven dependency:\n```\n<dependency>\n <groupId>de.dlr.gitlab.fame</groupId>\n <artifactId>protobuf</artifactId>\n <version>2.0.1</version>\n</dependency>\n```\n\n## Packaging\n### Compile\nThe `pom.xml` is configured to allow automated compilation of the protobuf definitions to Python and Java classes.\n\n### Maven build\nIn the cloned repository of fame-protobuf, compile and package fame-protobuf locally to your Maven repository: \n\n```\nmvn package\n```\n\n### Deploy to PyPI\nFAME-Protobuf is packaged to PyPI.\nWe use [poetry](https://python-poetry.org) for packaging.\nPackaging requires these steps:\n* install poetry: `pip install poetry`\n* run the packaging script: `python packaging.py`\n* build wheel: `poetry build` \n* publish: `poetry publish`\n\n# Contribute\nPlease read the Contributors License Agreement (cla.md), sign it and send it to fame@dlr.de before contributing.\nAlso, check CONTRIBUTING.md.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Protobuf definitions converted to python classes for use in `fameio`",
"version": "2.0.1",
"project_urls": {
"Homepage": "https://gitlab.com/fame-framework/wiki/-/wikis/home",
"Repository": "https://gitlab.com/fame-framework/fame-protobuf"
},
"split_keywords": [
"protobuffer",
" fame",
" framework",
" fameio",
" agent-based modelling"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "faa93efbed7f12fa35d18aa207fbb84f35f6adf80e91370cbd9f5ee1f8268e14",
"md5": "ee58b182a1e69a89dcc3be5ad93f0240",
"sha256": "893a43aaa3f7f87dd193a429a05a541137ce81f7a235337c0bb95601cd055653"
},
"downloads": -1,
"filename": "fameprotobuf-2.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ee58b182a1e69a89dcc3be5ad93f0240",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 31131,
"upload_time": "2024-09-01T10:52:49",
"upload_time_iso_8601": "2024-09-01T10:52:49.897376Z",
"url": "https://files.pythonhosted.org/packages/fa/a9/3efbed7f12fa35d18aa207fbb84f35f6adf80e91370cbd9f5ee1f8268e14/fameprotobuf-2.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3fc0627b16f87f502b993ac6892dbf2444dbeee52e8b123d87bbb3b9d42e626f",
"md5": "72786ec1fab2aba8649f6b4568e809df",
"sha256": "aa591a1b5bb5441f278e9c9dac3c50924d470cf442936859e9de75f9e7a7e6cd"
},
"downloads": -1,
"filename": "fameprotobuf-2.0.1.tar.gz",
"has_sig": false,
"md5_digest": "72786ec1fab2aba8649f6b4568e809df",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 15449,
"upload_time": "2024-09-01T10:52:51",
"upload_time_iso_8601": "2024-09-01T10:52:51.483494Z",
"url": "https://files.pythonhosted.org/packages/3f/c0/627b16f87f502b993ac6892dbf2444dbeee52e8b123d87bbb3b9d42e626f/fameprotobuf-2.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-01 10:52:51",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "fame-framework",
"gitlab_project": "wiki",
"lcname": "fameprotobuf"
}