Skip to content

Latest commit

 

History

History
88 lines (60 loc) · 2.07 KB

README.md

File metadata and controls

88 lines (60 loc) · 2.07 KB

ASWF Python Utilities

Code style: black pytest coverage

The aswfdocker command line tool is available to help with package and image builds.

Installation

For users

Clone this repository and run the setup:

git clone https://github.com/AcademySoftwareFoundation/aswf-docker
cd aswf-docker
python3 setup.py install

For developers

Install pipenv for Python 3 first:

pip3 install pipenv

Then clone this repository, start the pipenv shell and install the dev dependencies:

git clone https://github.com/AcademySoftwareFoundation/aswf-docker
cd aswf-docker
pipenv shell
pipenv install --dev

You should now be in a Python virtualenv shell where the aswfdocker command is available.

Finally

You should check the command is working:

aswfdocker --help

Usage

List packages and images

List all known packages:

aswfdocker packages

List all known images:

aswfdocker images

Development

Process

Once in the pipenv shell you should first install the pre-commit hooks by running pre-commit install.

The pre-commit hooks will run the following commands, which can be run individually as well:

  • Run Black on the code to ensure formatting is okay: black python
  • Run the tests to ensure everything is okay: pytest python/aswfdocker
  • Run mypy to ensure static types are okay: mypy python/aswfdocker
  • Run PyLint on the code to ensure linting is okay: pylint python/aswfdocker

To run them all manually use pre-commit run --all-files.

Adding new pip dependencies

  • Run pipenv install xyz
  • Run pipenv-setup sync to update setup.py with added dependency (pipenv-setup is a "dev" dependency already declared in Pipfile)