Skip to content

Simple tool that updates your python files license headers for the given directories.

Notifications You must be signed in to change notification settings

Carsopre/PythonLicenseUpdater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python 3.13 Code style: black

PythonLicenseUpdater

Simple tool that updates your python files license headers for the given directories. By default it will skip init.py.

How to use it?

As Docker container

  1. Checkout or clone our repository.

  2. Build the container (with podman or docker):

podman build -t pylicup
  1. Run the container mounting the license and the directories to update at the given locations:
podman run -v path/to/your/license/file:/mnt/license -v path/to/your/directory/to/update:/mnt/update pylicup
  1. If you want to update multiple directories you can do it as:
podman run -v path/to/your/license/file:/mnt/license -v path/to/your/directory/to/update:/mnt/update/dir_1 -v path/to/your/other/directory/to/update:/mnt/update/dir_2  pylicup

Important

Our docker container does not support (yet) replacing of an old license.

As Python package

Installation.

  1. With pip:
pip install pylicup
  1. With latest version from GitHub:
pip install git+https://github.com/Carsopre/PythonLicenseUpdater.git 
  1. With custom version from GitHub:
pip install git+https://github.com/Deltares/[email protected]

Python usage

The following command should be used.

python pylicup -l <path_to_your_license_file> -d <path_to_directory_with_python_files>
  • <path_to_your_licenses_file> List of licenses, the first one will replace the ones that follow (in case present) or simply added at the top.
  • <path_to_directory_with_python_files> List of arguments representing paths to the directories containing python files.

Examples

Given the following directory hierarchy:

license_manager.py
|-src\
    |-__init__.py
    |-main.py
    |-utils.py
|-test\
    |-__init__.py
    |-test_main.py
    |-test_utils.py
|-setup.py
|-my_license.txt
|-my_newer_license.txt
  1. The following command will update the license for src\main.py and src\utils.py:
python license_manager.py -l my_license.txt -d src
  1. Whereas executing the following command will result in updating the license header for src\main.py, src\utils.py, test\test_main.py and test\test_utils.py:
python license_manager.py -l my_license.txt -d src test
  1. Last, if we want to replace an existing license header with a new one, we would do the following command:
python license_manager.py -l {NEW_LICENSE} {OLD_LICENSE} -d src

About

Simple tool that updates your python files license headers for the given directories.

Resources

Stars

Watchers

Forks

Packages

No packages published