Skip to main content

Fast SPDX License Checker for Source Code

Project description

SPDX License Checker

spdx-checker is a fast Python package for validating and analyzing SPDX license headers in your projects. It leverages Zig for exceptional speed and efficiency. The checker raises an error immediately if any file contains an incorrect or missing license header.

Supported platforms

The wheels published by the GitHub Actions workflow are built with cibuildwheel. The table below lists all supported operating systems and Python versions for the pre-built wheels.

Operating System Python versions / ABI
macOS (arm64) 3.11, 3.12, 3.13 (cp311, cp312, cp313 — macosx_arm64)
manylinux (x86_64) 3.11, 3.12, 3.13 (cp311, cp312, cp313 — manylinux_x86_64)
musllinux (x86_64) 3.11, 3.12, 3.13 (cp311, cp312, cp313 — musllinux_x86_64)
Windows (amd64) 3.11, 3.12, 3.13 (cp311, cp312, cp313 — win_amd64)

Example Usage

import spdx_checker

spdx_checker.check_license(
    "MIT", 
    ["example1.py", "example2.svelte", "example3.html"]
    extensions=["zig", "py", "svelte"]
    fix=True,
    continue_on_error=False
    )

Development

Issues with uv caching

To force uv to ignore existing installed versions, pass --reinstall to any installation command (e.g., uv sync --reinstall or uv pip install --reinstall ...).

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

spdx_checker-0.1.18-cp311-abi3-win_amd64.whl (845.5 kB view details)

Uploaded CPython 3.11+Windows x86-64

spdx_checker-0.1.18-cp311-abi3-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ x86-64

spdx_checker-0.1.18-cp311-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.12+ x86-64manylinux: glibc 2.17+ x86-64

spdx_checker-0.1.18-cp311-abi3-macosx_14_0_arm64.whl (441.9 kB view details)

Uploaded CPython 3.11+macOS 14.0+ ARM64

File details

Details for the file spdx_checker-0.1.18-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: spdx_checker-0.1.18-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 845.5 kB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for spdx_checker-0.1.18-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c7b623dba25558881b93698850588ca3c8ab24b135c5d452a69748f360061aac
MD5 d4c86dfb355692a6e0ef837900a8a197
BLAKE2b-256 d25b5bf1a376d863c8424b1a2a49c8494779895c59d6c652eeeddf0138327c40

See more details on using hashes here.

File details

Details for the file spdx_checker-0.1.18-cp311-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: spdx_checker-0.1.18-cp311-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.11+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for spdx_checker-0.1.18-cp311-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 91fc9860423081b7513e6327ec01ff1c4027dfe035c1382ddaa0f3d00c3531d3
MD5 c3d736d9e551357f5388236d9708e080
BLAKE2b-256 6061a359f04daca1ed96740ed2e1df772127e4055d73603e0a0e10456e17071f

See more details on using hashes here.

File details

Details for the file spdx_checker-0.1.18-cp311-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: spdx_checker-0.1.18-cp311-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.12+ x86-64, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for spdx_checker-0.1.18-cp311-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a1e720d244f746475fc9338bb43664a6d259d16491cec6d83de4f3debe641dfe
MD5 2a4105b256aa5b886dc372357a89e9e5
BLAKE2b-256 b1fa98cab465662380e24a7218af3f76675c7b8627e5a5c59064b68e01a86b03

See more details on using hashes here.

File details

Details for the file spdx_checker-0.1.18-cp311-abi3-macosx_14_0_arm64.whl.

File metadata

  • Download URL: spdx_checker-0.1.18-cp311-abi3-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 441.9 kB
  • Tags: CPython 3.11+, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for spdx_checker-0.1.18-cp311-abi3-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3c9fea2865191860f8eaf5e1397d86bef6a3ae5f51843e89a334e55021c36a21
MD5 8866eaa7f4b61a5f9faeaebceec54180
BLAKE2b-256 710edd4b8dd8400b140e1e47fef281d5c2355785680d23f3c8052b31fdbddd5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page