Skip to content

Commit b9223e6

Browse files
authored
Try building py39 wheels to see if that helps with reinitialization errors (#695)
1 parent 5049783 commit b9223e6

File tree

6 files changed

+16
-4
lines changed

6 files changed

+16
-4
lines changed

.github/workflows/wheel-builder.yml

+6
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ jobs:
4141
matrix:
4242
PYTHON:
4343
- { VERSION: "cp37-cp37m", ABI_VERSION: 'cp37' }
44+
- { VERSION: "cp39-cp39", ABI_VERSION: 'cp39' }
4445
- { VERSION: "pp39-pypy39_pp73" }
4546
- { VERSION: "pp310-pypy310_pp73" }
4647
MANYLINUX:
@@ -130,6 +131,10 @@ jobs:
130131
ABI_VERSION: 'cp37'
131132
DOWNLOAD_URL: 'https://www.python.org/ftp/python/3.11.3/python-3.11.3-macos11.pkg'
132133
BIN_PATH: '/Library/Frameworks/Python.framework/Versions/3.11/bin/python3'
134+
- VERSION: '3.11'
135+
ABI_VERSION: 'cp39'
136+
DOWNLOAD_URL: 'https://www.python.org/ftp/python/3.11.3/python-3.11.3-macos11.pkg'
137+
BIN_PATH: '/Library/Frameworks/Python.framework/Versions/3.11/bin/python3'
133138
name: "Python ${{ matrix.PYTHON.VERSION }} for ABI ${{ matrix.PYTHON.ABI_VERSION }} on macOS"
134139
steps:
135140
- run: |
@@ -179,6 +184,7 @@ jobs:
179184
- {ARCH: 'x64', RUST_TRIPLE: 'x86_64-pc-windows-msvc'}
180185
PYTHON:
181186
- {VERSION: "3.11", ABI_VERSION: "cp37"}
187+
- {VERSION: "3.11", ABI_VERSION: "cp39"}
182188
name: "${{ matrix.PYTHON.VERSION }} ${{ matrix.PYTHON.ABI_VERSION }} ${{ matrix.WINDOWS.ARCH }}"
183189
steps:
184190
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2

README.rst

+6
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ While bcrypt remains an acceptable choice for password storage, depending on you
5151
Changelog
5252
=========
5353

54+
4.1.2
55+
-----
56+
57+
* Publish both ``py37`` and ``py39`` wheels. This should resolve some errors
58+
relating to initializing a module multiple times per process.
59+
5460
4.1.1
5561
-----
5662

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ build-backend = "setuptools.build_meta"
1212
[project]
1313
name = "bcrypt"
1414
# When updating this, also update lib.rs
15-
version = "4.1.1"
15+
version = "4.1.2"
1616
authors = [
1717
{name = "The Python Cryptographic Authority developers", email = "[email protected]"}
1818
]

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
RustExtension(
3838
"bcrypt._bcrypt",
3939
"src/_bcrypt/Cargo.toml",
40-
py_limited_api=True,
40+
py_limited_api="auto",
4141
rust_version=(
4242
">=1.64.0"
4343
if os.environ.get("BCRYPT_ALLOW_RUST_163", "0") != "0"

src/_bcrypt/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ edition = "2018"
66
publish = false
77

88
[dependencies]
9-
pyo3 = { version = "0.20.0", features = ["abi3-py37"] }
9+
pyo3 = { version = "0.20.0", features = ["abi3"] }
1010
bcrypt = "0.15"
1111
bcrypt-pbkdf = "0.10.0"
1212
base64 = "0.21.5"

src/_bcrypt/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ fn _bcrypt(_py: pyo3::Python<'_>, m: &pyo3::types::PyModule) -> pyo3::PyResult<(
185185
// When updating this, also update pyproject.toml
186186
// This isn't named __version__ because passlib treats the existence of
187187
// that attribute as proof that we're a different module
188-
m.add("__version_ex__", "4.1.1")?;
188+
m.add("__version_ex__", "4.1.2")?;
189189

190190
let author = "The Python Cryptographic Authority developers";
191191
m.add("__author__", author)?;

0 commit comments

Comments
 (0)