Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#121] Remove support for Python 3.8 and add support for Python 3.13 #122

Merged
merged 1 commit into from
Dec 24, 2024
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
15 changes: 8 additions & 7 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# macos-13 is an intel runner, macos-14 is apple silicon
os: [ubuntu-22.04, macos-13, macos-14, windows-2022]
# macos-14 is apple silicon
os: [ubuntu-22.04, macos-14, windows-2022]

steps:
- uses: actions/checkout@v4
Expand All @@ -38,12 +38,12 @@ jobs:
python-version: '3.10'

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

- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD: "cp38-* cp39-* cp310-* cp311-* cp312-*"
CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-*"
CIBW_SKIP: "*-win32 pp* *-musllinux_i686" # Skip win32, PyPy and muslinux32 builds
# Build wheels for Apple x86_64 only; we use another workflow for Apple arm64
CIBW_ARCHS_MACOS: "native"
Expand All @@ -52,13 +52,14 @@ jobs:
CIBW_MANYLINUX_I686_IMAGE: manylinux2014
# The C libraries (OpenSSL and Zlib) only need to be built once per OS
# as they are not tied to a specific Python version
CIBW_BEFORE_ALL: "python -m pip install invoke && invoke build.deps"
CIBW_BEFORE_ALL: "python -m pip install setuptools invoke && invoke build.deps"
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'
# However the nassl C extension is by design tied to a specific Python version
CIBW_BEFORE_BUILD: "python -m pip install invoke && invoke build.nassl"
CIBW_BEFORE_BUILD: "python -m pip install setuptools invoke && invoke build.nassl"
CIBW_TEST_REQUIRES: "pytest"
CIBW_TEST_COMMAND: "python -m pytest {project}/tests"

- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}-wheels
path: ./wheelhouse/*.whl
4 changes: 2 additions & 2 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Set up Python 3.12
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: "3.12"
python-version: "3.13"

- name: Install Python dependencies
run: |
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ nassl
[![PyPI wheel](https://img.shields.io/pypi/wheel/nassl.svg)](https://pypi.org/project/nassl/)
[![PyPI version](https://img.shields.io/pypi/pyversions/nassl.svg)](https://pypi.org/project/nassl/)

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

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

Expand Down
2 changes: 1 addition & 1 deletion build_macos_arm64_wheels.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

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

export CIBW_ARCHS_MACOS="arm64"
export CIBW_BEFORE_ALL='python -m pip install invoke && invoke build.deps'
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
line-length = 120

[tool.mypy]
python_version = "3.8"
python_version = "3.9"
ignore_missing_imports = true
strict_optional = true
disallow_untyped_defs = true
7 changes: 4 additions & 3 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
mypy==1.8
mypy==1.14
invoke>=2,<3
pytest>=7.4,<8
pytest>=8,<9
twine
pytest-cov
ruff==0.2.2
ruff==0.8.4
setuptools
6 changes: 3 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,22 @@
"nassl.ocsp_response",
"nassl.cert_chain_verifier",
],
"description": "Experimental OpenSSL wrapper for Python 3.8+ and SSLyze.",
"description": "Experimental OpenSSL wrapper for Python 3.9+ and SSLyze.",
"author": __author__,
"author_email": "nabla.c0d3@gmail.com",
"url": "https://github.com/nabla-c0d3/nassl",
"python_requires": ">=3.8",
"python_requires": ">=3.9",
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"Natural Language :: French",
"License :: OSI Approved :: GNU Affero General Public License v3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: System :: Networking",
"Topic :: System :: Monitoring",
"Topic :: System :: Networking :: Monitoring",
Expand Down
Loading