SPDXVersion: SPDX-2.1 DataLicense: CC0-1.0 SPDXID: SPDXRef-DOCUMENT DocumentName: project DocumentNamespace: http://spdx.org/spdxdocs/spdx-v2.1-6d00f261-f5fb-4d08-865b-b4ed28183744 Creator: Person: Anonymous () Creator: Organization: Anonymous () Creator: Tool: reuse-6.1.0 Created: 2026-07-29T16:42:31Z CreatorComment: This document was created automatically using available reuse information consistent with REUSE. Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c09904d2764c838df083e32f05825082 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-176454e4685dbaf8a4598ec3e0d414ee Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-26e0cba0115ccdb3bbf2601e55c4501c Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-3df2076d8b10ae1aaa848d1ffb9df301 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-07c06b31a48e7203c1cf18904beeb9ba Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-bcab004fb8b99924c87863af1caae0ff Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9dfd1cfa61864dbe1298f9f23d07d270 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-27600123726c439dcb27533b54159298 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6eefc44aca22ca1bb3cb2719aa81d135 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-69d1da01713f08522b1fd49f0ae0c0f6 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-b064bcda29bbbd101b56dfe07608f20f Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-37193ad749f92e9284bdad790db40bda Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-46bf0e418b8d07ed9142d0642a66bffe Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9f0f4046f7687b653a37525f9570d95f Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-e9d268d20f5c63b9bd396387be1e8e31 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-351871524fd07bad20eb761aeb40034e Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7aa9e0d7b3e6038e553841a0d385a6fd Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c522181a986aa27ec2a9dd2c9e7b5311 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-3af57c223f6f3002d90a2120786654dc Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-80b9dfa88f305cf1d4d81bc4880a7eb2 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d11782bd539d3b2f0611cea508ea46f7 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ec231670eb388d04157720f062ca0b4c Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f20ddb17d6ff3c2b9029694c724608ad Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5a4b0eb74a321352240218b9f4a75d21 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-793ed77163d13f50dc78083cd6987970 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c54581f2c519abf09610c5249edf3f6c Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-bea5507faaba4ac57817b1f81a899a62 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-52085395ebcbd9bd44f6d436a04a9db8 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8f939d0d71052faa0891ad2bf2bd723e Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-acffe60ebdcd07177e3ed98575a0ba17 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-3d844b259edf7d7d0e072f182e116b56 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a6774b226145983d8786326bf02b63ee Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-45b1ca869a71d3d2dc2c16d3c53d789e Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-b207ea392472b12a46d9ea30e99a2337 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-42c032f938428b2f6bbdb75b0a23e97d Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-267e8ee7636422d43a51f5d01d6e8e31 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9d5cf78e52d7dd1c2d41393c0a07a976 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-fcb459fe8d65d2fe0a44776bff66ee58 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9ac5367d2291c3f1032753a680d6f066 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-49799b471faa2684b8aaf76301fa92d5 Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a916cad9bf610c8b5d9ec4748f1dfb63 FileName: ./.github/actions/uvbuild/action.yaml SPDXID: SPDXRef-c09904d2764c838df083e32f05825082 FileChecksum: SHA1: ae5f5470e8bf63adbe32fbbabf6f331b8140ce94 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./.github/workflows/ci-security.yaml SPDXID: SPDXRef-176454e4685dbaf8a4598ec3e0d414ee FileChecksum: SHA1: 0e72c1d9293501538b5c339f872f7be3f659315e LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./.github/workflows/publish.yaml SPDXID: SPDXRef-26e0cba0115ccdb3bbf2601e55c4501c FileChecksum: SHA1: 8fca3a0787b4d066b2c29114937e0410ec333931 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./.github/workflows/release-please.yaml SPDXID: SPDXRef-3df2076d8b10ae1aaa848d1ffb9df301 FileChecksum: SHA1: 7cbba59a91fa9dd65953e753b1ab3a7fa33d003e LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./.github/workflows/release-vulnerabilities.yaml SPDXID: SPDXRef-07c06b31a48e7203c1cf18904beeb9ba FileChecksum: SHA1: 3541fe62c84ff272ffe9f8737ee2866db3899830 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./.github/workflows/test.yaml SPDXID: SPDXRef-bcab004fb8b99924c87863af1caae0ff FileChecksum: SHA1: de7b43bf594df64325b2f1b056ac977862c6c424 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./.gitignore SPDXID: SPDXRef-9dfd1cfa61864dbe1298f9f23d07d270 FileChecksum: SHA1: 606734ff222abf38ac6a8cdaac85dc0856b25cb3 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./.release-please-manifest.json SPDXID: SPDXRef-27600123726c439dcb27533b54159298 FileChecksum: SHA1: 0dbbe119056865c4845a6fad035f538291d03bbf LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./AGENTS.md SPDXID: SPDXRef-6eefc44aca22ca1bb3cb2719aa81d135 FileChecksum: SHA1: 8f5def4e1c528d80acfdb78dfc37fe224a54ece3 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./CHANGELOG.md SPDXID: SPDXRef-69d1da01713f08522b1fd49f0ae0c0f6 FileChecksum: SHA1: 7ea9d182347039c0b4e9639295485dcce6f682d9 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./README.md SPDXID: SPDXRef-b064bcda29bbbd101b56dfe07608f20f FileChecksum: SHA1: cc82826c2689fd4cf91ba950b931d34c5633081e LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl Copyright and Licensing FileName: ./meta/screen1.jpg SPDXID: SPDXRef-37193ad749f92e9284bdad790db40bda FileChecksum: SHA1: 1abef39b591a46c853abff8fd362caab18b03670 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./mise.toml SPDXID: SPDXRef-46bf0e418b8d07ed9142d0642a66bffe FileChecksum: SHA1: ce11d15e06ccacb5dab251880e07d46c176477c3 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./pyproject.toml SPDXID: SPDXRef-9f0f4046f7687b653a37525f9570d95f FileChecksum: SHA1: 3f0c3cff7508531d7e9f95890f734d3ba6cb9c4b LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./release-please-config.json SPDXID: SPDXRef-e9d268d20f5c63b9bd396387be1e8e31 FileChecksum: SHA1: c35e6f9df84e367b8847833afb70c808f161a6fe LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./renovate.json5 SPDXID: SPDXRef-351871524fd07bad20eb761aeb40034e FileChecksum: SHA1: 555e7c93831fe81de46ae385bd5942ca19cd3a85 LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./scripts/demo_task1.py SPDXID: SPDXRef-7aa9e0d7b3e6038e553841a0d385a6fd FileChecksum: SHA1: a788f60a7c959fddeda3811badc4da6d6316d27a LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./scripts/demo_task2.py SPDXID: SPDXRef-c522181a986aa27ec2a9dd2c9e7b5311 FileChecksum: SHA1: 8829bfc5677893a7083c6e574c516e39d5448c84 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./scripts/demo_task3.py SPDXID: SPDXRef-3af57c223f6f3002d90a2120786654dc FileChecksum: SHA1: 67ebd532bf2a1b3b3dbfff22aaf498f43a41688a LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/__init__.py SPDXID: SPDXRef-80b9dfa88f305cf1d4d81bc4880a7eb2 FileChecksum: SHA1: 87e08e136197aa74b77f6b40fd568c884dbd8004 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/app.py SPDXID: SPDXRef-d11782bd539d3b2f0611cea508ea46f7 FileChecksum: SHA1: 0f3eec2176e0734bf50eadafd686e123fa6dd28b LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/config.py SPDXID: SPDXRef-ec231670eb388d04157720f062ca0b4c FileChecksum: SHA1: 04d7ca1c427def74ffa652126b044816ae8407fe LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/demo.py SPDXID: SPDXRef-f20ddb17d6ff3c2b9029694c724608ad FileChecksum: SHA1: e86744f9ac565280e0ea43516e134dabf33446af LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/fetch.py SPDXID: SPDXRef-5a4b0eb74a321352240218b9f4a75d21 FileChecksum: SHA1: 9049a330155a5c8782136da00cc3b7846c350177 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/forges/__init__.py SPDXID: SPDXRef-793ed77163d13f50dc78083cd6987970 FileChecksum: SHA1: 73869c9b3e758b93b802f1d19d34d85322e00006 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/forges/base.py SPDXID: SPDXRef-c54581f2c519abf09610c5249edf3f6c FileChecksum: SHA1: 49c0ebe1e367dcd7b73936edaa1738407c83c76a LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/forges/gitea.py SPDXID: SPDXRef-bea5507faaba4ac57817b1f81a899a62 FileChecksum: SHA1: eccffd4c9133294c65f6b291269b3948384756c5 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/forges/github.py SPDXID: SPDXRef-52085395ebcbd9bd44f6d436a04a9db8 FileChecksum: SHA1: 353e26e6a0394bc5071afd5cfb83a7c513904889 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/forges/gitlab.py SPDXID: SPDXRef-8f939d0d71052faa0891ad2bf2bd723e FileChecksum: SHA1: b3f0f08a489b3cd72329c678b81ce275dbdd3823 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./src/proctr/projects.py SPDXID: SPDXRef-acffe60ebdcd07177e3ed98575a0ba17 FileChecksum: SHA1: 4cc58119398478c1915bc19fb2e48946516be571 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/__init__.py SPDXID: SPDXRef-3d844b259edf7d7d0e072f182e116b56 FileChecksum: SHA1: 984ee2cc5a9f1056fc52e9abe740c5e7a70c8e31 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_app.py SPDXID: SPDXRef-a6774b226145983d8786326bf02b63ee FileChecksum: SHA1: ff6fdfe5f8439bfd7c17728d360f8fe6d9b348d5 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_config.py SPDXID: SPDXRef-45b1ca869a71d3d2dc2c16d3c53d789e FileChecksum: SHA1: cf9aade8a48af1cb845bd9c50df152cd37d9557d LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_fetch.py SPDXID: SPDXRef-b207ea392472b12a46d9ea30e99a2337 FileChecksum: SHA1: c820b6b905cd8d67b8b6d3efd1b201160461ca78 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_forge_base.py SPDXID: SPDXRef-42c032f938428b2f6bbdb75b0a23e97d FileChecksum: SHA1: 8892097fb60e733615dc071171f6f4acc07bc2ad LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_forge_dispatcher.py SPDXID: SPDXRef-267e8ee7636422d43a51f5d01d6e8e31 FileChecksum: SHA1: 304afd1b8d36829533ee120a00011484136baf82 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_gitea.py SPDXID: SPDXRef-9d5cf78e52d7dd1c2d41393c0a07a976 FileChecksum: SHA1: cd6f34543bde93f9c9c83f9a4adee434fc8292e3 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_github.py SPDXID: SPDXRef-fcb459fe8d65d2fe0a44776bff66ee58 FileChecksum: SHA1: 5ef804f11e95baabc6c852b6651e21d64a108c13 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_gitlab.py SPDXID: SPDXRef-9ac5367d2291c3f1032753a680d6f066 FileChecksum: SHA1: ca7a4b91a9d9b43132705d4a4e6c4ec463fded9c LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./tests/test_projects.py SPDXID: SPDXRef-49799b471faa2684b8aaf76301fa92d5 FileChecksum: SHA1: 01422f915bf6de84730722b016bed20189402a82 LicenseConcluded: NOASSERTION LicenseInfoInFile: Apache-2.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl FileName: ./uv.lock SPDXID: SPDXRef-a916cad9bf610c8b5d9ec4748f1dfb63 FileChecksum: SHA1: 335ef13762e9c070ed2f17ace5a0598ddb4ab93f LicenseConcluded: NOASSERTION LicenseInfoInFile: CC0-1.0 FileCopyrightText: SPDX-FileCopyrightText: 2026 Max Mehl