[![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 and new documentation should be written using the
[NumPy format](https://www.sphinx-doc.org/en/master/usage/extensions/example_numpy.html#example-numpy).
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/f2/49/55f8920325f7f33ddae18354f0e30df74c7e8187147d19cff0fdea327960/spacepackets-0.25.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 and new documentation should be written using the\n[NumPy format](https://www.sphinx-doc.org/en/master/usage/extensions/example_numpy.html#example-numpy).\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.25.0",
"project_urls": {
"Homepage": "https://github.com/us-irs/spacepackets-py"
},
"split_keywords": [
"ccsds",
" ecss",
" space",
" communication",
" packet"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e99b5d41cef56a8259ead1ecb76c209bbceefe4c71c3a6c85deb611cdb691498",
"md5": "09faefe0e84a7047f18f50c5fabbe241",
"sha256": "cbd915b3ab792ed72fec8fd652337d55725a478f60f1d2a868cb81a7a23875db"
},
"downloads": -1,
"filename": "spacepackets-0.25.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "09faefe0e84a7047f18f50c5fabbe241",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 161631,
"upload_time": "2024-10-29T18:20:39",
"upload_time_iso_8601": "2024-10-29T18:20:39.617355Z",
"url": "https://files.pythonhosted.org/packages/e9/9b/5d41cef56a8259ead1ecb76c209bbceefe4c71c3a6c85deb611cdb691498/spacepackets-0.25.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f24955f8920325f7f33ddae18354f0e30df74c7e8187147d19cff0fdea327960",
"md5": "6ffd7a04deb4df4e4001aed0145f7ed5",
"sha256": "cff75c17d327201cd9ac663108e3338ce15c160c01e129ff8767f5f0ddf780f7"
},
"downloads": -1,
"filename": "spacepackets-0.25.0.tar.gz",
"has_sig": false,
"md5_digest": "6ffd7a04deb4df4e4001aed0145f7ed5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 119030,
"upload_time": "2024-10-29T18:20:41",
"upload_time_iso_8601": "2024-10-29T18:20:41.975920Z",
"url": "https://files.pythonhosted.org/packages/f2/49/55f8920325f7f33ddae18354f0e30df74c7e8187147d19cff0fdea327960/spacepackets-0.25.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-29 18:20:41",
"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"
}