diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0302b102..9fc830e6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,6 +56,7 @@ jobs: CIBW_ENVIRONMENT_MACOS: CMAKE_GENERATOR="Unix Makefiles" CMAKE_OSX_ARCHITECTURES=${{ matrix.osx_arch }} CIBW_ENVIRONMENT_WINDOWS: CMAKE_GENERATOR="Visual Studio 17 2022" CMAKE_GENERATOR_PLATFORM=x64 CIBW_BUILD_VERBOSITY: 1 + CIBW_TEST_EXTRAS: dev - name: Build source if: startsWith(matrix.os, 'ubuntu') diff --git a/.github/workflows/build_aarch64.yml b/.github/workflows/build_aarch64.yml index dc3b5bed..467afe77 100644 --- a/.github/workflows/build_aarch64.yml +++ b/.github/workflows/build_aarch64.yml @@ -32,8 +32,10 @@ jobs: python -m cibuildwheel --output-dir wheelhouse env: CIBW_ARCHS_LINUX: aarch64 - CIBW_BEFORE_ALL: "yum -y update && yum install -y blas-devel lapack-devel suitesparse-devel" + CIBW_BEFORE_ALL: "rm -rf {package}/osqp_sources/build && yum -y update && yum install -y blas-devel lapack-devel suitesparse-devel" CIBW_ENVIRONMENT_LINUX: CMAKE_GENERATOR="Unix Makefiles" + CIBW_BUILD_VERBOSITY: 1 + CIBW_TEST_EXTRAS: dev - name: Release to pypi if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') diff --git a/pyproject.toml b/pyproject.toml index 18e44f55..95ec8bca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,16 +1,38 @@ [build-system] +build-backend = "setuptools.build_meta" requires = [ # Building with numpy 2.0 is compatible with numpy 1.x, but it # is only available on Python 3.9+ "numpy >= 2.0.0; python_version > '3.8'", "oldest-supported-numpy; python_version <= '3.8'", - "scipy >= 0.13.2, !=1.12.0", + "setuptools>=40.8.0", "setuptools_scm>=6.2", "wheel", "qdldl" ] -build-backend = "setuptools.build_meta" + +[project] +name = "osqp" +dynamic = ["version", "dependencies"] +description = "OSQP: The Operator Splitting QP Solver" +readme = "README.rst" +authors = [ + { name = "Bartolomeo Stellato", email = "bartolomeo.stellato@gmail.com" }, + { name = "Goran Banjac" }, +] +classifiers = [ + "License :: OSI Approved :: Apache Software License" +] + +[project.optional-dependencies] +dev = [ + # Unit tests fail on scipy 1.12.0 + # see https://github.com/scipy/scipy/issues/20027 + # We'll employ this extra when building wheels + # using cibuildwheel by setting CIBW_TEST_EXTRAS + "scipy!=1.12.0", +] [tool.setuptools_scm] write_to = "src/osqp/_version.py" diff --git a/requirements.txt b/requirements.txt index b343df5f..a78b5571 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ numpy >= 1.7 -scipy >= 0.13.2, !=1.12.0 +scipy >= 0.13.2 qdldl diff --git a/setup.py b/setup.py index a21cfca2..2965e3a4 100644 --- a/setup.py +++ b/setup.py @@ -265,7 +265,6 @@ def readme(): package_dir={'': 'src'}, include_package_data=True, # Include package data from MANIFEST.in install_requires=requirements, - license='Apache 2.0', url="https://osqp.org/", cmdclass={'build_ext': build_ext_osqp}, packages=find_namespace_packages(where='src'), diff --git a/src/osqp/codegen/files_to_generate/setup.py b/src/osqp/codegen/files_to_generate/setup.py index 6b6922ce..d64a844f 100644 --- a/src/osqp/codegen/files_to_generate/setup.py +++ b/src/osqp/codegen/files_to_generate/setup.py @@ -74,7 +74,7 @@ def finalize_options(self): setup(name='PYTHON_EXT_NAME', - version='0.6.7.post0', + version='0.6.7.post1', author='Bartolomeo Stellato, Goran Banjac', author_email='bartolomeo.stellato@gmail.com', description='This is the Python module for embedded OSQP: ' + diff --git a/src/osqp/interface.py b/src/osqp/interface.py index 01439ba9..e8df6714 100644 --- a/src/osqp/interface.py +++ b/src/osqp/interface.py @@ -1,5 +1,5 @@ """ -Python interface module for OSQP solver v0.6.7.post0 +Python interface module for OSQP solver v0.6.7.post1 """ from __future__ import print_function from builtins import object diff --git a/src/osqppurepy/_osqp.py b/src/osqppurepy/_osqp.py index f96e71f7..41b34674 100644 --- a/src/osqppurepy/_osqp.py +++ b/src/osqppurepy/_osqp.py @@ -330,7 +330,7 @@ class OSQP(object): work - workspace """ def __init__(self): - self._version = "0.6.7.post0" + self._version = "0.6.7.post1" @property def version(self):