Skip to content
Merged
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
40 changes: 11 additions & 29 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.13
# - Build release app archives, one for each of linux, windows, macos on Python 3.10 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", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
strategy:
fail-fast: true
matrix:
pyver: ["3.9", "3.10", "3.11", "3.12", "3.13"]
pyver: ["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", "3.13"]
pyver: ["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", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
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", "3.13"]
pyver: ["3.10", "3.11", "3.12", "3.13"]

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

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

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

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

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

- name: Download a single artifact macos_app for python 3.10
uses: actions/download-artifact@v4
with:
Expand All @@ -499,12 +493,6 @@ jobs:
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:
name: linux_app_py_3.9
path: dist

- name: Download a single artifact linux_app for python 3.10
uses: actions/download-artifact@v4
with:
Expand All @@ -529,12 +517,6 @@ jobs:
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:
name: windows_app_py_3.9
path: dist

- name: Download a single artifact windows_app for python 3.10
uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -585,7 +567,7 @@ jobs:
strategy:
fail-fast: false
matrix:
dist_names: ["wheels-3.9", "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", sdists]

steps:
- name: Set up Python
Expand Down
4 changes: 2 additions & 2 deletions INSTALL.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ Prerequisites
-------------

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

- For Linux(Ubuntu):
``sudo apt install python3.9-dev bzip2 xz-utils zlib1g libxml2-dev libxslt1-dev``
``sudo apt install python3.10-dev bzip2 xz-utils zlib1g libxml2-dev libxslt1-dev``
- For MacOS: Install Python 3.x from https://www.python.org/
- For Windows: Install Python 3.x from https://www.python.org/ using the 64 bits amd64 variant
- For FreeBSD: (this needs to be documented)
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.10 for x86/64 architectures.
We support Python 3.9, 3.10, 3.11, 3.12 and 3.13.
properly. This means installing Python 3.13 for x86/64 architectures.
We support Python 3.10, 3.11, 3.12 and 3.13.

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.9, download a release archive, extract and run**.
- `**Installation as an application: Install Python 3.13, 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
28 changes: 14 additions & 14 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ jobs:
job_name: ubuntu24_cpython
image_name: ubuntu-24.04
python_architecture: x64
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.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

Expand All @@ -132,15 +132,15 @@ jobs:
job_name: ubuntu22_cpython
image_name: ubuntu-22.04
python_architecture: x64
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.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-posix.yml
parameters:
job_name: macos14_cpython
image_name: macOS-14
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_architecture: x64
test_suites:
all: venv/bin/pytest -n 2 -vvs tests/scancode/test_cli.py --reruns 2
Expand All @@ -149,15 +149,15 @@ jobs:
parameters:
job_name: macos13_cpython
image_name: macOS-13
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.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
image_name: windows-2025
python_versions: ['3.9']
python_versions: ['3.10']
python_architecture: x64
test_suites:
all: venv\Scripts\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.9', '3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13']
test_suites:
all: venv\Scripts\pytest -n 2 -vvs tests\scancode\test_cli.py --reruns 2

Expand All @@ -180,11 +180,11 @@ jobs:
parameters:
job_name: ubuntu22_test_all_supported_click_versions
image_name: ubuntu-22.04
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13']
python_architecture: x64
test_suites:
click_versions: |
for clk_ver in 8.2.0 8.2.1 8.1.7 8.1.6 8.1.5 8.1.4 8.1.3 8.1.2 8.1.1 8.1.0 8.0.4 8.0.2 8.0.3 8.0.1 7.1.2 7.1.1 7.1 6.7;
for clk_ver in 8.3.0 8.2.0 8.2.1 8.1.7 8.1.6 8.1.5 8.1.4 8.1.3 8.1.2 8.1.1 8.1.0 8.0.4 8.0.2 8.0.3 8.0.1 7.1.2 7.1.1 7.1 6.7;
do
venv/bin/pip install click==$clk_ver;
venv/bin/scancode -i samples/ -n3 --json foo.json;
Expand All @@ -200,47 +200,47 @@ jobs:
parameters:
job_name: ubuntu22_cpython_latest_from_pip
image_name: ubuntu-22.04
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
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: ubuntu24_cpython_latest_from_pip
image_name: ubuntu-24.04
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
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: macos14_cpython_latest_from_pip
image_name: macos-14
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
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.9', '3.10', '3.11', '3.12', '3.13']
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-win.yml
parameters:
job_name: win2019_cpython_latest_from_pip
image_name: windows-2025
python_versions: ['3.9', '3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13']
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.9', '3.10', '3.11', '3.12', '3.13']
python_versions: ['3.10', '3.11', '3.12', '3.13']
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 docs/source/contribute/contrib_dev.rst
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ recursive dependencies.

There are utility scripts in ``etc/release`` that can help with the dependencies
management process in particular to build or update wheels with native code for
multiple OSes (Linux, macOS and Windows) and multiple Python versions (3.9+),
multiple OSes (Linux, macOS and Windows) and multiple Python versions (3.10+),
which is not a completely simple operation (and requires eventually 12 wheels
and one source distribution to be published as we support 3 OSes and 5 Python
versions).
Expand Down
20 changes: 10 additions & 10 deletions 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.9 to 3.13 and is
- ScanCode requires a Python version between 3.10 to 3.13 and is
tested on Linux, macOS, and Windows. It should work fine on FreeBSD.

.. _system_requirements:
Expand All @@ -71,8 +71,8 @@ System Requirements
Prerequisites
^^^^^^^^^^^^^

ScanCode needs a Python 3.9+ interpreter; We support all Python versions from
3.9 to 3.12. The default version for the application archives is Python 3.9
ScanCode needs a Python 3.10+ interpreter; We support all Python versions from
3.10 to 3.12. The default version for the application archives is Python 3.10

- **On Linux**:

Expand All @@ -90,11 +90,11 @@ ScanCode needs a Python 3.9+ interpreter; We support all Python versions from

- On RPM-based distros run::

sudo yum install python3.9-devel zlib bzip2-libs xz-libs libxml2-devel libxslt-devel libpopt0
sudo yum install python3.10-devel zlib bzip2-libs xz-libs libxml2-devel libxslt-devel libpopt0

- On Fedora 22 and later run::

sudo dnf install python3.9-devel xz-libs zlib libxml2-devel libxslt-devel bzip2-libs libpopt0
sudo dnf install python3.10-devel xz-libs zlib libxml2-devel libxslt-devel bzip2-libs libpopt0


If these packages are not available from your package manager, you must
Expand All @@ -103,13 +103,13 @@ ScanCode needs a Python 3.9+ interpreter; We support all Python versions from

- **On Mac**:

The default Python 3 provided with macOS is 3.9.
Alternatively you can download and install Python 3.9 from https://www.python.org/
The default Python 3 provided with macOS is 3.10.
Alternatively you can download and install Python 3.10 from https://www.python.org/


- **On Windows**:

Download and install Python 3.9 from https://www.python.org/
Download and install Python 3.10 from https://www.python.org/

.. Note::

Expand All @@ -136,15 +136,15 @@ under assets options.

ScanCode app archives come with packaged with all required dependencies except
for Python that has to be downloaded and installed separately.
On more recent versions of Ubuntu, you will have to install Python 3.9 manually.
On more recent versions of Ubuntu, you will have to install Python 3.10 manually.
One possibility is to use the Deadsnakes PPA (Personal Package Archive) which is
a project that provides older Python version builds for Debian and Ubuntu and is
available at https://github.com/deadsnakes/ and https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
::

sudo apt-get update && sudo apt-get upgrade
sudo add-apt-repository ppa:deadsnakes/ppa --yes
sudo apt-get install python3.9 python3.9-distutils
sudo apt-get install python3.10 python3.10-distutils

.. _linux_mac_app_install:

Expand Down
Loading