v1.1.0: extend binary matrix to CPython 3.10/3.11/3.13 on Linux and Windows

- Linux x86_64: add cp310, cp311, cp313 (.so), built in conda-forge envs.
- Windows AMD64: add cp310, cp311, cp313 (.pyd), built with MSVC v14.50.
- All eight binaries verified to produce identical numerical output.
- README compatibility table + build provenance updated.
- macOS still deferred.
This commit is contained in:
vvs
2026-05-10 11:15:11 +01:00
parent a98c55cea7
commit 1f9cbe4a48
8 changed files with 51 additions and 15 deletions
+26
View File
@@ -9,6 +9,32 @@ release `MAJOR.MINOR.PATCH` increments
- `MINOR` on backwards-compatible feature additions,
- `PATCH` on backwards-compatible bug fixes.
## [1.1.0] - 2026-05-10
Binary matrix expanded to four CPython versions on both supported
platforms.
### Added
- Pre-compiled Linux x86_64 binaries for **CPython 3.10, 3.11, 3.13**
(`sem_core12.cpython-3{10,11,13}-x86_64-linux-gnu.so`). Built in
isolated conda-forge environments with conda-forge gcc, same
OpenMP and optimisation flags as the cp312 binary.
- Pre-compiled Windows AMD64 binaries for **CPython 3.10, 3.11, 3.13**
(`sem_core12.cp3{10,11,13}-win_amd64.pyd`). Built with MSVC v14.50
against the matching CPython installed via `winget`.
### Verified
- All eight binaries (4 Linux + 4 Windows) produce identical numerical
output for the same fixed-seed input on `batch_max_similarity`.
### Compatibility notes
- macOS is still not provided in this release. Contact
`sales@sevana.biz` if you need a macOS build.
- numpy requirement unchanged: `numpy >= 1.23`.
## [1.0.0] - 2026-05-09
First public release.
+25 -15
View File
@@ -17,32 +17,42 @@ For an introduction to SEM (Similarity Energy Model) and how
## Contents
- `sem_cython12/sem_core12.cpython-312-x86_64-linux-gnu.so` -
compiled extension (Linux, CPython 3.12, x86_64).
- `sem_cython12/sem_core12.cp312-win_amd64.pyd` -
compiled extension (Windows, CPython 3.12, AMD64).
- `sem_cython12/sem_core12.cpython-3{10,11,12,13}-x86_64-linux-gnu.so` -
compiled extensions (Linux, x86_64) for CPython 3.10 / 3.11 / 3.12 / 3.13.
- `sem_cython12/sem_core12.cp3{10,11,12,13}-win_amd64.pyd` -
compiled extensions (Windows, AMD64) for CPython 3.10 / 3.11 / 3.12 / 3.13.
- `sem_cython12/wrapper.py` - Python API.
- `sem_cython12/__init__.py` - package entry.
Python's import system selects the correct binary for the running
interpreter automatically — install the whole package and the right
`.so` / `.pyd` is picked up by ABI tag.
## Compatibility
| Platform | Architecture | Python | Runtime requirements |
|-----------------|--------------|-----------|-----------------------------|
| Linux | x86_64 | CPython 3.12 | glibc >= 2.31, libgomp |
| Windows 10/11 | AMD64 | CPython 3.12 | vcomp (ships with Windows) |
| macOS | - | - | not provided (contact sales@sevana.biz) |
| Platform | Architecture | Python | Runtime requirements |
|-----------------|--------------|------------------------|-----------------------------|
| Linux | x86_64 | CPython 3.10/3.11/3.12/3.13 | glibc >= 2.31, libgomp |
| Windows 10/11 | AMD64 | CPython 3.10/3.11/3.12/3.13 | vcomp (ships with Windows) |
| macOS | - | - | not provided (contact sales@sevana.biz) |
Single Python dependency: `numpy >= 1.23` (see `requirements.txt`).
## How the binaries were built
- **Linux (`*.so`)**: gcc 13.3, OpenMP via `libgomp`, flags
`-O3 -ffast-math -march=native -fopenmp`.
- **Windows (`*.pyd`)**: MSVC v14.50 (Visual Studio Build Tools 2026),
OpenMP via `vcomp`, flags `/O2 /openmp`.
- **Linux (`*.so`), cp312**: system gcc 13.3 on Ubuntu, OpenMP via
`libgomp`, flags `-O3 -ffast-math -march=native -fopenmp`.
- **Linux (`*.so`), cp310 / cp311 / cp313**: conda-forge gcc inside
isolated `python=3.10/3.11/3.13` envs (clean, system-Python-free
build), same OpenMP and optimisation flags.
- **Windows (`*.pyd`), all four versions**: MSVC v14.50 (Visual Studio
Build Tools 2026), OpenMP via `vcomp`, flags `/O2 /openmp`. Each
built against the matching CPython interpreter installed via
`winget`.
Both binaries target CPython 3.12 (cp312) ABI. No other Python
version is supported in this release.
All eight binaries pass the same numerical smoke test
(`batch_max_similarity` over fixed-seed data) and produce identical
output to within float64 round-off.
## Install
Binary file not shown.
Binary file not shown.
Binary file not shown.