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
26 changes: 13 additions & 13 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,15 +132,15 @@ 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
Expand All @@ -149,7 +149,7 @@ jobs:
parameters:
job_name: macos13_cpython
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/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2

Expand All @@ -167,7 +167,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 +180,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 +200,47 @@ 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']
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: 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
2 changes: 1 addition & 1 deletion docs/source/getting-started/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ For advanced usage and experienced users, you can also use any of these mode:
Before Installing
-----------------

- ScanCode requires a Python version between 3.10 to 3.13 and is
- ScanCode requires a Python version between 3.10 to 3.14 and is
tested on Linux, macOS, and Windows. It should work fine on FreeBSD.

.. _system_requirements:
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.
Loading
Loading