Skip to content

Commit 7dd3d80

Browse files
committed
[#121]Remove support for Python 3.8 and add support for Python 3.13
Fix upload-artifact Update cibuildwheel Update dev dependencies Fix CI fix Remove broken build Fix upload-artifact config
1 parent fe914c0 commit 7dd3d80

7 files changed

+20
-18
lines changed

.github/workflows/build_wheels.yml

+8-7
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ jobs:
1212
runs-on: ${{ matrix.os }}
1313
strategy:
1414
matrix:
15-
# macos-13 is an intel runner, macos-14 is apple silicon
16-
os: [ubuntu-22.04, macos-13, macos-14, windows-2022]
15+
# macos-14 is apple silicon
16+
os: [ubuntu-22.04, macos-14, windows-2022]
1717

1818
steps:
1919
- uses: actions/checkout@v4
@@ -38,12 +38,12 @@ jobs:
3838
python-version: '3.10'
3939

4040
- name: Install cibuildwheel
41-
run: python -m pip install "cibuildwheel>=2.17,<2.18"
41+
run: python -m pip install "cibuildwheel>=2.22,<2.23"
4242

4343
- name: Build wheels
4444
run: python -m cibuildwheel --output-dir wheelhouse
4545
env:
46-
CIBW_BUILD: "cp38-* cp39-* cp310-* cp311-* cp312-*"
46+
CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-*"
4747
CIBW_SKIP: "*-win32 pp* *-musllinux_i686" # Skip win32, PyPy and muslinux32 builds
4848
# Build wheels for Apple x86_64 only; we use another workflow for Apple arm64
4949
CIBW_ARCHS_MACOS: "native"
@@ -52,13 +52,14 @@ jobs:
5252
CIBW_MANYLINUX_I686_IMAGE: manylinux2014
5353
# The C libraries (OpenSSL and Zlib) only need to be built once per OS
5454
# as they are not tied to a specific Python version
55-
CIBW_BEFORE_ALL: "python -m pip install invoke && invoke build.deps"
55+
CIBW_BEFORE_ALL: "python -m pip install setuptools invoke && invoke build.deps"
5656
CIBW_BEFORE_ALL_WINDOWS: '"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" && python -m pip install invoke && invoke build.deps'
5757
# However the nassl C extension is by design tied to a specific Python version
58-
CIBW_BEFORE_BUILD: "python -m pip install invoke && invoke build.nassl"
58+
CIBW_BEFORE_BUILD: "python -m pip install setuptools invoke && invoke build.nassl"
5959
CIBW_TEST_REQUIRES: "pytest"
6060
CIBW_TEST_COMMAND: "python -m pytest {project}/tests"
6161

62-
- uses: actions/upload-artifact@v2
62+
- uses: actions/upload-artifact@v4
6363
with:
64+
name: ${{ matrix.os }}-wheels
6465
path: ./wheelhouse/*.whl

.github/workflows/run_tests.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99

1010
steps:
1111
- uses: actions/checkout@v4
12-
- name: Set up Python 3.12
12+
- name: Set up Python 3.13
1313
uses: actions/setup-python@v5
1414
with:
15-
python-version: "3.12"
15+
python-version: "3.13"
1616

1717
- name: Install Python dependencies
1818
run: |

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ nassl
66
[![PyPI wheel](https://img.shields.io/pypi/wheel/nassl.svg)](https://pypi.org/project/nassl/)
77
[![PyPI version](https://img.shields.io/pypi/pyversions/nassl.svg)](https://pypi.org/project/nassl/)
88

9-
Experimental OpenSSL wrapper for Python 3.8+ and [SSLyze](https://github.com/nabla-c0d3/sslyze).
9+
Experimental OpenSSL wrapper for Python 3.9+ and [SSLyze](https://github.com/nabla-c0d3/sslyze).
1010

1111
**Do NOT use for anything serious**. This code has not been properly tested/reviewed and is not production ready.
1212

build_macos_arm64_wheels.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22

33
# Python 3.9+ arm64 is required
4-
python -m pip install "cibuildwheel>=2.17,<2.18"
4+
python -m pip install "cibuildwheel>=2.22,<2.23"
55

66
export CIBW_ARCHS_MACOS="arm64"
77
export CIBW_BEFORE_ALL='python -m pip install invoke && invoke build.deps'

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
line-length = 120
33

44
[tool.mypy]
5-
python_version = "3.8"
5+
python_version = "3.9"
66
ignore_missing_imports = true
77
strict_optional = true
88
disallow_untyped_defs = true

requirements-dev.txt

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
mypy==1.8
1+
mypy==1.14
22
invoke>=2,<3
3-
pytest>=7.4,<8
3+
pytest>=8,<9
44
twine
55
pytest-cov
6-
ruff==0.2.2
6+
ruff==0.8.4
7+
setuptools

setup.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,22 @@
2828
"nassl.ocsp_response",
2929
"nassl.cert_chain_verifier",
3030
],
31-
"description": "Experimental OpenSSL wrapper for Python 3.8+ and SSLyze.",
31+
"description": "Experimental OpenSSL wrapper for Python 3.9+ and SSLyze.",
3232
"author": __author__,
3333
"author_email": "[email protected]",
3434
"url": "https://github.com/nabla-c0d3/nassl",
35-
"python_requires": ">=3.8",
35+
"python_requires": ">=3.9",
3636
"classifiers": [
3737
"Development Status :: 4 - Beta",
3838
"Intended Audience :: Developers",
3939
"Intended Audience :: System Administrators",
4040
"Natural Language :: French",
4141
"License :: OSI Approved :: GNU Affero General Public License v3",
42-
"Programming Language :: Python :: 3.8",
4342
"Programming Language :: Python :: 3.9",
4443
"Programming Language :: Python :: 3.10",
4544
"Programming Language :: Python :: 3.11",
4645
"Programming Language :: Python :: 3.12",
46+
"Programming Language :: Python :: 3.13",
4747
"Topic :: System :: Networking",
4848
"Topic :: System :: Monitoring",
4949
"Topic :: System :: Networking :: Monitoring",

0 commit comments

Comments
 (0)