nmhit 0.1.1__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nmhit-0.1.1 → nmhit-0.1.2}/.github/workflows/ci.yml +1 -1
- {nmhit-0.1.1 → nmhit-0.1.2}/.github/workflows/release.yml +1 -2
- {nmhit-0.1.1 → nmhit-0.1.2}/CMakeLists.txt +8 -3
- {nmhit-0.1.1 → nmhit-0.1.2}/PKG-INFO +1 -1
- {nmhit-0.1.1 → nmhit-0.1.2}/pyproject.toml +7 -4
- {nmhit-0.1.1 → nmhit-0.1.2}/.clang-format +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/.gitignore +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/.pre-commit-config.yaml +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/CONTRIBUTING.md +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/README.md +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/cmake/nmhit.pc.in +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/cmake/nmhitConfig.cmake.in +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/generated/Lexer.cpp +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/generated/Lexer.h +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/generated/Parser.cpp +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/generated/Parser.h +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/generated/location.hh +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/include/nmhit/BraceExpr.h +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/include/nmhit/Node.h +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/include/nmhit/TypeRegistry.h +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/include/nmhit/nmhit.h +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/python/nmhit/__init__.py +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/python/nmhit/py.typed +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/python/src/_nmhit.cpp +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/python/tests/test_nmhit.py +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/src/BraceExpr.cpp +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/src/Lexer.l +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/src/Node.cpp +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/src/ParseDriver.h +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/src/Parser.y +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/tests/CMakeLists.txt +0 -0
- {nmhit-0.1.1 → nmhit-0.1.2}/tests/test_hit.cpp +0 -0
|
@@ -27,8 +27,7 @@ jobs:
|
|
|
27
27
|
- name: Build wheels
|
|
28
28
|
uses: pypa/cibuildwheel@v2.19
|
|
29
29
|
env:
|
|
30
|
-
|
|
31
|
-
CIBW_BUILD: "cp39-*"
|
|
30
|
+
CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-* cp313-*"
|
|
32
31
|
CIBW_SKIP: "*-musllinux* *-manylinux_i686"
|
|
33
32
|
CIBW_ARCHS_LINUX: "x86_64 aarch64"
|
|
34
33
|
CIBW_ARCHS_MACOS: "x86_64 arm64"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
cmake_minimum_required(VERSION 3.
|
|
1
|
+
cmake_minimum_required(VERSION 3.20)
|
|
2
2
|
project(neml2-hit VERSION 0.1.0 LANGUAGES CXX)
|
|
3
3
|
|
|
4
4
|
set(CMAKE_CXX_STANDARD 17)
|
|
@@ -148,7 +148,13 @@ endif()
|
|
|
148
148
|
|
|
149
149
|
option(NMHIT_BUILD_PYTHON "Build Python bindings via nanobind" OFF)
|
|
150
150
|
if(NMHIT_BUILD_PYTHON)
|
|
151
|
-
|
|
151
|
+
# Per-version wheels: only Development.Module is needed here.
|
|
152
|
+
# When Python 3.12 becomes the project minimum, switch to a single abi3 wheel:
|
|
153
|
+
# - set wheel.py-api = "cp312" in pyproject.toml
|
|
154
|
+
# - add Development.SABIModule to this find_package call (requires CMake >= 3.26)
|
|
155
|
+
# - add STABLE_ABI back to nanobind_add_module below
|
|
156
|
+
# nanobind's STABLE_ABI silently no-ops below Python 3.12 (Py_LIMITED_API=0x030C0000).
|
|
157
|
+
find_package(Python 3.9 REQUIRED COMPONENTS Interpreter Development.Module)
|
|
152
158
|
|
|
153
159
|
# Locate nanobind's CMake integration through the Python interpreter.
|
|
154
160
|
# scikit-build-core installs nanobind into the build venv so it is findable
|
|
@@ -168,7 +174,6 @@ if(NMHIT_BUILD_PYTHON)
|
|
|
168
174
|
|
|
169
175
|
nanobind_add_module(
|
|
170
176
|
_nmhit
|
|
171
|
-
STABLE_ABI # Py_LIMITED_API=0x03090000: one .so covers Python 3.9+
|
|
172
177
|
NB_STATIC # embed nanobind runtime; wheel is self-contained
|
|
173
178
|
python/src/_nmhit.cpp
|
|
174
179
|
)
|
|
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "nmhit"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.2"
|
|
8
8
|
description = "Python bindings for the nmhit NEML2-flavored HIT parser"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9"
|
|
@@ -22,11 +22,14 @@ dev = ["pytest>=7"]
|
|
|
22
22
|
cmake.build-type = "Release"
|
|
23
23
|
cmake.args = ["-DNMHIT_BUILD_TESTS=OFF", "-DNMHIT_BUILD_PYTHON=ON", "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"]
|
|
24
24
|
wheel.packages = ["python/nmhit"]
|
|
25
|
-
|
|
25
|
+
# Per-version wheels: one wheel per CPython release.
|
|
26
|
+
# When Python 3.12 becomes the project minimum, switch to a single abi3 wheel:
|
|
27
|
+
# set wheel.py-api = "cp312" and build = "cp312-*".
|
|
28
|
+
# nanobind's STABLE_ABI requires Py_LIMITED_API >= 0x030C0000 (3.12); it silently
|
|
29
|
+
# no-ops on earlier Pythons, so cp39-abi3 would still produce a cpython-39 suffix.
|
|
26
30
|
|
|
27
|
-
# STABLE_ABI: one abi3 wheel per platform covers Python 3.9+
|
|
28
31
|
[tool.cibuildwheel]
|
|
29
|
-
build = "cp39-*"
|
|
32
|
+
build = "cp39-* cp310-* cp311-* cp312-* cp313-*"
|
|
30
33
|
skip = "*-musllinux* *-manylinux_i686"
|
|
31
34
|
test-requires = ["pytest"]
|
|
32
35
|
test-command = "pytest {project}/python/tests/ -v"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|