diff --git a/.github/workflows/ci_build_wheels.yml b/.github/workflows/ci_build_wheels.yml index d39731db2..ebb6aed95 100644 --- a/.github/workflows/ci_build_wheels.yml +++ b/.github/workflows/ci_build_wheels.yml @@ -22,68 +22,41 @@ jobs: - os: ubuntu-20.04 system_type: ["manylinux", "_2_34"] arch: x86_64 - py_minors: 8,12 - #- os: ubuntu-20.04 - # system_type: ["manylinux", "_2_28"] - # arch: x86_64 - # py_minors: 8,12 - #- os: ubuntu-20.04 - # system_type: ["manylinux", "2014"] - # arch: x86_64 - # py_minors: 8,12 - #- os: ubuntu-20.04 - # system_type: ["manylinux", "2010"] - # arch: x86_64 - # py_minors: 8,9 + py_minors: 8,13 # 64-bit musllinux - os: ubuntu-20.04 system_type: ["musllinux", "_1_2"] arch: x86_64 - py_minors: 8,11 - # Python 3.12 fails since cibuildwheel still depends on distutils - # for musllinux - #- os: ubuntu-20.04 - # system_type: ["musllinux", "_1_1"] - # arch: x86_64 - # py_minors: 8,11 + py_minors: 8,13 # 32-bit manylinux + # Python 3.8 does not have numpy2 - os: ubuntu-20.04 system_type: ["manylinux", "2014"] arch: i686 - py_minors: 10,12 - # Python 3.12 fails since cibuildwheel still depends on distutils - # for musllinux - #- os: ubuntu-20.04 - # system_type: ["manylinux", "2010"] - # arch: i686 - # py_minors: 8,9 + py_minors: 10,13 # 32-bit musllinux + # Python 3.8 does not have numpy2 + # Python 3.12 fails since cibuildwheel still depends on distutils - os: ubuntu-20.04 system_type: ["musllinux", "_1_2"] arch: i686 - py_minors: 8,11 - # Python 3.12 fails since cibuildwheel still depends on distutils - # for musllinux - #- os: ubuntu-20.04 - # system_type: ["musllinux", "_1_1"] - # arch: i686 - # py_minors: 8,11 + py_minors: 9,11 # 64-bit Windows - os: windows-2019 system_type: ["win", ""] arch: amd64 - py_minors: 8,12 + py_minors: 8,13 # 32-bit Windows # See issue #220: https://github.com/SINTEF/dlite/issues/220 # - os: windows-2019 # system_type: ["win32", ""] # arch: "" - # py_minors: 7,10 + # py_minors: 8,13 # 64-bit (Intel) macOS # See issue #221: https://github.com/SINTEF/dlite/issues/221 diff --git a/doc/getting_started/installation.md b/doc/getting_started/installation.md index 79a10fb0b..6840cfa17 100644 --- a/doc/getting_started/installation.md +++ b/doc/getting_started/installation.md @@ -32,14 +32,13 @@ DLite uses [cibuildwheel] for providing binary releases for Linux and Windows on various platforms and versions of Python. The provided wheels are shown in the following table. - -| Platform | Arch | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | -|------------------|--------|-----|-----|------|------|------| -| [manylinux_2_34] | x86_64 | x | x | x | x | x | -| [manylinux2014] | i686 | | | x | x | x | -| [musllinux_1_2] | x86_64 | x | x | x | x | x | -| [musllinux_1_2] | i686 | | x | x | x | | -| windows | x86_64 | x | x | x | x | x | +| Platform | Arch | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 | +|------------------|--------|-----|-----|------|------|------|------| +| [manylinux_2_34] | x86_64 | x | x | x | x | x | x | +| [manylinux2014] | i686 | | | x | x | x | x | +| [musllinux_1_2] | x86_64 | x | x | x | x | x | x | +| [musllinux_1_2] | i686 | | x | x | x | | | +| windows | x86_64 | x | x | x | x | x | x | Development installation diff --git a/python/pyproject.toml b/python/pyproject.toml index 40f2bde55..afd048a52 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -1,23 +1,13 @@ [build-system] requires = [ - "setuptools>=58", - "wheel>=0.37", "numpy>=1.14.5,<2.1.3", + "swig==4.3.0", "cmake==3.31.1", - "swig==4.1.1", + #"setuptools==57.5.0; python_version<'3.9'", + #"setuptools==75.3.0; python_version>='3.9'", + "setuptools==75.3.0", + "wheel==0.41.3", ] - - -#requires = [ -# #"setuptools>=58; python_version<'3.12'", -# #"wheel>=0.37; python_version<'3.12'", -# "setuptools==67.6.1; python_version<'3.9'", -# "setuptools>=68.2.1; python_version>='3.9'", -# "wheel>=0.37", -# "numpy>=1.14.5,<2.1.3", -# "cmake==3.31.1", -# "swig==4.1.1", -#] build-backend = "setuptools.build_meta" [tool.cibuildwheel] @@ -31,12 +21,10 @@ test-command = "python {package}\\..\\bindings\\python\\tests\\test_python_bindi [tool.cibuildwheel.linux] environment-pass = ["CI_BUILD_CMAKE_ARGS", "CI_PIP_CACHE_DIR"] before-build = [ - #"python -m pip install --cache-dir /ci/pip_cache --prefer-binary -r {project}/requirements.txt -r {project}/requirements_dev.txt", "rm -rf {project}/python/build/temp*", "export PYVER=$(python -c \"import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')\")", "export ABITAG=$(python -c \"import sys; cp=f'cp{sys.version_info.major}{sys.version_info.minor}'; print(f'{cp}-{cp}{sys.abiflags}')\")", ] -before-test = "python -m pip install --cache-dir /ci/pip_cache --prefer-binary -r {project}/requirements.txt" test-command = "python {package}/../bindings/python/tests/test_python_bindings.py" [tool.cibuildwheel.linux.environment] diff --git a/python/setup.py b/python/setup.py index fcc0dcab6..875f4ed3d 100644 --- a/python/setup.py +++ b/python/setup.py @@ -215,6 +215,7 @@ def run(self): "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries :: Python Modules", ], build_requires=requirements_dev, diff --git a/requirements_dev.txt b/requirements_dev.txt index d0a0e7caf..7b034e474 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,8 +1,10 @@ # Requirements building swig==4.3.0 cmake==3.31.1 -setuptools==67.6.1; python_version<"3.9" -setuptools>=68.2.1; python_version>="3.9" +#setuptools==67.5.0; python_version<"3.9" +#setuptools==75.3.0; python_version>="3.9" +setuptools==75.3.0 +wheel==0.41.3 # Requirements for running tests -mongomock>=4.1.2,<5 +mongomock==4.2.0.post1