Skip to content

Commit

Permalink
Added support for Python 3.12 and dropped support for Python 3.9
Browse files Browse the repository at this point in the history
  • Loading branch information
abey79 committed Jan 7, 2024
1 parent b8d8195 commit df04652
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 74 deletions.
16 changes: 8 additions & 8 deletions .github/workflows/python-lint-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ jobs:
strategy:
fail-fast: true
matrix:
python-version: [3.9, '3.10', '3.11']
os: [ubuntu-latest, macos-latest, windows-latest, self-hosted]
python-version: ['3.10', '3.11', '3.12']
os: [ubuntu-latest, macos-latest, windows-latest]
defaults:
run:
shell: bash
Expand All @@ -36,7 +36,7 @@ jobs:
- name: Install project
run: poetry install -E all
- name: Lint and static analysis
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11' # no need to run that 9x
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.12' # no need to run that 9x
run: |
poetry run ruff check --show-source vpype vpype_cli vpype_viewer tests
poetry run black --check --diff vpype vpype_cli vpype_viewer tests
Expand All @@ -53,15 +53,15 @@ jobs:
- name: Pytest (code coverage)
run: |
poetry run pytest --cov=./ --cov-report=xml
if: (matrix.os == 'macos-latest' || matrix.os == 'self-hosted') && matrix.python-version == '3.11'
if: matrix.os == 'macos-latest' && matrix.python-version == '3.12'
- name: Pytest
run: |
poetry run pytest
if: (matrix.os == 'macos-latest' || matrix.os == 'self-hosted') && matrix.python-version != '3.11'
if: matrix.os == 'macos-latest' && matrix.python-version != '3.12'
- name: Pytest (no image similarity check)
run: |
poetry run pytest --skip-image-similarity
if: matrix.os != 'macos-latest' && matrix.os != 'self-hosted'
if: matrix.os != 'macos-latest'
- name: Upload comparison test results
if: failure()
uses: actions/upload-artifact@v3
Expand All @@ -76,7 +76,7 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
if: matrix.os == 'macos-latest' && matrix.python-version == '3.11'
if: matrix.os == 'macos-latest' && matrix.python-version == '3.12'


# ----------------------------------------
Expand All @@ -93,7 +93,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
python-version: '3.12'
cache: 'poetry'
- name: Install project
run: poetry install -E all
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
python-version: '3.12'
# no caching!
- name: Install project
run: poetry install -E all
Expand Down Expand Up @@ -53,7 +53,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
python-version: '3.12'
- name: Build artifacts
run: poetry build
- name: Publish to PyPI
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ curvy (circles, bezier curves, etc.) to lines made of small segments. _vpype_ do
Detailed installation instructions are available in the [latest documentation](https://vpype.readthedocs.io/en/latest/install.html).

TL;DR:
- Python 3.10 is recommended, but *vpype* is also compatible with Python 3.8 and 3.9.
- Python 3.12 is recommended, but *vpype* is also compatible with Python 3.10 and 3.11.
- *vpype* is published on the [Python Package Index](https://pypi.org) and can be installed using [pipx](https://pypa.github.io/pipx/):
```bash
pipx install "vpype[all]"
Expand Down
8 changes: 4 additions & 4 deletions docs/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ This page explain how to install *vpype* for end-users. If you intend to develop

.. note::

The recommended Python version is 3.10.2 or later. *vpype* is also compatible with Python 3.8 and 3.9.
The recommended Python version is 3.12.1 or later. *vpype* is also compatible with Python 3.10 and 3.11.

.. warning::

*vpype* is not yet compatible with Python 3.11.
*vpype* is not yet compatible with Python 3.13.


macOS
Expand All @@ -38,7 +38,7 @@ You can ensure that the installed Python interpreter is properly installed by r

It should produce an output similar to::

Python 3.10.8
Python 3.12.1

The version number should match the installer you used.

Expand All @@ -59,7 +59,7 @@ After this, restart your terminal and ensure that pipx is properly installed by

It should print out the current version of pipx without error::

1.1.0
1.2.0


Installing *vpype*
Expand Down
60 changes: 2 additions & 58 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ include = [
vpype = "vpype_cli.cli:cli"

[tool.poetry.dependencies]
python = ">=3.9, <3.12"
python = ">=3.10, <3.13"

asteval = ">=0.9.26"
cachetools = ">=4.2.2"
Expand Down

0 comments on commit df04652

Please sign in to comment.