Skip to content

refactor: migrate from tox/PyScaffold to uv for dependency management, consolidating all dependencies into pyproject.toml and a single uv.lock file.#177

Open
TeaDrinkingProgrammer wants to merge 9 commits intoFlexMeasures:mainfrom
TeaDrinkingProgrammer:refactor/uv-migration
Open

refactor: migrate from tox/PyScaffold to uv for dependency management, consolidating all dependencies into pyproject.toml and a single uv.lock file.#177
TeaDrinkingProgrammer wants to merge 9 commits intoFlexMeasures:mainfrom
TeaDrinkingProgrammer:refactor/uv-migration

Conversation

@TeaDrinkingProgrammer
Copy link
Contributor

@TeaDrinkingProgrammer TeaDrinkingProgrammer commented Feb 19, 2026

This simplifies and speeds up the development setup greatly.

Changes:

  • Switch build backend from setuptools to hatchling
  • Remove setup.cfg, tox.ini, .isort.cfg and setup.py in favour of .flake8 and pyproject.toml
  • Add Poethepoet tasks
  • Upgrade main Python version (CI/CD, .python-version, etc.) to 3.12
  • Deprecate Python 3.9
  • Add .python-version for consistent Python version management
  • Create separate Dockerfile for flexmeasures-client
  • Replace pip-tools with uv in all CI/CD workflows
  • Remove ci/run_mypy.sh in favour of Poethepoet task
  • Update documentation

Probably best to keep this in draft until the FlexMeasures PR is merged so we can take learnings from that.

Stijn van Houwelingen and others added 6 commits February 19, 2026 16:44
…, consolidating all dependencies into pyproject.toml and a single uv.lock file.

This simplifies and speeds up the development setup greatly.

Changes:
- Switch build backend from setuptools to hatchling
- Remove setup.cfg, tox.ini, .isort.cfg and setup.py in favour of .flake8 and pyproject.toml
- Add Poethepoet tasks
- Upgrade main Python version (CI/CD, .python-version, etc.) to 3.12
- Deprecate Python 3.9
- Add .python-version for consistent Python version management
- Create separate Dockerfile for flexmeasures-client
- Replace pip-tools with uv in all CI/CD workflows
- Remove ci/run_mypy.sh in favour of Poethepoet task
- Update documentation

Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@github.io>
Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@github.io>
Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@github.io>
Signed-off-by: F.N. Claessen <claessen@seita.nl>
Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@github.io>
@TeaDrinkingProgrammer
Copy link
Contributor Author

Checkpoint: UV/GH actions/pre-commit changes are now in sync with FlexMeasures/flexmeasures#1973

Stijn van Houwelingen added 2 commits March 16, 2026 16:03
Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@github.io>
Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@github.io>
@TeaDrinkingProgrammer
Copy link
Contributor Author

TODO: update docs

Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@github.io>

[project.urls]
Homepage = "https://github.com/FlexMeasures/flexmeasures-client"
Documentation = "https://flexmeasures-client.readthedocs.io/"
Copy link
Contributor

@Flix6x Flix6x Mar 16, 2026

Choose a reason for hiding this comment

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

@nhoening @TeaDrinkingProgrammer would you recommend we start a separate RTD project for the FlexMeasures Client?

Copy link
Contributor

Choose a reason for hiding this comment

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

Not what I had high in my priority list.

Of course it might deserve it.

  • Usage examples
  • HEMS example
  • S2 section

Copy link
Contributor

Choose a reason for hiding this comment

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

Then I suggest we link the "Documentation" to https://github.com/FlexMeasures/flexmeasures-client 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.

3 participants