Skip to content

Conversation

@PsiACE
Copy link
Member

@PsiACE PsiACE commented Jan 18, 2026

This is a discussion draft. I propose adopting uv as the primary dependency managerbecause it is currently the best option in the Python ecosystem and lets us lock and unify toolchain dependency versions reliably.

Changes in this draft:

  • Replace legacy requirements-*.txt with uv.lock and pyproject.toml extras.
  • Update CI workflows and docs to use uv for installs/locks.
  • Drop Python 3.9 and standardize on Python 3.10+ across tooling.
  • Update Dockerfile to remove 3.9 and use 3.10.

Checklist (tick everything that applies)

  • Code linting (required, can be done after the PR checks)
  • Documentation
  • Tests
  • ICLA (required for bigger changes)

@codecov-commenter
Copy link

codecov-commenter commented Jan 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.34%. Comparing base (8112738) to head (94b31de).

Additional details and impacted files
@@           Coverage Diff           @@
##            trunk    #2085   +/-   ##
=======================================
  Coverage   83.34%   83.34%           
=======================================
  Files         353      353           
  Lines       81769    81769           
  Branches     8993     8993           
=======================================
+ Hits        68146    68148    +2     
+ Misses      10797    10796    -1     
+ Partials     2826     2825    -1     

see 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@PsiACE PsiACE marked this pull request as ready for review January 18, 2026 20:19
@tisonkun
Copy link
Member

@micafer @Kami Is it desirable to drop all the support for Python 3.9?

If so, I'd drop the status check for "Unit Tests (Python 3.9)"

Copy link
Member

@tisonkun tisonkun left a comment

Choose a reason for hiding this comment

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

Rest LGTM. We can work towards a new release now.

----------

Support for CPython 3.9 and PyPy 3.9 has been dropped. If you still need to use
Libcloud with one of those versions, you can use Libcloud v3.9.x which is the
Copy link
Member Author

Choose a reason for hiding this comment

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

Although I've marked libcloud 3.9 as supporting Python 3.9 , this is based on https://lists.apache.org/thread/rhnq1hx3z9njvztg49sylzjr4x32qyh0 . But in fact, we haven't officially released version 3.9 yet, so some descriptions may need adjustment.

A few other places are similar.

Copy link
Contributor

@micafer micafer left a comment

Choose a reason for hiding this comment

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

LGTM

@tisonkun tisonkun merged commit 0a37446 into apache:trunk Jan 26, 2026
16 checks passed
@tisonkun
Copy link
Member

Thanks for your contribution @PsiACE!

@PsiACE PsiACE deleted the uv branch January 26, 2026 07:58
@tisonkun
Copy link
Member

@PsiACE There is a new failed case:

"Build and upload Documentation (3.10) > Trigger ReadTheDocs build"

/home/runner/work/libcloud/libcloud/.venv/bin/python: No module named pip
Error: Process completed with exit code 1.

You can go and see what happened.

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.

4 participants