Skip to content

Conversation

@enrico-lattuada
Copy link
Collaborator

@enrico-lattuada enrico-lattuada commented May 11, 2025

Description

  • Remove existing setup.py
  • Improve the pyproject.toml to include a CMake backend (e.g., scikit-build-core)

Motivation and context

The setup.py framework is outdated, and pyproject.toml (with modern tools) can do the same job with less maintenance effort.

Resolves #246

How has this been tested?

  • CI pipelines
  • Locally by running tests after installation with:
    • Arch Linux (Linux 6.14.9), in virtual environment, using gcc 15.1.1, cuda 12.8, with cuda enabled
    • Windows 11, in both global and in virtual environment (conda), using visual studio compiler, cuda 12.9, with cuda enabled

Change log

v0.3.14 (2025-MM-DD)
^^^^^^^^^^^^^^^^^^^^

*Changed*

- Migrated build system from ``setup.py``/``setup.cfg`` to [PEP 517/518] ``pyproject.toml`` standard.
- ``pybind11`` is now a build dependency and is no longer included as a static copy in the external lib directory.

*Removed*

- Removed statically saved ``pybind11`` from the external lib directory 

Checklist:

@enrico-lattuada enrico-lattuada self-assigned this May 11, 2025
@enrico-lattuada enrico-lattuada added priority: high Important improvements or optimizations difficulty: hard Complex tasks labels May 11, 2025
@enrico-lattuada enrico-lattuada linked an issue May 11, 2025 that may be closed by this pull request
3 tasks
@enrico-lattuada enrico-lattuada added the type: build Tasks related to packaging, installation scripts, and setup label May 11, 2025
@enrico-lattuada enrico-lattuada changed the base branch from main to 252-devops-finalize-phase-1 May 11, 2025 19:50
@enrico-lattuada enrico-lattuada moved this to In progress in Modernization Roadmap May 11, 2025
@enrico-lattuada enrico-lattuada marked this pull request as ready for review June 1, 2025 21:02
@enrico-lattuada enrico-lattuada requested a review from eXpensia June 2, 2025 12:03
@enrico-lattuada enrico-lattuada moved this from In progress to In review in Modernization Roadmap Jun 2, 2025
@enrico-lattuada enrico-lattuada requested a review from krauthex June 2, 2025 21:54
krauthex
krauthex previously approved these changes Jul 2, 2025
Copy link
Collaborator

@krauthex krauthex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much @enrico-lattuada for your efforts! The changes look good to me, at least as far as I understand CMake ;-) Making pybind11 an install dependency definitely is the much cleaner approach.

@enrico-lattuada enrico-lattuada changed the base branch from 252-devops-finalize-phase-1 to develop November 12, 2025 20:02
@enrico-lattuada enrico-lattuada dismissed krauthex’s stale review November 12, 2025 20:02

The base branch was changed.

@enrico-lattuada enrico-lattuada changed the base branch from develop to 252-devops-finalize-phase-1 November 12, 2025 20:03
@enrico-lattuada enrico-lattuada changed the base branch from 252-devops-finalize-phase-1 to develop November 12, 2025 20:03
@enrico-lattuada enrico-lattuada changed the base branch from develop to 252-devops-finalize-phase-1 November 12, 2025 20:11
@enrico-lattuada enrico-lattuada changed the base branch from 252-devops-finalize-phase-1 to develop November 12, 2025 20:33
@eXpensia
Copy link
Collaborator

Except this minor changes it's clean!

@enrico-lattuada enrico-lattuada merged commit 179c9f0 into develop Nov 13, 2025
12 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in Modernization Roadmap Nov 13, 2025
@enrico-lattuada enrico-lattuada deleted the 246-devops-fully-migrate-to-pyprojecttoml branch November 13, 2025 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

difficulty: hard Complex tasks priority: high Important improvements or optimizations type: build Tasks related to packaging, installation scripts, and setup

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[DevOps] Fully migrate to pyproject.toml

4 participants