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.0.0.tar.gz (87.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.0.0-py3-none-any.whl (83.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dtnma_ace-2.0.0.tar.gz
  • Upload date:
  • Size: 87.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for dtnma_ace-2.0.0.tar.gz
Algorithm Hash digest
SHA256 8bbba52205eafd8f546a4b5ce05c647143b1aee9005f8e746604508ef83adba5
MD5 ffb53523befd70e3b64d497edc22133f
BLAKE2b-256 22c05aa5dbf54096ff8c7b5a9c80047c916f66d85ff7b99a022caa27d9b51332

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dtnma_ace-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 83.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for dtnma_ace-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da450c1e85d7eb5801059ade43e5e520ad4022ed132682f8c71cefff5d4e1f3f
MD5 afe54b3d36bd2ddf7e44e35990124c15
BLAKE2b-256 0b1b01aaf34836de774e75c34ed8f361fda1884c68eafa3035a292c7616ed5f8

See more details on using hashes here.

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