Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .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.13]
python-version: [3.14]

steps:
- name: Checkout code
Expand Down
49 changes: 34 additions & 15 deletions .github/workflows/scancode-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
strategy:
fail-fast: true
matrix:
pyver: ["3.10", "3.11", "3.12", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]

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.13"
python-version: "3.14"

- 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.10", "3.11", "3.12", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]

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

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

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.13"
python-version: "3.14"

- 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.10", "3.11", "3.12", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -286,7 +286,7 @@ jobs:
fail-fast: true
matrix:
os: [windows-2025, windows-2022]
pyver: ["3.10", "3.11", "3.12", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]

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.10", "3.11", "3.12", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]

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

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -421,7 +421,7 @@ jobs:
fail-fast: true
matrix:
os: [windows-2025, windows-2022]
pyver: ["3.10", "3.11", "3.12", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13", "3.14"]

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

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

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

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

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

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

- name: Mock GH release
run: |
ls -al dist
Expand All @@ -561,19 +579,22 @@ jobs:
- smoke_test_install_and_run_pypi_wheels_on_posix
- publish_to_gh_release
runs-on: ubuntu-24.04
environment: pypi-publish
permissions:
id-token: write
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
dist_names: ["wheels-3.10", "wheels-3.11", "wheels-3.12", "wheels-3.13", sdists]
dist_names: ["wheels-3.10", "wheels-3.11", "wheels-3.12", "wheels-3.13", "wheels-3.13", "sdists"]

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

- name: Download a single artifact
uses: actions/download-artifact@v4
Expand All @@ -587,5 +608,3 @@ jobs:

- name: Publish distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
2 changes: 1 addition & 1 deletion INSTALL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Prerequisites
-------------

Before installing ScanCode make sure you have installed these prerequisites.
The main one is to have Python installed version 3.10, 3.11, 3.12 or 3.13.
The main one is to have Python installed version 3.10, 3.11, 3.12, 3.13 or 3.14.

- For Linux(Ubuntu):
``sudo apt install python3.10-dev bzip2 xz-utils zlib1g libxml2-dev libxslt1-dev``
Expand Down
6 changes: 3 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -139,15 +139,15 @@ Installation
============

Before installing ScanCode make sure that you have installed the prerequisites
properly. This means installing Python 3.13 for x86/64 architectures.
We support Python 3.10, 3.11, 3.12 and 3.13.
properly. This means installing Python 3.14 for x86/64 architectures.
We support Python 3.10, 3.11, 3.12, 3.13 and 3.14.

See `prerequisites <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#prerequisites>`_
for detailed information on the support platforms and Python versions.

There are a few common ways to `install ScanCode <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html>`_.

- `**Installation as an application: Install Python 3.13, download a release archive, extract and run**.
- `**Installation as an application: Install Python 3.14, download a release archive, extract and run**.
<https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-as-an-application-downloading-releases>`_
This is the recommended installation method.

Expand Down
38 changes: 11 additions & 27 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
parameters:
job_name: core_tests
image_name: ubuntu-24.04
python_versions: ['3.13']
python_versions: ['3.14']
test_suites:
misc_and_scancode: |
# cli tests are launched below on all OSes
Expand Down Expand Up @@ -123,7 +123,7 @@ jobs:
job_name: ubuntu24_cpython
image_name: ubuntu-24.04
python_architecture: x64
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2

Expand All @@ -132,27 +132,19 @@ jobs:
job_name: ubuntu22_cpython
image_name: ubuntu-22.04
python_architecture: x64
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2

- template: etc/ci/azure-posix.yml
parameters:
job_name: macos14_cpython
image_name: macOS-14
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
python_architecture: x64
test_suites:
all: venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2

- template: etc/ci/azure-posix.yml
parameters:
job_name: macos13_cpython
image_name: macOS-13
python_versions: ['3.10', '3.11', '3.12', '3.13']
test_suites:
all: venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2

- template: etc/ci/azure-win.yml
parameters:
job_name: win2025_cpython
Expand All @@ -167,7 +159,7 @@ jobs:
job_name: win2022_cpython
image_name: windows-2022
python_architecture: x64
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv\Scripts\pytest -n 2 -vvs tests\scancode\test_cli.py --reruns 2

Expand All @@ -180,7 +172,7 @@ jobs:
parameters:
job_name: ubuntu22_test_all_supported_click_versions
image_name: ubuntu-22.04
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
python_architecture: x64
test_suites:
click_versions: |
Expand All @@ -200,47 +192,39 @@ jobs:
parameters:
job_name: ubuntu22_cpython_latest_from_pip
image_name: ubuntu-22.04
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py

- template: etc/ci/azure-posix.yml
parameters:
job_name: ubuntu24_cpython_latest_from_pip
image_name: ubuntu-24.04
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py

- template: etc/ci/azure-posix.yml
parameters:
job_name: macos14_cpython_latest_from_pip
image_name: macos-14
python_versions: ['3.10', '3.11', '3.12', '3.13']
test_suites:
all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py

- template: etc/ci/azure-posix.yml
parameters:
job_name: macos13_cpython_latest_from_pip
image_name: macos-13
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py

- template: etc/ci/azure-win.yml
parameters:
job_name: win2019_cpython_latest_from_pip
image_name: windows-2025
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv\Scripts\pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv\Scripts\pytest -n 2 -vvs tests\scancode\test_cli.py

- template: etc/ci/azure-win.yml
parameters:
job_name: win2022_cpython_latest_from_pip
image_name: windows-2022
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv\Scripts\pip install --upgrade-strategy eager --force-reinstall --upgrade -e .[testing] && venv\Scripts\pytest -n 2 -vvs tests\scancode\test_cli.py

Expand Down
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ create_virtualenv() {
fi

$PYTHON_EXECUTABLE "$VIRTUALENV_PYZ" \
--wheel embed --pip embed --setuptools embed \
--pip embed --setuptools embed \
--seeder pip \
--never-download \
--no-periodic-update \
Expand Down
4 changes: 2 additions & 2 deletions configure.bat
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ if not exist "%CFG_BIN_DIR%\python.exe" (

if exist "%CFG_ROOT_DIR%\etc\thirdparty\virtualenv.pyz" (
%PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%\etc\thirdparty\virtualenv.pyz" ^
--wheel embed --pip embed --setuptools embed ^
--pip embed --setuptools embed ^
--seeder pip ^
--never-download ^
--no-periodic-update ^
Expand All @@ -132,7 +132,7 @@ if not exist "%CFG_BIN_DIR%\python.exe" (
)
)
%PYTHON_EXECUTABLE% "%CFG_ROOT_DIR%\%VIRTUALENV_DIR%\virtualenv.pyz" ^
--wheel embed --pip embed --setuptools embed ^
--pip embed --setuptools embed ^
--seeder pip ^
--never-download ^
--no-periodic-update ^
Expand Down
4 changes: 3 additions & 1 deletion etc/scripts/utils_thirdparty.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,13 +115,14 @@
TRACE_ULTRA_DEEP = False

# Supported environments
PYTHON_VERSIONS = "310", "311", "312", "313"
PYTHON_VERSIONS = "310", "311", "312", "313", "314"

PYTHON_DOT_VERSIONS_BY_VER = {
"310": "3.10",
"311": "3.11",
"312": "3.12",
"313": "3.13",
"314": "3.14",
}


Expand All @@ -138,6 +139,7 @@ def get_python_dot_version(version):
"311": ["cp311", "cp311m", "abi3"],
"312": ["cp312", "cp312m", "abi3"],
"313": ["cp313", "cp313m", "abi3"],
"314": ["cp314", "cp314m", "abi3"],
}

PLATFORMS_BY_OS = {
Expand Down
Binary file modified etc/thirdparty/virtualenv.pyz
Binary file not shown.
6 changes: 3 additions & 3 deletions etc/thirdparty/virtualenv.pyz.ABOUT
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
about_resource: virtualenv.pyz
name: get-virtualenv
version: 20.23.0
download_url: https://github.com/pypa/get-virtualenv/raw/20.23.0/public/virtualenv.pyz
version: 20.25.3
download_url: https://github.com/pypa/get-virtualenv/blob/20.35.3/public/virtualenv.pyz
description: virtualenv is a tool to create isolated Python environments.
homepage_url: https://github.com/pypa/virtualenv
license_expression: lgpl-2.1-plus AND (bsd-new OR apache-2.0) AND mit AND python AND bsd-new
Expand All @@ -12,4 +12,4 @@ attribute: yes
track_changes: yes
package_url: pkg:github/pypa/get-virtualenv@20.23.0#public/virtualenv.pyz
notes: this archive has been modified from the original to remove extra
embedded wheels that are not needed as we support only Python 3.7+
embedded wheels that are not needed as we support only Python 3.10+
Loading
Loading