Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nasa-pds/lasso-releasers

Automatic "release" of software to artifact repositories, publishing packages for general availability
https://github.com/nasa-pds/lasso-releasers

Last synced: 4 days ago
JSON representation

Automatic "release" of software to artifact repositories, publishing packages for general availability

Awesome Lists containing this project

README

        

# PDS Lasso Releasers

The PDS Lasso Releasers handle automatic "release" of software to artifact repositories, publishing packages for general availability. It's part of the "Lasso" family of products.

Please visit our website at: https://nasa-pds.github.io/lasso-releasers

It may have useful information for developers and end-users.

## Prerequisites

This software executes the `git` command and so `git` must be installed on the system prior to invoking this software.

## User Quickstart

Install with:

pip install lasso-releasers

To execute, run:

(put your run commands here)

## Code of Conduct

All users and developers of the NASA-PDS software are expected to abide by our [Code of Conduct](https://github.com/NASA-PDS/.github/blob/main/CODE_OF_CONDUCT.md). Please read this to ensure you understand the expectations of our community.

## Development

To develop this project, use your favorite text editor, or an integrated development environment with Python support, such as [PyCharm](https://www.jetbrains.com/pycharm/).

### Contributing

For information on how to contribute to NASA-PDS codebases please take a look at our [Contributing guidelines](https://github.com/NASA-PDS/.github/blob/main/CONTRIBUTING.md).

### Installation

Install in editable mode and with extra developer dependencies into your virtual environment of choice:

pip install --editable '.[dev]'

Configure the `pre-commit` hooks:

pre-commit install
pre-commit install -t pre-push
pre-commit install -t prepare-commit-msg
pre-commit install -t commit-msg

These hooks check code formatting and also aborts commits that contain secrets such as passwords or API keys. However, a one time setup is required in your global Git configuration. See [the wiki entry on Git Secrets](https://github.com/NASA-PDS/nasa-pds.github.io/wiki/Git-and-Github-Guide#git-secrets) to learn how.

### Packaging

To isolate and be able to re-produce the environment for this package, you should use a [Python Virtual Environment](https://docs.python.org/3/tutorial/venv.html). To do so, run:

python3 -m venv venv

Then exclusively use `venv/bin/python`, `venv/bin/pip`, etc. Or, "activate" the virtual environment by sourcing the appropriate script in the `venv/bin` directory.

If you have `tox` installed and would like it to create your environment and install dependencies for you run:

tox --devenv -e dev

Dependencies for development are specified as the `dev` `extras_require` in `setup.cfg`; they are installed into the virtual environment as follows:

pip install --editable '.[dev]'

All the source code is in a sub-directory under `src`.

### Tooling

The `dev` `extras_require` included in the template repo installs `black`, `flake8` (plus some plugins), and `mypy` along with default configuration for all of them. You can run all of these (and more!) with:

tox -e lint