Library for high level CCSDS File Delivery Protocol (CFDP) components
Project description
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
- Keep Alive and Prompt PDU handling
Install
You can install this package from PyPI
For example, using uv
Setting up virtual environment:
uv venv
Regular install:
uv pip install -e .
Interactive install with testing support:
uv pip install -e ".[test]"
Examples
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:
uv pip install -e ".[test]"
Running tests regularly:
pytest
Running tests with coverage:
coverage run -m pytest
Documentation
The documentation is built with Sphinx
Install the required dependencies first:
pip install -r docs/requirements.txt
Then the documentation can be built with
cd docs
make html
You can run the doctests with
make doctest
Formatting and Linting
Linting:
ruff check
Formatting:
ruff format
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cfdp_py-0.6.0.tar.gz.
File metadata
- Download URL: cfdp_py-0.6.0.tar.gz
- Upload date:
- Size: 77.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
669be8d1e71291273753c9f0958719bef11cd1405f3a2c0b42b8b24f99dec5bb
|
|
| MD5 |
6d68223a058fcf2bcc24a7d406c5232a
|
|
| BLAKE2b-256 |
bf9acaa3e9a6558475d23e06143f06450c530c121c6eda789ad471404ab4a12c
|
File details
Details for the file cfdp_py-0.6.0-py3-none-any.whl.
File metadata
- Download URL: cfdp_py-0.6.0-py3-none-any.whl
- Upload date:
- Size: 45.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16f5996462b7a6295077b4752d234cbb0112f5dfeaaa0ecaea2dd277b0eae8d8
|
|
| MD5 |
59b999bb31b8ae8f61d3a2be5498e06e
|
|
| BLAKE2b-256 |
b8ee0dc785f695ff1c89acee8ff33a12943e076045631b69d072630379830e7e
|