[![ci](https://github.com/us-irs/py-spacepackets/actions/workflows/ci.yml/badge.svg)](https://github.com/us-irs/py-spacepackets/actions/workflows/ci.yml)
[![Documentation Status](https://readthedocs.org/projects/spacepackets/badge/?version=latest)](https://spacepackets.readthedocs.io/en/latest/?badge=latest)
[![codecov](https://codecov.io/gh/us-irs/spacepackets-py/graph/badge.svg?token=YFLM60LCVI)](https://codecov.io/gh/us-irs/spacepackets-py)
[![PyPI version](https://badge.fury.io/py/spacepackets.svg)](https://badge.fury.io/py/spacepackets)
ECSS and CCSDS Spacepackets
======
This package contains generic implementations for various CCSDS
(Consultative Committee for Space Data Systems) and ECSS
(European Cooperation for Space Standardization) packet standards.
Currently, this includes the following components:
- Space Packet implementation according to
[CCSDS Blue Book 133.0-B-2](https://public.ccsds.org/Pubs/133x0b2e1.pdf)
- CCSDS CDS short timestamp implementation according to
[CCSDS 301.0-B-4 3.3](https://public.ccsds.org/Pubs/301x0b4e1.pdf).
- PUS Telecommand and PUS Telemetry implementation according to the
[ECSS-E-ST-70-41C standard](https://ecss.nl/standard/ecss-e-st-70-41c-space-engineering-telemetry-and-telecommand-packet-utilization-15-april-2016/).
- CCSDS File Delivery Protcol (CFDP) packet implementations according to
[CCSDS Blue Book 727.0-B-5](https://public.ccsds.org/Pubs/727x0b5.pdf).
- Unified Space Data Link Protocol (USLP) frame implementations according to
[CCSDS Blue Book 732.1-B-2](https://public.ccsds.org/Pubs/732x1b2.pdf).
It also contains various helper modules which are commonly used when working with these standards:
- `PusVerificator` module to track the verification of sent telecommands.
- [PTC and PFC definitions](https://spacepackets.readthedocs.io/en/latest/api/ecss.html#module-spacepackets.ecss.fields) for ECSS packets.
- `Countdown` utility class.
- Sequence counter utility classes.
# Install
You can install this package from PyPI
Linux:
```sh
python3 -m pip install spacepackets
```
Windows:
```sh
py -m pip install spacepackets
```
# Examples
You can find all examples [inside the documentation](https://spacepackets.readthedocs.io/en/latest/examples.html).
# Tests
If you want to run the tests, it is recommended to install `pytest` and `coverage` (optional)
first:
```sh
pip install coverage pytest
```
Running tests regularly:
```sh
pytest .
```
Running tests with coverage:
```sh
coverage run -m pytest
```
# Documentation
The documentation is built with Sphinx
Install the required dependencies first:
```sh
pip install -r docs/requirements.txt
```
Then the documentation can be built with
```sh
cd docs
make html
```
You can run the doctests with
```sh
make doctest
```
Raw data
{
"_id": null,
"home_page": null,
"name": "spacepackets",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "ccsds, ecss, space, communication, packet",
"author": null,
"author_email": "Robin Mueller <robin.mueller.m@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/ff/9f/ea50db8009a20a0105bab1a1a7fe60e7bd573ffa9f6a0016c6908909c084/spacepackets-0.24.0.tar.gz",
"platform": null,
"description": "[![ci](https://github.com/us-irs/py-spacepackets/actions/workflows/ci.yml/badge.svg)](https://github.com/us-irs/py-spacepackets/actions/workflows/ci.yml)\n[![Documentation Status](https://readthedocs.org/projects/spacepackets/badge/?version=latest)](https://spacepackets.readthedocs.io/en/latest/?badge=latest)\n[![codecov](https://codecov.io/gh/us-irs/spacepackets-py/graph/badge.svg?token=YFLM60LCVI)](https://codecov.io/gh/us-irs/spacepackets-py)\n[![PyPI version](https://badge.fury.io/py/spacepackets.svg)](https://badge.fury.io/py/spacepackets)\n\nECSS and CCSDS Spacepackets\n======\n\nThis package contains generic implementations for various CCSDS\n(Consultative Committee for Space Data Systems) and ECSS\n(European Cooperation for Space Standardization) packet standards.\n\nCurrently, this includes the following components:\n\n- Space Packet implementation according to\n [CCSDS Blue Book 133.0-B-2](https://public.ccsds.org/Pubs/133x0b2e1.pdf)\n- CCSDS CDS short timestamp implementation according to\n [CCSDS 301.0-B-4 3.3](https://public.ccsds.org/Pubs/301x0b4e1.pdf).\n- PUS Telecommand and PUS Telemetry implementation according to the\n [ECSS-E-ST-70-41C standard](https://ecss.nl/standard/ecss-e-st-70-41c-space-engineering-telemetry-and-telecommand-packet-utilization-15-april-2016/).\n- CCSDS File Delivery Protcol (CFDP) packet implementations according to\n [CCSDS Blue Book 727.0-B-5](https://public.ccsds.org/Pubs/727x0b5.pdf).\n- Unified Space Data Link Protocol (USLP) frame implementations according to\n [CCSDS Blue Book 732.1-B-2](https://public.ccsds.org/Pubs/732x1b2.pdf).\n\nIt also contains various helper modules which are commonly used when working with these standards:\n\n- `PusVerificator` module to track the verification of sent telecommands.\n- [PTC and PFC definitions](https://spacepackets.readthedocs.io/en/latest/api/ecss.html#module-spacepackets.ecss.fields) for ECSS packets.\n- `Countdown` utility class.\n- Sequence counter utility classes.\n\n# Install\n\nYou can install this package from PyPI\n\nLinux:\n\n```sh\npython3 -m pip install spacepackets\n```\n\nWindows:\n\n```sh\npy -m pip install spacepackets\n```\n\n# Examples\n\nYou can find all examples [inside the documentation](https://spacepackets.readthedocs.io/en/latest/examples.html).\n\n\n# Tests\n\nIf you want to run the tests, it is recommended to install `pytest` and `coverage` (optional)\nfirst:\n\n```sh\npip install coverage pytest\n```\n\nRunning tests regularly:\n\n```sh\npytest .\n```\n\nRunning tests with coverage:\n\n```sh\ncoverage run -m pytest\n```\n\n# Documentation\n\nThe documentation is built with Sphinx\n\nInstall the required dependencies first:\n\n```sh\npip install -r docs/requirements.txt\n```\n\nThen the documentation can be built with\n\n```sh\ncd docs\nmake html\n```\n\nYou can run the doctests with\n\n```sh\nmake doctest\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Various CCSDS and ECSS packet implementations",
"version": "0.24.0",
"project_urls": {
"Homepage": "https://github.com/us-irs/spacepackets-py"
},
"split_keywords": [
"ccsds",
" ecss",
" space",
" communication",
" packet"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f6fc7eca9fd2bc543ab0b0c1c6d0f4d0f29b3c5849314cba16ea9c1e6cb242ca",
"md5": "62d21b7dfa6d84755909287fce202f95",
"sha256": "bdd72193af947286f409a5d7be9df8e69caea6ab04906d604e7c63d06dbfcf10"
},
"downloads": -1,
"filename": "spacepackets-0.24.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "62d21b7dfa6d84755909287fce202f95",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 160809,
"upload_time": "2024-04-23T08:30:14",
"upload_time_iso_8601": "2024-04-23T08:30:14.455941Z",
"url": "https://files.pythonhosted.org/packages/f6/fc/7eca9fd2bc543ab0b0c1c6d0f4d0f29b3c5849314cba16ea9c1e6cb242ca/spacepackets-0.24.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ff9fea50db8009a20a0105bab1a1a7fe60e7bd573ffa9f6a0016c6908909c084",
"md5": "832675897cc0caa1d86c4fa4adeb168d",
"sha256": "8268bebd82e21fc496832214ab0bda6709968dc927a2d367bc9a9cd79ebb35ec"
},
"downloads": -1,
"filename": "spacepackets-0.24.0.tar.gz",
"has_sig": false,
"md5_digest": "832675897cc0caa1d86c4fa4adeb168d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 118096,
"upload_time": "2024-04-23T08:30:16",
"upload_time_iso_8601": "2024-04-23T08:30:16.998795Z",
"url": "https://files.pythonhosted.org/packages/ff/9f/ea50db8009a20a0105bab1a1a7fe60e7bd573ffa9f6a0016c6908909c084/spacepackets-0.24.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-23 08:30:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "us-irs",
"github_project": "spacepackets-py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "spacepackets"
}