/copyright-license-manager

Copyright, License Manager for source code

Primary LanguagePythonMIT LicenseMIT

Copyright License Manager

PyPI PyPI - Python Version PyPI - Wheel PyPI - Format PyPI - License GitHub Actions - CI GitHub Actions - pre-commit Codecov

A cli tool for easy management of copyright and licenses in source code headers.

Installation

pip install clmgr

Testing

This project uses pytest to run tests, if docstring examples are provided or included these will be included automatically.

Install test dependencies.

pip install -r requirements_dev.txt

Run tests.

pytest

Development

This project uses black to format code and flake8 for linting. To ensure these actions are run pre-commit is used. A git alias is provided which will configure the entire environment.

Configure environment.

git config include.path ../.gitaliases
git setup

Install dev dependencies.

pip install -r requirements_dev.txt

Install for development

pip install -e .

Release (Manual)

The following action describe the manual release process.

Install dev dependencies.

pip install -r requirements_dev.txt

Clean.

git clean -xfd

Build.

python setup.py sdist bdist_wheel

Verify.

twine check dist/*

Upload.

twine upload dist/*

Release

Releases are published automatically when a tag is pushed to GitHub.

# Set next version number
export RELEASE=x.x.x

# Create tags
git commit --allow-empty -m "build: release ${RELEASE}"
git tag -a ${RELEASE} -m "build: release ${RELEASE}"

# Push - Assume that we are working from a fork
git push upstream --tags