Skip to content

chore: Set up CI for copick-utils#14

Merged
jtschwar merged 3 commits intomainfrom
uermel/CI_setup
Jul 15, 2025
Merged

chore: Set up CI for copick-utils#14
jtschwar merged 3 commits intomainfrom
uermel/CI_setup

Conversation

@uermel
Copy link
Member

@uermel uermel commented Jul 4, 2025

This PR sets up CI for copick-utils.

Details:

Switch build system

Switches from poetry to uv for the build system. Use hatchling-vcs for dynamic versioning.

Set up pre-commit / linting action

Introduces new extra dev, which installs necessary build system packages and black and ruff linters. Linting rules can be enforced using pre-commit:

uv pip install -e ".[dev]"
pre-commit install
pre-commit run --all-files

Also sets up a github action that enforces the linting rules before merging PRs.

Set up release-please and conventional-commits

Sets up release-please action for automated generation of release PRs based on conventional commits naming conventions. Hereafter, PR titles will have to use conventional commits prefixes.

@uermel uermel requested review from Copilot, jtschwar and kephale July 4, 2025 21:24
Copy link
Contributor

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 PR configures continuous integration, linting, and automated releases for copick-utils by migrating build tooling, adding pre-commit hooks, and setting up GitHub Actions.

  • Switch build system from Poetry to UV/Hatchling with dynamic versioning
  • Introduce dev extras, pre-commit config, and linting via Black & Ruff
  • Add Release Please, conventional-commits validation, and Dependabot for automated releases

Reviewed Changes

Copilot reviewed 17 out of 19 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/copick_utils/segmentation/segmentation_from_picks.py Reformat function signatures and multi-line calls for lint compliance
src/copick_utils/segmentation/picks_from_segmentation.py Reorder imports and adjust multi-line expressions
src/copick_utils/pickers/grid_picker.py Apply consistent quoting and multi-line formatting
src/copick_utils/io/writers.py Reformat function signatures and ensure trailing commas
src/copick_utils/io/readers.py Reformat f-strings and function definitions for consistency
src/copick_utils/features/skimage.py Reformat code blocks and multi-line array slicing calls
src/copick_utils/init.py Bump package version to 0.6.0
src/copick_utils/about.py Remove outdated version file
release-please.config.json Add Release Please configuration
.release-please.manifest.json Add manifest for version mapping
pyproject.toml Migrate to Hatchling build system and update metadata
.pre-commit-config.yaml Define pre-commit hooks for Black, Ruff, and basic checks
.github/workflows/release-please.yml Add workflow for automated release PR creation
.github/workflows/py-formatting.yml Add Python linting workflow
.github/workflows/conventional-commits.yml Add PR title validation for conventional commits
.github/dependabot.yml Configure Dependabot for UV and GitHub Actions updates
.github/workflows/publish-pypi.yaml Remove deprecated publish workflow
Comments suppressed due to low confidence (2)

src/copick_utils/pickers/grid_picker.py:29

  • The variable 'radius' is not defined in this function. Consider passing 'radius' as a parameter or using the correct existing variable to compute grid_spacing.
    grid_spacing = radius * grid_spacing_factor

src/copick_utils/segmentation/picks_from_segmentation.py:5

  • The 'watershed' import is not used in this module. Remove it or use it in place of current segmentation logic to keep the imports clean.
from skimage.segmentation import watershed

Copy link
Contributor

@jtschwar jtschwar left a comment

Choose a reason for hiding this comment

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

Lgtm

@jtschwar jtschwar merged commit 0fbcfbb into main Jul 15, 2025
2 checks passed
jtschwar pushed a commit that referenced this pull request Jul 16, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.6.1](copick-utils-v0.6.0...copick-utils-v0.6.1)
(2025-07-16)


### 🐞 Bug Fixes

* bump actions/checkout from 3 to 4
([#19](#19))
([570072f](570072f))
* bump actions/setup-python from 4 to 5
([#17](#17))
([95c4784](95c4784))
* bump asdf-vm/actions from 3 to 4
([#18](#18))
([039b576](039b576))


### 🧹 Miscellaneous Chores

* Set up CI for copick-utils
([#14](#14))
([0fbcfbb](0fbcfbb))

---
Merging this PR will release copick-utils on PyPI.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

3 participants