Skip to content

Conversation

@timrid
Copy link
Contributor

@timrid timrid commented Feb 4, 2026

This PR migrates from poetry to uv, as uv is a more modern tool than poetry and also offers more possibilities.

I haven't been able to test my changes to .readthedocs.yml and .github/workflows/pypi-publish.yml yet, as I don't know how to test them manually.

This PR includes the changes from #1933.

timrid added 15 commits February 3, 2026 13:32
`classifiers` and `dependencies` are defined in PEP621 and should be used instead of the legacy `[tool.poetry]` section.
`dependency-groups` is defined  in PEP735 and should be used instead of the legacy `[tool.poetry.group.##]` section.
When using uv only the `dev` dependency group is installed by default. Using poetry by default all dependency groups are installed. So when switching from poetry to uv it is useful to add the `dev` group.
Newer Versions of bumble are breaking the tests. However, this has not been noticed yet, as the lock file has never been updated.
uv is creating a `.venv` folder in the repo root. This should be detected as default.
This fixes the following mypy error, which previously only occurred locally and not in CI. However, due to the switch to uv in CI, it now also occurs there. It is unclear why this did not occur in CI before.

error: Cannot determine type of "open_transport_with_bluez_vhci"  [has-type]
Poetry includes the LICENSE file automatically in the .whl and .tar.gz, but uv only includes it when it is explicilty marked in the pyproject.toml
@codecov
Copy link

codecov bot commented Feb 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 51.04%. Comparing base (b7e8fdb) to head (b72fea6).
⚠️ Report is 2 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1934      +/-   ##
===========================================
+ Coverage    50.91%   51.04%   +0.12%     
===========================================
  Files           39       39              
  Lines         3916     3916              
  Branches       479      479              
===========================================
+ Hits          1994     1999       +5     
+ Misses        1798     1794       -4     
+ Partials       124      123       -1     
Flag Coverage Δ
bluez-integration-py3.10 36.59% <ø> (-1.43%) ⬇️
bluez-integration-py3.11 36.59% <ø> (-1.43%) ⬇️
bluez-integration-py3.12 36.59% <ø> (-1.43%) ⬇️
bluez-integration-py3.13 36.59% <ø> (-1.43%) ⬇️
bluez-integration-py3.14 36.59% <ø> (+0.13%) ⬆️
macos-latest-py3.10 19.61% <ø> (ø)
macos-latest-py3.11 19.61% <ø> (ø)
macos-latest-py3.12 19.61% <ø> (ø)
macos-latest-py3.13 19.61% <ø> (ø)
macos-latest-py3.14 19.46% <ø> (ø)
ubuntu-latest-py3.10 23.62% <ø> (ø)
ubuntu-latest-py3.11 23.62% <ø> (ø)
ubuntu-latest-py3.12 23.62% <ø> (ø)
ubuntu-latest-py3.13 23.62% <ø> (ø)
ubuntu-latest-py3.14 21.69% <ø> (ø)
windows-latest-py3.10 18.18% <ø> (ø)
windows-latest-py3.11 18.18% <ø> (ø)
windows-latest-py3.12 18.18% <ø> (ø)
windows-latest-py3.13 18.18% <ø> (ø)
windows-latest-py3.14 17.94% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

In Github Actions sporadically the following exception is raise. This is probably because the pytest_cache folder was located on a mounted 9p file system. It is now stored outside the mounted folder in the hope that the problem will no longer occur.

pytest.PytestCacheWarning: could not create cache path /home/builder/repo/.pytest_cache/v/cache/nodeids: [Errno 12] Out of memory: '/home/builder/repo/pytest-cache-files-_48ojim2'
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