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
Metadata
Release files for cfdp-py 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cfdp_py-0.7.0.tar.gz | 79.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cfdp_py-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 124.4 kB
Release files / cfdp_py-0.7.0.tar.gz
| Download URL | cfdp_py-0.7.0.tar.gz |
|---|---|
| Size | 79.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
773d11962fb9b4902a4f197949c32f5cf642003826ca83313651fcb3390b6980
|
|
BLAKE2b-256 checksum How to use checksums |
69d71f6af3735e494025cce02a2472d2cf449bdb669a4a69982e68a17cfcc3a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / cfdp_py-0.7.0-py3-none-any.whl
| Download URL | cfdp_py-0.7.0-py3-none-any.whl |
|---|---|
| Size | 45.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4534e87fca5482dd9417e28583f4c7c369b24a08e46db51a7cee654306faca3
|
|
BLAKE2b-256 checksum How to use checksums |
cf436cff5d4dea1ec2388f0943f9a8e3ad2c4cf1836affde939a2ab93773acfb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|