Try building py39 wheels to see if that helps with reinitialization errors (#695)

This commit is contained in:
Alex Gaynor 2023-12-15 09:37:43 -05:00 committed by GitHub
parent 5049783444
commit b9223e61e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 16 additions and 4 deletions

View File

@ -41,6 +41,7 @@ jobs:
matrix:
PYTHON:
- { VERSION: "cp37-cp37m", ABI_VERSION: 'cp37' }
- { VERSION: "cp39-cp39", ABI_VERSION: 'cp39' }
- { VERSION: "pp39-pypy39_pp73" }
- { VERSION: "pp310-pypy310_pp73" }
MANYLINUX:
@ -130,6 +131,10 @@ jobs:
ABI_VERSION: 'cp37'
DOWNLOAD_URL: 'https://www.python.org/ftp/python/3.11.3/python-3.11.3-macos11.pkg'
BIN_PATH: '/Library/Frameworks/Python.framework/Versions/3.11/bin/python3'
- VERSION: '3.11'
ABI_VERSION: 'cp39'
DOWNLOAD_URL: 'https://www.python.org/ftp/python/3.11.3/python-3.11.3-macos11.pkg'
BIN_PATH: '/Library/Frameworks/Python.framework/Versions/3.11/bin/python3'
name: "Python ${{ matrix.PYTHON.VERSION }} for ABI ${{ matrix.PYTHON.ABI_VERSION }} on macOS"
steps:
- run: |
@ -179,6 +184,7 @@ jobs:
- {ARCH: 'x64', RUST_TRIPLE: 'x86_64-pc-windows-msvc'}
PYTHON:
- {VERSION: "3.11", ABI_VERSION: "cp37"}
- {VERSION: "3.11", ABI_VERSION: "cp39"}
name: "${{ matrix.PYTHON.VERSION }} ${{ matrix.PYTHON.ABI_VERSION }} ${{ matrix.WINDOWS.ARCH }}"
steps:
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2

View File

@ -51,6 +51,12 @@ While bcrypt remains an acceptable choice for password storage, depending on you
Changelog
=========
4.1.2
-----
* Publish both ``py37`` and ``py39`` wheels. This should resolve some errors
relating to initializing a module multiple times per process.
4.1.1
-----

View File

@ -12,7 +12,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "bcrypt"
# When updating this, also update lib.rs
version = "4.1.1"
version = "4.1.2"
authors = [
{name = "The Python Cryptographic Authority developers", email = "cryptography-dev@python.org"}
]

View File

@ -37,7 +37,7 @@ try:
RustExtension(
"bcrypt._bcrypt",
"src/_bcrypt/Cargo.toml",
py_limited_api=True,
py_limited_api="auto",
rust_version=(
">=1.64.0"
if os.environ.get("BCRYPT_ALLOW_RUST_163", "0") != "0"

View File

@ -6,7 +6,7 @@ edition = "2018"
publish = false
[dependencies]
pyo3 = { version = "0.20.0", features = ["abi3-py37"] }
pyo3 = { version = "0.20.0", features = ["abi3"] }
bcrypt = "0.15"
bcrypt-pbkdf = "0.10.0"
base64 = "0.21.5"

View File

@ -185,7 +185,7 @@ fn _bcrypt(_py: pyo3::Python<'_>, m: &pyo3::types::PyModule) -> pyo3::PyResult<(
// When updating this, also update pyproject.toml
// This isn't named __version__ because passlib treats the existence of
// that attribute as proof that we're a different module
m.add("__version_ex__", "4.1.1")?;
m.add("__version_ex__", "4.1.2")?;
let author = "The Python Cryptographic Authority developers";
m.add("__author__", author)?;