sdk icon indicating copy to clipboard operation
sdk copied to clipboard

feat(templates): Use uv build backend in package templates

Open edgarrmondragon opened this issue 5 months ago • 2 comments

Blockers

  • Maybe https://github.com/astral-sh/uv/issues/14037.

Summary by Sourcery

Switch the package templates to use uv_build as the build backend and configure the uv build backend settings.

Enhancements:

  • Add tool.uv.build-backend configuration with module-name and module-root to templates

Build:

  • Replace hatchling with uv_build and update build-system sections in mapper, tap, and target templates

edgarrmondragon avatar Jul 03 '25 03:07 edgarrmondragon

Reviewer's Guide

This PR replaces the default Hatchling build system with the new uv_build backend across all cookiecutter package templates by updating their pyproject.toml files.

Class diagram for build system configuration in pyproject.toml templates

classDiagram
    class BuildSystem {
        +requires: List[str]
        +build-backend: str
    }
    class UvBuildBackend {
        +module-name: str
        +module-root: str
    }
    BuildSystem <|-- UvBuildBackend : uses

File-Level Changes

Change Details Files
Switch package templates to use uv_build as the build backend
  • Insert a new [build-system] section requiring uv_build>=0.7.19 and set build-backend to uv_build
  • Remove the existing [build-system] section that referenced Hatchling
  • Add a [tool.uv.build-backend] block with module-name and module-root configuration
  • Retain existing project metadata and lint/test configurations
  • Ensure consistency across mapper, tap, and target templates
cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml
cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml
cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an issue from a review comment by replying to it. You can also reply to a review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull request title to generate a title at any time. You can also comment @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment @sourcery-ai summary on the pull request to (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar Jul 03 '25 03:07 sourcery-ai[bot]

Documentation build overview

📚 Meltano SDK | 🛠️ Build #29988630 | 📁 Comparing 6c07ffec926bbf04bda457920ad4005ae0ae8fde against latest (ef953f5f20bd7e2224f37ffb88a2592494d46566)


🔍 Preview build

No files changed.