To develop on commonutilslib:

# The following commands require pipenv as a dependency

# To lint the project

# To execute the testing

# To create a graph of the package and dependency tree

# To build a package of the project under the directory "dist/"

# To see the package version

# To bump semantic versioning [--major|--minor|--patch]
_CI/scipts/ --major|--minor|--patch

# To upload the project to a pypi repo if user and password are properly provided

# To build the documentation of the project

To use commonutilslib in a project:

Working with Pushd:

from commonutilslib import Pushd

import os
with Pushd(some_path) as pushd:
    print(f'Doing things in {os.getcwd()} coming from {pushd.original_dir} and then returning back')

Working with tempdir:

from commonutilslib import tempdir

import os
with tempdir():
    print(f'Doing things in temporary directory {os.getcwd()} and deleting after done')

Working with Hasher:

from commonutilslib import Hasher

hasher = Hasher()