Skip to content

Support python 3.13 with updated dependencies #4430

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 84 commits into from
Jun 26, 2025
Merged
Show file tree
Hide file tree
Changes from 80 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
ea5044d
Create script to update repo skeleton #80
JonoYang Jul 17, 2023
320ec21
Replace black and isort with ruff
JonoYang Mar 27, 2025
d4e29c3
Use org standard 100 line length
pombredanne Mar 28, 2025
6c028f7
Lint all common code directories
pombredanne Mar 29, 2025
233f3ed
Remove unused targets
pombredanne Mar 29, 2025
55545bf
Improve import sorting
pombredanne Mar 29, 2025
0b63e50
Apply small code updates
pombredanne Mar 29, 2025
092f545
Format code
pombredanne Mar 29, 2025
d05665a
Apply cosmetic refactorings
pombredanne Mar 29, 2025
63bcbf5
Reformat test code
pombredanne Mar 29, 2025
9d1393a
Format code
pombredanne Mar 29, 2025
f10b783
Refine ruff configuration
pombredanne Mar 29, 2025
1d6c8f3
Format doc
pombredanne Mar 29, 2025
0213c1e
Run doc8 on all rst files
pombredanne Mar 29, 2025
c112f2a
Enable doc style checks
pombredanne Mar 29, 2025
944b6c5
Add support for new OS versions
pombredanne Mar 28, 2025
a2ced96
Merge pull request #94 from aboutcode-org/new-osses
pombredanne Mar 30, 2025
136af39
Update scripts aboutcode references
pombredanne Mar 30, 2025
da8eff0
Do not format more test data
pombredanne Mar 30, 2025
4f9e936
Do not treat rst as Python
pombredanne Mar 30, 2025
a2809fb
Combine testing and docs extra for simplicity
pombredanne Mar 30, 2025
43b96c2
Refine checking of docs with doc8
pombredanne Mar 30, 2025
b7194c8
Refine doc handling
pombredanne Mar 30, 2025
a5bcdbd
Add twine check to release publication
pombredanne Mar 30, 2025
a6c25fb
Refine doc contribution docs
pombredanne Mar 30, 2025
dc123f1
Merge pull request #95 from aboutcode-org/80-update-skeleton-script
JonoYang Mar 31, 2025
68daae1
Replace black and isort with ruff
JonoYang Mar 27, 2025
6a8c9ae
Use org standard 100 line length
pombredanne Mar 28, 2025
2fd31d5
Lint all common code directories
pombredanne Mar 29, 2025
eb5fc82
Remove unused targets
pombredanne Mar 29, 2025
529d516
Improve import sorting
pombredanne Mar 29, 2025
aae1a28
Apply small code updates
pombredanne Mar 29, 2025
037f9fc
Format code
pombredanne Mar 29, 2025
1189dda
Apply cosmetic refactorings
pombredanne Mar 29, 2025
84257fb
Reformat test code
pombredanne Mar 29, 2025
00684f7
Format code
pombredanne Mar 29, 2025
7c4278d
Refine ruff configuration
pombredanne Mar 29, 2025
47cb840
Format doc
pombredanne Mar 29, 2025
7b29b59
Run doc8 on all rst files
pombredanne Mar 29, 2025
86c7ca4
Enable doc style checks
pombredanne Mar 29, 2025
71583c5
Do not format more test data
pombredanne Mar 30, 2025
0f1a403
Do not treat rst as Python
pombredanne Mar 30, 2025
6bea657
Combine testing and docs extra for simplicity
pombredanne Mar 30, 2025
c615589
Refine checking of docs with doc8
pombredanne Mar 30, 2025
04e0a89
Refine doc handling
pombredanne Mar 30, 2025
8897cc6
Add twine check to release publication
pombredanne Mar 30, 2025
3d42985
Refine doc contribution docs
pombredanne Mar 30, 2025
f428366
Update codestyle command
JonoYang Mar 31, 2025
f0d0e21
Update README.rst
JonoYang Mar 31, 2025
f3a8aa6
Update BUILDDIR envvar in docs/Makefile
JonoYang Mar 31, 2025
5b0f4d6
Fix doc line length
pombredanne Apr 1, 2025
7b6f41f
Merge branch 'add-code-style-checks' of https://github.com/nexB/skeleton
pombredanne Apr 1, 2025
e776fef
Format code
pombredanne Apr 1, 2025
2a43f4c
Correct supported runner on Azure
pombredanne Apr 1, 2025
4a15550
Add code checks to CI
pombredanne Apr 1, 2025
b2d7512
Revert support for Python 3.13
pombredanne Apr 1, 2025
2e3464b
Ignore local .env file
pombredanne Apr 2, 2025
d4af79f
Add correct extras for documentation
pombredanne Apr 2, 2025
49bfd37
Improve MANIFEST
pombredanne Apr 2, 2025
5bc987a
Improve cleaning on POSIX
pombredanne Apr 2, 2025
887779a
Rename dev extra to "dev"
pombredanne Apr 2, 2025
209231f
Add more excludes from tests
pombredanne Apr 2, 2025
47bce2d
Do not lint django migrations
pombredanne Apr 2, 2025
5025cfb
Add README.rst to list of "license files"
pombredanne Apr 2, 2025
548a72e
Use Python 3.9 as lowest suupported version
pombredanne Apr 2, 2025
3d256b4
Drop pycodestyle
pombredanne Apr 2, 2025
6450529
Bump pytest minimal version
pombredanne Apr 2, 2025
4f9751c
Merge pull request #96 from aboutcode-org/add-code-style-checks
pombredanne Apr 4, 2025
fec416a
Test pyahocorasick inter-long fix and py3.13
AyanSinhaMahapatra Jun 17, 2025
d69ae02
Use updated dependencies with py3.13 support
AyanSinhaMahapatra Jun 17, 2025
bfdafad
Bump pyahocorasick to released v2.2.0
AyanSinhaMahapatra Jun 19, 2025
0d00fe6
Regen tests for maven text with `ø`
AyanSinhaMahapatra Jun 19, 2025
0d5772c
Merge branch 'develop' into test-pyahocorasick
AyanSinhaMahapatra Jun 20, 2025
4049083
Update dependency requirements
AyanSinhaMahapatra Jun 20, 2025
97bc9b5
Rollback dependencies based on detection issues
AyanSinhaMahapatra Jun 24, 2025
a4e6e11
Update deprecated windows action runner 2019->2025
AyanSinhaMahapatra Jun 24, 2025
af87cfa
Update CI runners and scripts
AyanSinhaMahapatra Jun 24, 2025
c1002c2
Merge pull request #97 from aboutcode-org/update-ci-and-runners
AyanSinhaMahapatra Jun 24, 2025
d03a558
Merge remote-tracking branch 'skeleton/main' into test-pyahocorasick
AyanSinhaMahapatra Jun 24, 2025
600759d
Update scancode release script for py3.13
AyanSinhaMahapatra Jun 24, 2025
be51a43
Fix release smoke tests on posix
AyanSinhaMahapatra Jun 25, 2025
2a7a0b9
Bump scancode version to v32.4.0
AyanSinhaMahapatra Jun 26, 2025
03cf4b5
Merge branch 'develop' into test-pyahocorasick
AyanSinhaMahapatra Jun 26, 2025
0fe7fc8
Bump scancode version to v32.4.0 in setup.cfg
AyanSinhaMahapatra Jun 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions .github/workflows/docs-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: [3.12]
python-version: [3.13]

steps:
- name: Checkout code
Expand All @@ -24,14 +24,12 @@ jobs:
python-version: ${{ matrix.python-version }}

- name: Install Dependencies
run: pip install -e .[docs]
run: ./configure --dev

- name: Check Sphinx Documentation build minimally
working-directory: ./docs
run: sphinx-build -E -W source build
- name: Check documentation and HTML for errors and dead links
run: make docs-check

- name: Check for documentation style errors
working-directory: ./docs
run: ./scripts/doc8_style_check.sh
- name: Check documentation for style errors
run: make doc8


50 changes: 34 additions & 16 deletions .github/workflows/scancode-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: Create ScanCode release archives, then test and publish to GH and PyPI
# Summary of the steps:
# - Build wheel and sdist for the "main" scancode, then build these for the "mini" flavor
# - test each wheel and sdist on every possible OS x Python version combinations
# - Build release app archives, one for each of linux, windows, macos on Python 3.9 to 3.12
# - Build release app archives, one for each of linux, windows, macos on Python 3.9 to 3.13
# - test each on its target OS and Python version
# - Create gh-release and upload app archives to release
# - Upload all wheels and sdist to PyPI
Expand Down Expand Up @@ -34,7 +34,7 @@ jobs:
strategy:
fail-fast: true
matrix:
pyver: ["3.9", "3.10", "3.11", "3.12"]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.13"

- name: Install requirements then build main and mini sdist
run: etc/release/scancode-create-pypi-sdist.sh
Expand All @@ -100,7 +100,7 @@ jobs:
strategy:
fail-fast: true
matrix:
pyver: ["3.9", "3.10", "3.11", "3.12"]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -135,7 +135,7 @@ jobs:
strategy:
fail-fast: true
matrix:
pyver: ["3.9", "3.10", "3.11", "3.12"]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -170,7 +170,7 @@ jobs:
strategy:
fail-fast: true
matrix:
pyver: ["3.9", "3.10", "3.11", "3.12"]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -211,7 +211,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.13"

- name: Build source archive with deps
run: etc/release/scancode-create-release-app-sources.sh
Expand Down Expand Up @@ -240,7 +240,7 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-24.04, ubuntu-24.04, macos-13, macos-14]
pyver: ["3.9", "3.10", "3.11", "3.12"]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -285,8 +285,8 @@ jobs:
strategy:
fail-fast: true
matrix:
os: [windows-2019, windows-2022]
pyver: ["3.9", "3.10", "3.11", "3.12"]
os: [windows-2025, windows-2022]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -331,7 +331,7 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-24.04, ubuntu-24.04]
pyver: ["3.9", "3.10", "3.11", "3.12"]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -372,7 +372,7 @@ jobs:
fail-fast: true
matrix:
os: [macos-13, macos-14]
pyver: ["3.9", "3.10", "3.11", "3.12"]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -412,8 +412,8 @@ jobs:
strategy:
fail-fast: true
matrix:
os: [windows-2019, windows-2022]
pyver: ["3.9", "3.10", "3.11", "3.12"]
os: [windows-2025, windows-2022]
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -485,6 +485,12 @@ jobs:
name: macos_app_py_3.12
path: dist

- name: Download a single artifact macos_app for python 3.13
uses: actions/download-artifact@v4
with:
name: macos_app_py_3.13
path: dist

- name: Download a single artifact linux_app for python 3.9
uses: actions/download-artifact@v4
with:
Expand All @@ -509,6 +515,12 @@ jobs:
name: linux_app_py_3.12
path: dist

- name: Download a single artifact linux_app for python 3.13
uses: actions/download-artifact@v4
with:
name: linux_app_py_3.13
path: dist

- name: Download a single artifact windows_app for python 3.9
uses: actions/download-artifact@v4
with:
Expand All @@ -533,6 +545,12 @@ jobs:
name: windows_app_py_3.12
path: dist

- name: Download a single artifact windows_app for python 3.13
uses: actions/download-artifact@v4
with:
name: windows_app_py_3.13
path: dist

- name: Mock GH release
run: |
ls -al dist
Expand All @@ -559,13 +577,13 @@ jobs:
strategy:
fail-fast: true
matrix:
dist_names: ["wheels-3.9", "wheels-3.10", "wheels-3.11", "wheels-3.12", sdists]
dist_names: ["wheels-3.9", "wheels-3.10", "wheels-3.11", "wheels-3.12", "wheels-3.13", sdists]

steps:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13

- name: Download a single artifact
uses: actions/download-artifact@v4
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,5 @@ selenium

# Ignore extra rpmdb sqlite stuff
rpmdb.sqlite-*
/.ruff_cache/
.env
2 changes: 1 addition & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ python:
- method: pip
path: .
extra_requirements:
- docs
- dev
6 changes: 3 additions & 3 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The following organizations or individuals have contributed to ScanCode:
- Mankaran Singh @MankaranSingh
- Marc-Etienne Vargenau @vargenau
- Martin Petkov @MartinPetkov
- Maximilian Huber @maxhbr
- Maximilian Huber @maxhbr
- Michael Herzog @mjherzog
- Michael Rupprecht @michaelrup
- Mike Rombout @mrombout
Expand Down Expand Up @@ -89,15 +89,15 @@ The following organizations or individuals have contributed to ScanCode:
- Thomas Druez @tdruez
- Thomas Steenbergen @tsteenbe
- Thorsten Harter @ThorstenHarter
- Till Jaeger @LeChasseur
- Till Jaeger @LeChasseur
- Tobias Furuholm @furuholm
- Tushar Goel @TG1999
- Tushar Mittal @techytushar
- Tushar Upadhyay @tushar912
- Van Lindberg @VanL
- Vibhu Agarwal @Vibhu-Agarwal
- Viktor Tiulpin @tiulpin
- Vinay Kumar Singh @Vinay0001
- Vinay Kumar Singh @Vinay0001
- Virag Umathe @viragumathe5
- Yash D. Saraf @yashdsaraf
- Yash Nisar @yash-nisar
Expand Down
44 changes: 29 additions & 15 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1791,14 +1791,16 @@ v3.2.0rc1 (2020-09-08)
- Add new license rules for "bad" licenses #1899 @viragumathe5
- Improve copyright detection @WizardOhio24
- Improve tests @hanif-ali
- Add and improve support for package manifest for #2080 Go, Ruby gem gemspec, Cocoapod podspec, opam, Python PKG-INFO - Rohit Potter @rpotter12
- Add and improve support for package lockfiles for Pipfile.lock, requirements.tx, Cargo.lock - Rohit Potter @rpotter12
- Add and improve support for package manifest for #2080 Go, Ruby gem gemspec,
Cocoapod podspec, opam, Python PKG-INFO - Rohit Potter @rpotter12
- Add and improve support for package lockfiles for Pipfile.lock,
requirements.tx, Cargo.lock - Rohit Potter @rpotter12
- Add new --max-depth option to limit sca depth - Hanif Ali @hanif-ali
- Add initial Debian packaging - @aj4ayushjain
- Add new documentation web site and documentation generation system
- The "headers" attribute in JSON outputs now contains a 'duration' field. #1942
- Rework packaging and third-party support handling: Create new scripts and
process to provision, install and manage third-party dependencies - Abhishek Kumar @Abhishek-Dev09
process to provision, install and manage third-party dependencies @Abhishek-Dev09
- Improve CSV output and fix manifest path bug #1718 Aditya Viki8
- Add new documentation, as well as tools and process. Ayan Sinha Mahapatra
- Add new license detection rules - Ayan Sinha Mahapatra
Expand Down Expand Up @@ -1826,9 +1828,12 @@ v3.2.0rc1 (2020-09-08)
- Improve Documentation - Michael Herzog
- Add new checksum type for sha256 - Nitish @nitish81299
- Improve documentation - Philippe Ombredanne
- Add new license detection rules and improve detection #1777 #1720 #1734 #1486 #1757 #1749 #1283 #1795 #2214 #1978
- Add new license detection rules and improve detection #2187 #2188 #2189 #1904 #2207 #1905 #419 #2190 #1910 #1911
- Add new license detection rules and improve detection #1841 #1913 #1795 #2124 #2145 #1800 #2200 #2206 #2186
- Add new license detection rules and improve detection
#1777 #1720 #1734 #1486 #1757 #1749 #1283 #1795 #2214 #1978
- Add new license detection rules and improve detection
#2187 #2188 #2189 #1904 #2207 #1905 #419 #2190 #1910 #1911
- Add new license detection rules and improve detection
#1841 #1913 #1795 #2124 #2145 #1800 #2200 #2206 #2186
- Allow to call "run_scan" as a function #1780
- Update license data to SPDX 3.7 #1789
- Collect matched license text correctly including with Turkish diacritics #1872
Expand Down Expand Up @@ -1869,7 +1874,8 @@ Major new feature:

New features:

- Improve package manifest support for #1643 RPMs, #1628 Cran, Python #1600, Maven #1649 Chef #1600 @licodeli @JonoYang
- Improve package manifest support for #1643 RPMs, #1628 Cran, Python #1600,
Maven #1649 Chef #1600 @licodeli @JonoYang
- Add plugin to collect ELF and LKM clues #1685 @licodeli
- Add runtime support for FreeBSD #1695 @knobix
- Add support to extract lzip archives #245 #989
Expand Down Expand Up @@ -1946,15 +1952,18 @@ Other:
v2.9.9 (2018-12-12)
-------------------

This is the penultimate pre-release of what will come up for 3.0 with some API change for packages.
This is the penultimate pre-release of what will come up for 3.0
with some API change for packages.

API changes:
- Streamline Package models #1226 #1324 and #1327. In particular the way checksums are managed has changed
- Streamline Package models #1226 #1324 and #1327.
In particular the way checksums are managed has changed

Other changes:
- Copyright detection improvements #1305 by @JonoYang
- Correct CC-BY V3.0 and V4.0 license texts by correct one by @sschuberth #1320
- Add new and improved licenses and license detection rules including the latest SPDX list 3.4 and #1322 #1324
- Add new and improved licenses and license detection rules including
the latest SPDX list 3.4 and #1322 #1324
- Rename proprietary license key to proprietary-license
- Rename commercial license key to commercial-license
- Improve npm package.json handling #1308 and #1314 by @majurg
Expand All @@ -1967,14 +1976,16 @@ This is a close-to-final pre-release of what will come up for 3.0 with some API

API changes:
- In Package models, rename normalized_license to license_expression and
add license detection on the declared_license to populate the license_expression #1092 #1268 #1278
add license detection on the declared_license to populate
the license_expression #1092 #1268 #1278

Outputs:
- Do not open output files until the command lines are validated as correct #1266
- The html-app output is marked as DEPRECATED. Use the AboutCode manager app instead #
- Ensure HTML outputs can deal with non-ASCII file paths without crashsing #1292
- JSON outputs now use a "headers" attributes for top-level scan headers #
- SPDX output is now possible even without "--info" SHA1 checksums. This creates a partially valid document
- SPDX output is now possible even without "--info" SHA1 checksums.
This creates a partially valid document
- LicenseRef for non-SPDX ScanCode licenses are named as "LicenseRef-scancode-<scancode key>" #
- license_expression are correctly included in the CSV output #1238
- do not crash with multiple outputs #1199
Expand All @@ -1986,7 +1997,8 @@ License detection:
- An optional "relevance" attribute has been added to the license YAML
attributes. This is to store the relevance to e matched .LICENSE text when used
as a rule.
- Licenses have been synchronized with the latest v3.3 SPDX license list and the latest DejaCode licenses #1242
- Licenses have been synchronized with the latest v3.3 SPDX license list
and the latest DejaCode licenses #1242
- Duplicated SPDX keys have been fixed #1264
- Add new and improved license detection rules #1313 #1306 #1302 #1298 #1293
#1291 #1289 #1270 #1269 #1192 #1186 #1170 #1164 #1128 #1124 #1112 #1110 #1108
Expand All @@ -1996,7 +2008,8 @@ Packages:
- Add support for haxe "haxelib" package manifests #1227
- Remove code_type attribute from Package models
- In Package models, rename normalized_license to license_expression and
add license detection on the declared_license to populate the license_expression #1092 #1268 #1278
add license detection on the declared_license to populate the
license_expression #1092 #1268 #1278
- Improve data returned for PHP Composer packages
- Add PackageURL to top level output for packages
- Report nuget as proper packages #1088
Expand Down Expand Up @@ -2122,7 +2135,8 @@ API change:
- The returned copyright data structure has changed and is now simpler and less nested

Licenses:
- Add new license and rules and improve licene rules #1186 #1108 #1124 #1171 #1173 #1039 #1098 #1111
- Add new license and rules and improve licene rules
#1186 #1108 #1124 #1171 #1173 #1039 #1098 #1111
- Add new license clarity scoring #1180
This is also for use in the ClearlyDefined project
- Add is_exception to license scan results #1159
Expand Down
Loading