Skip to content

Conversation

@chdominguez
Copy link
Member

This pull request introduces automated license header management and updates licensing information throughout the project. The main changes include adding AGPL-3.0 license headers to all Python source and test files, automating license header checks in CI and pre-commit hooks, and updating project metadata and documentation to reflect the AGPL-3.0 license.

Automated License Header Management:

  • Added a Makefile target (add-license-headers) to insert AGPL-3.0 license headers into all Python files, using a template file .agpl3.tmpl. [1] [2] [3] [4]
  • Integrated a pre-commit hook via .pre-commit-config.yaml to enforce license headers on Python files.
  • Updated the CI workflow (python-ci.yaml) to check for missing license headers and provide actionable feedback if violations are found. [1] [2] [3] [4]

License Information and Documentation Updates:

  • Added AGPL-3.0 license headers to all Python source and test files, including src/main.py, test modules, and package initializers. [1] [2] [3] [4] [5] [6] [7] [8]
  • Updated README.md to clarify AGPL-3.0 licensing, update credits, and add commercial support contact information.
  • Added project metadata and license classifier to pyproject.toml.

Other Documentation Improvements:

  • Updated the architecture diagram link in README.md to a new image host.

Copilot AI review requested due to automatic review settings January 2, 2026 10:30
@github-actions
Copy link

github-actions bot commented Jan 2, 2026

📊 Code Quality Report

Tool Status
Black (Formatting) ✅ passed
isort (Import Sorting) ✅ passed
Pylint (Linting) ✅ passed
Flake8 (Style Guide) ✅ passed
Pyright (Type Checking) ✅ passed
License Headers ✅ passed
Tests ✅ passed

Black Code Formatting

✅ Code is properly formatted

Import Sorting (isort)

✅ Imports are properly sorted

Pylint Analysis

✅ No pylint issues found

Flake8 Analysis

✅ No flake8 issues found

Type Checking (Pyright)

✅ No type checking issues found

License Header Check

✅ All Python files have proper license headers

Test Results

✅ All tests passed

============================= test session starts ==============================
================================ tests coverage ================================
============================== 7 passed in 0.23s ===============================

Coverage Summary:

TOTAL                                              47      0   100%
💡 How to fix these issues

Formatting Issues (Black):

black .

Import Sorting (isort):

isort .

Linting Issues:

  • Review Pylint suggestions and update code accordingly
  • Check Flake8 output for style guide violations

Type Issues:

  • Add proper type hints where indicated by Pyright
  • Fix type inconsistencies

License Header Issues:

make add-license-headers

Test Issues:

pytest -v  # Run tests with verbose output
pytest tests/unit  # Run only unit tests
pytest tests/integration  # Run only integration tests

@github-actions
Copy link

github-actions bot commented Jan 2, 2026

📊 Code Quality Report

Tool Status
Black (Formatting) ✅ passed
isort (Import Sorting) ✅ passed
Pylint (Linting) ✅ passed
Flake8 (Style Guide) ✅ passed
Pyright (Type Checking) ✅ passed
License Headers ✅ passed
Tests ✅ passed

Black Code Formatting

✅ Code is properly formatted

Import Sorting (isort)

✅ Imports are properly sorted

Pylint Analysis

✅ No pylint issues found

Flake8 Analysis

✅ No flake8 issues found

Type Checking (Pyright)

✅ No type checking issues found

License Header Check

✅ All Python files have proper license headers

Test Results

✅ All tests passed

============================= test session starts ==============================
================================ tests coverage ================================
============================== 7 passed in 0.18s ===============================

Coverage Summary:

TOTAL                                              47      0   100%
💡 How to fix these issues

Formatting Issues (Black):

black .

Import Sorting (isort):

isort .

Linting Issues:

  • Review Pylint suggestions and update code accordingly
  • Check Flake8 output for style guide violations

Type Issues:

  • Add proper type hints where indicated by Pyright
  • Fix type inconsistencies

License Header Issues:

make add-license-headers

Test Issues:

pytest -v  # Run tests with verbose output
pytest tests/unit  # Run only unit tests
pytest tests/integration  # Run only integration tests

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request transitions the project from BSD 3-Clause to AGPL-3.0 licensing and implements automated license header management. The changes ensure all Python source files contain proper AGPL-3.0 headers, with pre-commit hooks and CI checks to enforce this standard going forward.

Key changes:

  • Replaced BSD 3-Clause LICENSE file with full AGPL-3.0 license text
  • Added AGPL-3.0 license headers to all Python files (source and tests)
  • Implemented automated license header management via Makefile, pre-commit hooks, and CI workflow

Reviewed changes

Copilot reviewed 15 out of 16 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
LICENSE Replaced BSD 3-Clause license with complete AGPL-3.0 license text
.agpl3.tmpl Template file for automated AGPL-3.0 license header insertion
Makefile Added add-license-headers target for automated header management
.pre-commit-config.yaml New pre-commit configuration enforcing license headers on Python files
.github/workflows/python-ci.yaml Added CI step to verify license headers with actionable fix instructions
pyproject.toml Added project metadata and AGPL-3.0 classifier
README.md Updated to reflect AGPL-3.0 licensing and revised credits/support information
src/main.py Added AGPL-3.0 license header
tests/*.py Added AGPL-3.0 license headers to all test files

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chdominguez chdominguez enabled auto-merge (squash) January 2, 2026 10:36
@chdominguez chdominguez disabled auto-merge January 2, 2026 10:49
@chdominguez chdominguez merged commit ac6c3b6 into main Jan 2, 2026
6 checks passed
@chdominguez chdominguez deleted the license_update branch January 2, 2026 10:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants