cfdp-py - High level Python library for CFDP components
The cfdp-py library offers some high-level CCSDS File Delivery Protocol (CFDP) components to
perform file transfers according to the CCSDS Blue Book 727.0-B-5.
The underlying base packet library used to generate the packets to be sent is the
spacepackets library.
Features
This library supports the following features:
Unacknowledged (class 1) file transfers for both the sending and destination side
Acknowledged (class 2) file transfers for both the sending and destination side
The following features have not been implemented yet. PRs or notifications for demand are welcome!
Suspending transfers
Inactivity handling
Start and end of transmission and reception opportunity handling
You can find all examples inside the documentation
and the examples directory of this repository.
Tests
If you want to run the tests, it is recommended to install pytest and coverage (optional)
first. You also have to install the package with the optional test feature:
cfdp-py - High level Python library for CFDP components
The
cfdp-pylibrary offers some high-level CCSDS File Delivery Protocol (CFDP) components to perform file transfers according to the CCSDS Blue Book 727.0-B-5. The underlying base packet library used to generate the packets to be sent is the spacepackets library.Features
This library supports the following features:
The following features have not been implemented yet. PRs or notifications for demand are welcome!
Install
You can install this package from PyPI
For example, using
uvSetting up virtual environment:
Regular install:
Interactive install with testing support:
Examples
You can find all examples inside the documentation and the
examplesdirectory of this repository.Tests
If you want to run the tests, it is recommended to install
pytestandcoverage(optional) first. You also have to install the package with the optionaltestfeature:Running tests regularly:
Running tests with coverage:
Documentation
The documentation is built with Sphinx
Install the required dependencies first:
Then the documentation can be built with
You can run the doctests with
Formatting and Linting
Linting:
Formatting: