Skip to main content

DTNMA AMM CODEC Engine (ACE)

Project description

ACE Tools

This is the AMM CODEC Engine (ACE) for the DTN Management Architecture (DTNMA). It is part of the larger Asynchronous Network Managment System (ANMS) managed for NASA AMMOS.

It is a library to manage the information in DTNMA Application Data Models (ADMs) and use that information to encode and decode DTNMA Application Resource Identifiers (ARIs) in:

It also includes an ace_ari command line interface (CLI) for translating between the two ARI forms.

Development

It is advised to operate within a Python virtual environment, ideally Python 3.11, to help prevent dependency errors later on. You can run the following commands to create and activate your venv:

python3.11 -m venv .venv
source .venv/bin/activate

If you wish to deactivate your venv, simply run deactivate.

To install development and test dependencies for this project, run from the root directory (possibly under sudo if installing to the system path):

pip3 install -r <(python3 -m piptools compile --extra test pyproject.toml 2>&1)

If this command fails, you may have to install the pip-tools package first and then run two separate commands like so:

pip3 install pip-tools
python3 -m piptools compile --extra test pyproject.toml
pip3 install -r requirements.txt

To install the project itself from source run:

pip3 install .

If you are a developer seeking to do unit testing, you can run the following two commands to install the dependencies for unit tests and then run said unit tests to see if any are failing:

pip3 install -e '.[test]'
python3 -m pytest -v --cov=ace tests

Likewise, if you wish to update our Sphinx documentation and then see your changes, you can run the following two commands to install and build the docs, and then open the generated html files in a web browser:

pip3 install .[docs]
./build_docs.sh

If you are still encountering installation errors, you may need to update the submodules:

git submodule update --init --recursive

An example of using the ARI transcoder, from the source tree, to convert from text to binary form is:

echo 'ari:/EXECSET/n=123;(//ietf/dtnma-agent/CTRL/inspect(//ietf/dtnma-agent/EDD/sw-version))' | PYTHONPATH=./src ADM_PATH=./tests/adms python3 -m ace.tools.ace_ari --inform=text --outform=cborhex

which will produce a hexadecimal output:

0x821482187B8501012205818401012301

An example of using the ADM parser, from the source tree, to normalize and compare ADMs (with meld tool) is:

ADMFILE=../adms/ietf-inet.yang; meld ${ADMFILE} <(PYTHONPATH=./src ADM_PATH=./tests/adms python3 -m ace.tools.ace_adm -f yang ${ADMFILE})

An example of using the ADM parser, from the soruce tree, to normalize and compare ADMs (with meld tool) is:

ADMFILE=../adms/ietf-inet.yang; meld ${ADMFILE} <(PYTHONPATH=./src ADM_PATH=./tests/adms python3 -m ace.tools.ace_adm -f yang ${ADMFILE})

Contributing

To contribute to this project, through issue reporting or change requests, see the CONTRIBUTING document.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dtnma_ace-2.1.0.tar.gz (88.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dtnma_ace-2.1.0-py3-none-any.whl (84.2 kB view details)

Uploaded Python 3

File details

Details for the file dtnma_ace-2.1.0.tar.gz.

File metadata

  • Download URL: dtnma_ace-2.1.0.tar.gz
  • Upload date:
  • Size: 88.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dtnma_ace-2.1.0.tar.gz
Algorithm Hash digest
SHA256 595f2d0d31686687614a9a3ba4f8a3e2e7e27102f470fde9fbdc38bba8eeed25
MD5 1fd0491b1a72815a56c84f2dc55991ed
BLAKE2b-256 73e73fad8cd072955084f54ade36960ab664bac9a5850890ef73c07498b7577a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtnma_ace-2.1.0.tar.gz:

Publisher: build-test.yaml on JHUAPL-DTNMA/dtnma-ace

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dtnma_ace-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: dtnma_ace-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 84.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dtnma_ace-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 63c68079ae439cd3d02a90b54b14118861e63daf6da3728dc00bf3d6325dd31c
MD5 c4a9e94567a200efc1ee71dfe3c54e99
BLAKE2b-256 e0cde529621589267ad7a95ecf4e24facfec6405350e6037e01c00334cf8f49f

See more details on using hashes here.

Provenance

The following attestation bundles were made for dtnma_ace-2.1.0-py3-none-any.whl:

Publisher: build-test.yaml on JHUAPL-DTNMA/dtnma-ace

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page