Skip to content

Modernize build versioning#79

Merged
PTNobel merged 1 commit into
masterfrom
build-modernization-setuptools-scm
May 20, 2026
Merged

Modernize build versioning#79
PTNobel merged 1 commit into
masterfrom
build-modernization-setuptools-scm

Conversation

@PTNobel
Copy link
Copy Markdown
Member

@PTNobel PTNobel commented May 20, 2026

Description

Modernizes the build/versioning setup along the same lines as cvxpy/cvxpy#3331:

  • derive package versions from git tags with setuptools-scm
  • generate diffcp._version at build time and re-export it as diffcp.version
  • remove the stale .bumpversion.cfg release/version bump workflow
  • fetch full git history in CI checkout steps so tags are available to setuptools-scm
  • replace the stale setup.py develop Makefile target with a uv workflow
  • move cvxpy out of runtime dependencies and into optional/test dependencies to avoid the circular dependency
  • declare direct runtime dependencies (numpy, scipy, scs, threadpoolctl) instead of relying on cvxpy transitively
  • explicitly compile the C++ extension as C++11 to avoid depending on newer compiler defaults

Verification

  • uv build
  • uv run python -c 'import diffcp; print(diffcp.version)'
  • uv run --extra test pytest tests/ -q (43 passed, 2 warnings)

@PTNobel PTNobel force-pushed the build-modernization-setuptools-scm branch 3 times, most recently from d3392ab to e002b50 Compare May 20, 2026 06:49
@PTNobel PTNobel force-pushed the build-modernization-setuptools-scm branch from e002b50 to e0b35a1 Compare May 20, 2026 06:52
@PTNobel PTNobel merged commit fac9a7e into master May 20, 2026
5 checks passed
@PTNobel PTNobel deleted the build-modernization-setuptools-scm branch May 20, 2026 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant