<!-- SPDX-FileCopyrightText: 2024 German Aerospace Center <amiris@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`, and
## Installation instructions
Use this Maven dependency:
```
<dependency>
<groupId>de.dlr.gitlab.fame</groupId>
<artifactId>protobuf</artifactId>
<version>1.4.0</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.
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/fame-framework/wiki/-/wikis/home",
"name": "fameprotobuf",
"maintainer": "Christoph Schimeczek",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"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/93/57/491099bd6388b3cc5435291f855473db80c42de444c40544f42d151a7873/fameprotobuf-1.4.0.tar.gz",
"platform": null,
"description": "<!-- SPDX-FileCopyrightText: 2024 German Aerospace Center <amiris@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`, and\n\n## Installation instructions\nUse this Maven dependency:\n```\n<dependency>\n <groupId>de.dlr.gitlab.fame</groupId>\n <artifactId>protobuf</artifactId>\n <version>1.4.0</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.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Protobuf definitions converted to python classes for use in `fameio`",
"version": "1.4.0",
"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": "03b7d0f8808b29c8269c8ef6a40109e581a524bfc0c922f8c1e45b4ae69cf874",
"md5": "c3f388ea2143ab24b5a884b0e4ceff78",
"sha256": "bca8f51581a8ffbe3672fffaa2cd54c40fcc86797c5a4c7e5a1526c3b75bc431"
},
"downloads": -1,
"filename": "fameprotobuf-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c3f388ea2143ab24b5a884b0e4ceff78",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 30568,
"upload_time": "2024-03-17T16:19:30",
"upload_time_iso_8601": "2024-03-17T16:19:30.455823Z",
"url": "https://files.pythonhosted.org/packages/03/b7/d0f8808b29c8269c8ef6a40109e581a524bfc0c922f8c1e45b4ae69cf874/fameprotobuf-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9357491099bd6388b3cc5435291f855473db80c42de444c40544f42d151a7873",
"md5": "f0ab2b05497da9aef121339349c1c2ec",
"sha256": "5cba900c74e2c29e368dbf7eff6a04e6c68a31c8c613a5eca6235b7cf0bbebd5"
},
"downloads": -1,
"filename": "fameprotobuf-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "f0ab2b05497da9aef121339349c1c2ec",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 14855,
"upload_time": "2024-03-17T16:19:31",
"upload_time_iso_8601": "2024-03-17T16:19:31.631083Z",
"url": "https://files.pythonhosted.org/packages/93/57/491099bd6388b3cc5435291f855473db80c42de444c40544f42d151a7873/fameprotobuf-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-17 16:19:31",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "fame-framework",
"gitlab_project": "wiki",
"lcname": "fameprotobuf"
}