Skip to main content

A command-line interface for preparing and outputting Cumulus Messages for Cumulus Tasks

Project description

# Cumulus Message Adapter

[![CircleCI](https://circleci.com/gh/nasa/cumulus-message-adapter.svg?style=svg)](https://circleci.com/gh/nasa/cumulus-message-adapter)

cumulus-message-adapter is a command-line interface for preparing and outputting Cumulus Messages for Cumulus Tasks. cumulus-message-adapter helps Cumulus developers integrate a task into a Cumulus Workflow.

Read more about how the cumulus-message-adapter works in the [CONTRACT.md](./CONTRACT.md).

## Releases

### Release Versions

Please note the following convention for release versions:

X.Y.Z: where:

  • X is an organizational release that signifies the completion of a core set of functionality

  • Y is a major version release that may include incompatible API changes and/or other breaking changes

  • Z is a minor version that includes bugfixes and backwards compatible improvements

### Continuous Integration

[CircleCI](https://circleci.com/gh/nasa/cumulus-message-adapter) manages releases and release assets.

Whenever CircleCI passes on the master branch of cumulus-message-adapter and message_adapter/version.py has been updated with a version that doesn’t match an existing tag, CircleCI will:

  • Create a new tag with tag_name of the string in message_adapter/version.py

  • Create a new release using the new tag, with a name equal to tag_name (equal to version).

  • Build a cumulus-message-adapter.zip file and attach it as a release asset to the newly created release. The zip file is created using the [Makefile](./Makefile) in the root of this repository.

These steps are fully detailed in the [.circleci/config.yml](./.circleci/config.yml) file.

## Development

### Dependency Installation

`shell pip install -r requirements-dev.txt pip install -r requirements.txt `

### Running Tests

Running tests requires [localstack](https://github.com/localstack/localstack).

Tests only require localstack running S3, which can be initiated with the following command:

`shell SERVICES=s3 localstack start `

And then you can check tests pass with the following nosetests command:

`shell CUMULUS_ENV=testing nosetests -v -s `

### Linting

`shell pylint message_adapter `

### Contributing

If changes are made to the codebase, you can create the cumulus-message-adapter zip archive for testing libraries that require it:

`shell make clean make cumulus-message-adapter.zip `

Then you can run some integration tests:

`shell ./examples/example-node-message-adapter-lib.js `

### Troubleshooting

  • Error: “DistutilsOptionError: must supply either home or prefix/exec-prefix — not both” when running make cumulus-message-adapter.zip * [Solution](https://stackoverflow.com/a/24357384)

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

cumulus-message-adapter-1.3.1.tar.gz (14.6 kB view details)

Uploaded Source

File details

Details for the file cumulus-message-adapter-1.3.1.tar.gz.

File metadata

  • Download URL: cumulus-message-adapter-1.3.1.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.2

File hashes

Hashes for cumulus-message-adapter-1.3.1.tar.gz
Algorithm Hash digest
SHA256 3e99ca5b64966522c23acf3b54b967bd9a355395222bd62ffdb2d6d9bb67c4fe
MD5 0656210b8b1ce4de73a39476a10b4ee6
BLAKE2b-256 b2167c9e2f0f94341b20255f2619650d305fd0663fc2431e2120b601e4e233d4

See more details on using hashes here.

Supported by

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