Skip to content

fix: migrate from poetry to uv, make the GUI launchable again#815

Open
mdevolde wants to merge 5 commits into
Election-Tech-Initiative:mainfrom
mdevolde:feature/uv
Open

fix: migrate from poetry to uv, make the GUI launchable again#815
mdevolde wants to merge 5 commits into
Election-Tech-Initiative:mainfrom
mdevolde:feature/uv

Conversation

@mdevolde

Copy link
Copy Markdown
Contributor

Issue

Fixes #814

Description

This PR :

  • Migrate the whole project (Makefile, CI, docs...) from poetry to uv
  • Make the EG GUI usable again by applying some fixes (and upgrade the linked Dockerfiles)
  • Correct and simplify Makefile targets
  • Patch the lib repo name in the whole project

Testing

  • Applied local tests on Debian 13/Windows 11
  • Testes that the EG GUI works properly
  • Tested all the Makefile targets

@mdevolde

Copy link
Copy Markdown
Contributor Author

I didn't squashed my commits to permit an easier review, but I can squash them before merging !

@mdevolde

mdevolde commented May 16, 2026

Copy link
Copy Markdown
Contributor Author

Note: the changes in src/electionguard/__init__.py were automatically applied by the updated version of mkinit

@mdevolde

Copy link
Copy Markdown
Contributor Author

@jungshadow there it is for UV!
If you have any question, I'm still available.
Of course, there is no hurry about this PR!

@JDziurlaj JDziurlaj requested a review from jungshadow May 16, 2026 22:36
@mdevolde

Copy link
Copy Markdown
Contributor Author

I forgot to install uv in the CI devices, fixed!

@mdevolde

Copy link
Copy Markdown
Contributor Author

Hi @jungshadow, sorry to tag you! As usual, don't hesitate if you need some explanations about changes. Of course, there is no hurry!

@jungshadow jungshadow left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@mdevolde Sorry it took so long to get back to this. No changes, just more musings. Looks good to me.

with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Appreciate the SHA pinning.

services:
mongo:
image: mongo:4.4
image: mongo:7.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Just a note for later, but we should generally look into using Docker Hardened Images as the base for our containers (e.g., Mongo's CIS-hardened image).

services:
mongo:
image: mongo:4.4
image: mongo:7.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Same note as above on the DHI

ENV PYENV_ROOT="/root/.pyenv"
ENV PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:${PATH}"
RUN echo $PATH
FROM ubuntu:24.04

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Again, DHI

Comment thread pyproject.toml
[dependency-groups]
dev = [
"atomicwrites",
"black==25.11.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Since we've flipped to uv, probably makes sense to eventually switch to ruff—and I think there's a migration guide—but this works for now.

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.

✨ From poetry to uv

2 participants