Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🏗️ Switch the pyfiction build system from raw setuptools to scikit-build-core #592

Merged
merged 36 commits into from
Nov 28, 2024

Conversation

marcelwa
Copy link
Collaborator

@marcelwa marcelwa commented Nov 24, 2024

Description

This PR makes big changes to the build system and overall tooling of pyfiction.

  1. Switch to scikit-build-core from raw setuptools.
  2. Use uv for dependency management and builds.
  3. Use nox for testing.

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have added a changelog entry.
  • I have created/adjusted the Python bindings for any new or updated functionality.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

@marcelwa marcelwa added python Pull requests that update Python code build system Changes affecting the build system labels Nov 24, 2024
@marcelwa marcelwa self-assigned this Nov 24, 2024
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@marcelwa marcelwa changed the title 🏗️ Switch the pyfiction build system from setuptools to scikit-build 🏗️ Switch the pyfiction build system from raw setuptools to scikit-build Nov 24, 2024
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

cmake/try_z3.cpp Show resolved Hide resolved
Copy link

codecov bot commented Nov 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.12%. Comparing base (0dffdc5) to head (83c7eb3).
Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #592   +/-   ##
=======================================
  Coverage   98.12%   98.12%           
=======================================
  Files         232      232           
  Lines       35410    35410           
  Branches     1692     1691    -1     
=======================================
+ Hits        34746    34747    +1     
+ Misses        662      661    -1     
  Partials        2        2           
Files with missing lines Coverage Δ
...s/simulation/sidb/random_sidb_layout_generator.hpp 90.24% <ø> (ø)

... and 2 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0dffdc5...83c7eb3. Read the comment docs.

@marcelwa marcelwa changed the title 🏗️ Switch the pyfiction build system from raw setuptools to scikit-build 🏗️ Switch the pyfiction build system from raw setuptools to scikit-build-core Nov 24, 2024
Comment on lines +90 to +117
# def docs(session: nox.Session) -> None:
# """Build the docs. Use "--non-interactive" to avoid serving. Pass "-b linkcheck" to check links."""
# parser = argparse.ArgumentParser()
# parser.add_argument("-b", dest="builder", default="html", help="Build target (default: html)")
# args, posargs = parser.parse_known_args(session.posargs)
#
# serve = args.builder == "html" and session.interactive
# extra_installs = ["sphinx-autobuild"] if serve else []
# session.install(*BUILD_REQUIREMENTS, *extra_installs)
# session.install("--no-build-isolation", "-ve.[docs]")
#
# if args.builder == "linkcheck":
# session.run("sphinx-build", "-b", "linkcheck", "docs", "docs/_build/linkcheck", *posargs)
# return
#
# shared_args = (
# "-n", # nitpicky mode
# "-T", # full tracebacks
# f"-b={args.builder}",
# "docs",
# f"docs/_build/{args.builder}",
# *posargs,
# )
#
# if serve:
# session.run("sphinx-autobuild", *shared_args)
# else:
# session.run("sphinx-build", "--keep-going", *shared_args)

Check notice

Code scanning / CodeQL

Commented-out code Note

This comment appears to contain commented-out code.
@marcelwa marcelwa merged commit b7901a3 into main Nov 28, 2024
63 checks passed
@marcelwa marcelwa deleted the scikit-build branch November 28, 2024 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build system Changes affecting the build system python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants