Skip to content

Conversation

mbeacom
Copy link
Contributor

@mbeacom mbeacom commented Sep 12, 2025

This pull request updates the release workflow and documentation to support publishing Python packages to PyPI, improve release notes, and clarify installation instructions.
Instructions for setting up the PyPi OIDC trust are annotated in #204

TLDR; Adds python package artifacts to GH release and publishes to PyPi, enabling:

pip install specify-cli
specify init <PROJECT_NAME>

The most important changes are grouped below:

Release Workflow Enhancements

  • Added steps to build and publish the Python package to PyPI in the release workflow, including updating the version in pyproject.toml, building with uv, and publishing with uv publish. [1] [2]
  • Updated the GitHub Release step to include Python wheel (.whl) and source distribution (.tar.gz) files alongside template zip files as release assets.
  • Set the workflow environment to pypi and added id-token: write permission to support secure publishing to PyPI.
  • Upgraded actions/checkout to version 5 and added a step to install uv using astral-sh/setup-uv@v6.

Documentation and Versioning

  • Improved installation instructions in the README.md to recommend PyPI installation and clarified usage for both PyPI and Git-based installs.
  • Specified Python version 3.11 in the .python-version file for consistency in development and CI environments.

@Copilot Copilot AI review requested due to automatic review settings September 12, 2025 15:02
@mbeacom mbeacom requested a review from localden as a code owner September 12, 2025 15:02
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request adds PyPI publishing capabilities to the release workflow, enabling the project to distribute Python packages through PyPI alongside the existing GitHub release process. The changes enhance the installation experience by providing multiple installation methods and improve release documentation.

  • Added PyPI publishing steps to the GitHub release workflow including package building and secure publishing via OIDC
  • Updated documentation to recommend PyPI installation as the primary method with alternative Git-based installation
  • Enhanced release notes to include installation instructions and Python package information

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/release.yml Added PyPI publishing workflow steps, updated permissions, and enhanced release notes with installation instructions
README.md Added PyPI installation instructions as the recommended method with pip and uvx examples
.python-version Specified Python 3.11 for consistent development and CI environments

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

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