Files
Thomas 2110c19665 chore: use uv
Signed-off-by: Thomas <12407096+thomas-chauvet@users.noreply.github.com>

docs: fix activate venv

Signed-off-by: Thomas <12407096+thomas-chauvet@users.noreply.github.com>

fix: pip uninstall with uv

Signed-off-by: Thomas <12407096+thomas-chauvet@users.noreply.github.com>

chore: update CI workflows

Signed-off-by: Thomas <12407096+thomas-chauvet@users.noreply.github.com>

fix(ci): need to checkout to use uv.lock

Signed-off-by: Thomas <12407096+thomas-chauvet@users.noreply.github.com>

fix(ci): fix uv.lock path

Signed-off-by: Thomas <12407096+thomas-chauvet@users.noreply.github.com>

Update .github/workflows/python_build.yml

Update .github/workflows/python_build.yml
2024-12-15 16:30:12 +00:00

1.3 KiB

Contributing to Python deltalake package

Workflow

Most of the workflow is based on the Makefile, maturin CLI tool and uv.

Setup your local environment with virtualenv

make setup

Activate it

source ./.venv/bin/activate

Ready to develop with maturin

maturin is used to build the python package.

Install delta-rs in the current virtualenv:

make develop

Then, list all the available tasks

make help

Format:

make format

Check:

make check-python

Unit test:

make unit-test

Release process

  1. Make a new PR to update the version in pyproject.toml.
  2. Once merged, push a tag of the format python-vX.Y.Z. This will trigger CI to create and publish release artifacts.
  3. In GitHub, create a new release based on the new tag. For release notes, use the generator at a starting point, but please revise them for brevity. Remove anything that is dev-facing only (chores), and bring all important changes to the top, leaving less important changes (such as dependabot updates) at the bottom.
  4. Once the artifacts are showing up in PyPI, announce the release in the delta-rs Slack channel. Be sure to give a shout-out to the new contributors.