Skip to content

valohai/laituri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

laituri โ€” Docker Toolkit for Python

CI codecov

laituri is a set of Docker-related Python snippets used at Valohai. You can use it with Python >= 3.8.

Usage

Configuration

You can configure your used Docker command if it is not the default docker, using laituri settings.

Example:

laituri.settings.DOCKER_COMMAND = 'docker'

Docker Credential Manager

Laituri contains a docker credentials manager which can be used for example when pulling images. It logs in and out using the Docker CLI.

Example:

from laituri.docker.credential_manager import get_credential_manager

my_credentials = {
    'username': 'SmolShark1',
    'password': 'sharksWithLazers',
}

with get_credential_manager(
    image='python:latest',
    registry_credentials=my_credentials,
    log_status=print  # Any callable
):
    # Do your docker things!

Development

Installing editable library version in the current virtual environment.

# install this package and all development dependencies
pip install -e .[dev] pre-commit && pre-commit install

# manually run lint and type checks
pre-commit run --all-files

# manually run tests
pytest --cov

python
>>> import laituri; print(laituri.__version__)

Making a Release

A new release build is released by the CI when a new tag is pushed to the repository:

# bump version number in "laituri/__init__.py"
vim laituri/__init__.py

# pushing a new tag will trigger a new release build
git add .
git commit -m "Become to X.Y.Z"
git tag -a vX.Y.Z -m "Version X.Y.Z"
git push --follow-tags

If a manual release is needed, you can follow up the above steps with:

pip install build twine
git clean -fdx -e .idea/
python -m build .
twine upload dist/*