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
2 changes: 1 addition & 1 deletion .github/workflows/docs-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: [3.12]
python-version: [3.13]

steps:
- name: Checkout code
Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/pypi-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
python-version: 3.14

- name: Install pypa/build and twine
run: python -m pip install --user build twine
run: python -m pip install --user --upgrade build twine pkginfo

- name: Build a binary wheel and a source tarball
run: python -m build --sdist --wheel --outdir dist/
run: python -m build --wheel --sdist --outdir dist/

- name: Validate wheel and sdis for Pypi
run: python -m twine check dist/*
Expand Down Expand Up @@ -71,6 +71,9 @@ jobs:
needs:
- create-gh-release
runs-on: ubuntu-24.04
environment: pypi-publish
permissions:
id-token: write

steps:
- name: Download built archives
Expand All @@ -81,6 +84,4 @@ jobs:

- name: Publish to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
uses: pypa/gh-action-pypi-publish@release/v1
2 changes: 1 addition & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
python: "3.13"

# Build PDF & ePub
formats:
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
Changelog
=========

v0.15.0
-----------

- Drop support for python3.9 and add support for python3.14
- Ensure that cached file is not empty before use https://github.com/aboutcode-org/python-inspector/pull/251
- Filter out empty values from install_requires https://github.com/aboutcode-org/python-inspector/pull/250

v0.14.4
-----------

Expand Down
36 changes: 10 additions & 26 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,94 +11,78 @@ jobs:
parameters:
job_name: run_code_checks
image_name: ubuntu-24.04
python_versions: ['3.12']
python_versions: ['3.14']
test_suites:
all: make check

- template: etc/ci/azure-posix.yml
parameters:
job_name: online_ubuntu24_cpython
image_name: ubuntu-24.04
python_versions: ['3.10']
python_versions: ['3.14']
test_suites:
all: venv/bin/pytest -n 2 -vvs -m "online"

- template: etc/ci/azure-win.yml
parameters:
job_name: online_win2022_cpython
image_name: windows-2022
python_versions: ['3.10']
python_versions: ['3.14']
test_suites:
all: venv\Scripts\pytest -n 2 -vvs -m "online"

- template: etc/ci/azure-posix.yml
parameters:
job_name: online_macos14_cpython
image_name: macOS-14
python_versions: ['3.10']
python_versions: ['3.14']
test_suites:
all: venv/bin/pytest -n 2 -vvs -m "online"

- template: etc/ci/azure-posix.yml
parameters:
job_name: ubuntu22_cpython
image_name: ubuntu-22.04
python_versions: ['3.9', '3.10', '3.11', '3.12']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pytest -n 2 -vvs -m "not online"

- template: etc/ci/azure-posix.yml
parameters:
job_name: ubuntu24_cpython
image_name: ubuntu-24.04
python_versions: ['3.9', '3.10', '3.11', '3.12']
test_suites:
all: venv/bin/pytest -n 2 -vvs -m "not online"

- template: etc/ci/azure-posix.yml
parameters:
job_name: macos13_cpython
image_name: macOS-13
python_versions: ['3.9', '3.10', '3.11', '3.12']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pytest -n 2 -vvs -m "not online"

- 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']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pytest -n 2 -vvs -m "not online"

- template: etc/ci/azure-posix.yml
parameters:
job_name: macos15_cpython
image_name: macOS-15
python_versions: ['3.9', '3.10', '3.11', '3.12']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv/bin/pytest -n 2 -vvs -m "not online"

- template: etc/ci/azure-win.yml
parameters:
job_name: win2019_cpython
image_name: windows-2019
python_versions: ['3.9', '3.10', '3.11', '3.12']
test_suites:
all: venv\Scripts\pytest -n 2 -vvs -m "not online"

- template: etc/ci/azure-win.yml
parameters:
job_name: win2022_cpython
image_name: windows-2022
python_versions: ['3.9', '3.10', '3.11', '3.12']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv\Scripts\pytest -n 2 -vvs -m "not online"

- template: etc/ci/azure-win.yml
parameters:
job_name: win2025_cpython
image_name: windows-2025
python_versions: ['3.9', '3.10', '3.11', '3.12']
python_versions: ['3.10', '3.11', '3.12', '3.13', '3.14']
test_suites:
all: venv\Scripts\pytest -n 2 -vvs -m "not online"
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,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 @@ -110,7 +110,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 @@ -126,7 +126,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: 2 additions & 2 deletions docs/source/dependencies-design.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ Solution

One approach to resolve this issue is to attempt to resolve the
dependencies using all the current Python versions (e.g., from 3.6 to
3.10) and stop when one resolution is completed. This can work in
3.14) and stop when one resolution is completed. This can work in
practice, but it results in a complex setup typically using multiple
Docker images for each of the supported Python versions. It would also
fail to build native dependencies unless the required toolchain is also
Expand All @@ -80,7 +80,7 @@ invoking pip as a subprocess. This will eventually request resolution of
dependencies for a base Python version that is not the current Python
version. For example, it will be possible to resolve dependencies for
Python 3.8, even though the current Python version running the tool may
be 3.9. The actual Python version running the tool may be different from
be 3.10. The actual Python version running the tool may be different from
the version used to support the dependency resolution.

The designed solution will be a new Python package and command line tool
Expand Down
26 changes: 13 additions & 13 deletions docs/source/test-protocol.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ You need to:

- have access to some Python codebase to use as a test bed.
- have a working installation of python-inspector
- have a working installation of scancode-toolkit v31.x (inlucing RCs) or higher
- have a working installation of scancode-toolkit v32.x (inlucing RCs) or higher


Test protocol
Expand Down Expand Up @@ -77,9 +77,9 @@ In this step, you will resolve the dependencies using python-inspector python-in
command for each of the requirements files identified in Step 1 using the
Python version identified in Step 2. Run this command for each requirements
file, using each time a different output file name. We assume here Python
version 3.8 (note the absence of dot when passed as a command line option::
version 3.10 (note the absence of dot when passed as a command line option::

python-inspector --python-version 38 --requirement <path/to/requirements.txt> \
python-inspector --python-version 310 --requirement <path/to/requirements.txt> \
--json <path/to/resolved-requirements.txt.json> \
--netrc <path/to/.netrc>

Expand Down Expand Up @@ -150,7 +150,7 @@ Setup


We use this repo https://github.com/tjcsl/ion as a sample codebase.
And the reference Python version is 3.8::
And the reference Python version is 3.10::

mkdir -p ~/tmp/pyinsp-example/
cd ~/tmp/pyinsp-example/
Expand All @@ -159,24 +159,24 @@ And the reference Python version is 3.8::

Another example could be https://github.com/digitalocean/sample-django

We use the latest main branch from python-inspector and scancode-toolkit 31.0.0rc2
installed on Linux with Python 3.8 using the release tarball from:
https://github.com/aboutcode-org/scancode-toolkit/releases/tag/v31.0.0rc2
We use the latest main branch from python-inspector and scancode-toolkit 32.4.1
installed on Linux with Python 3.10 using the release tarball from:
https://github.com/aboutcode-org/scancode-toolkit/releases/tag/v32.4.1

ScanCode setup::

mkdir -p ~/tmp/pyinsp-example/tools
cd ~/tmp/pyinsp-example/tools
wget https://github.com/aboutcode-org/scancode-toolkit/releases/download/v31.0.0rc2/scancode-toolkit-31.0.0rc2_py38-linux.tar.xz
tar -xf scancode-toolkit-31.0.0rc2_py38-linux.tar.xz
cd scancode-toolkit-31.0.0rc2/
wget https://github.com/aboutcode-org/scancode-toolkit/releases/download/v32.4.1/scancode-toolkit-32.4.1_py38-linux.tar.xz
tar -xf scancode-toolkit-32.4.1_py38-linux.tar.xz
cd scancode-toolkit-32.4.1/
./scancode --help

python-inspector setup::

cd ~/tmp/pyinsp-example/tools
git clone https://github.com/aboutcode-org/python-inspector
python3.8 -m venv venv
python3.10 -m venv venv
source venv/bin/activate
pip install --upgrade pip setuptools wheel
cd python-inspector
Expand Down Expand Up @@ -207,7 +207,7 @@ Step 2: Build your code
We perform a simple "editable" build in place::

cd ~/tmp/pyinsp-example/codebase/ion
python3.8 -m venv venv
python3.10 -m venv venv
source venv/bin/activate
pip install --upgrade pip setuptools wheel
pip install --editable .
Expand All @@ -219,7 +219,7 @@ Step 3: Collect built code details

We extract in place::

cd ~/tmp/pyinsp-example/tools/scancode-toolkit-31.0.0rc2/
cd ~/tmp/pyinsp-example/tools/scancode-toolkit-32.4.1/
./extractcode --shallow ~/tmp/pyinsp-example/codebase/ion

And collect built details::
Expand Down
2 changes: 1 addition & 1 deletion etc/ci/azure-container-deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- job: ${{ parameters.job_name }}

pool:
vmImage: 'ubuntu-16.04'
vmImage: 'ubuntu-22.04'

container:
image: ${{ parameters.container }}
Expand Down
2 changes: 1 addition & 1 deletion etc/ci/azure-container-rpm.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
parameters:
job_name: ''
image_name: 'ubuntu-16.04'
image_name: 'ubuntu-22.04'
container: ''
python_path: ''
python_version: ''
Expand Down
Loading
Loading