dropbox / dropbox-sdk-python

The Official Dropbox API V2 SDK for Python
https://www.dropbox.com/developers
MIT License
930 stars 318 forks source link

Extend test matrix up to 3.12 #484

Open foarsitter opened 9 months ago

foarsitter commented 9 months ago

In the same vein as https://github.com/dropbox/dropbox-sdk-python/pull/481, this PR updates the test matrix & classifiers up to the most recent 3.12.

Checklist

General Contributing

Is This a Code Change?

Validation

CLAassistant commented 9 months ago

CLA assistant check
All committers have signed the CLA.

greg-db commented 9 months ago

Thanks for putting this together! I'll ask the team to review this.

hugovk commented 9 months ago

Does this fail on 3.12 with https://github.com/dropbox/dropbox-sdk-python/issues/483?

foarsitter commented 9 months ago

@hugovk It did not fail on 3.12 for the CI: https://github.com/foarsitter/dropbox-sdk-python/actions/runs/6707504248

sarahboyce commented 9 months ago

@hugovk It did not fail on 3.12 for the CI: https://github.com/foarsitter/dropbox-sdk-python/actions/runs/6707504248

@foarsitter this is because requirements.txt also includes some requirements for development including sphinx which installs setuptools. Ref raw logs of the action:

2023-10-31T13:53:47.3735410Z Collecting setuptools (from babel>=2.9->sphinx->-r requirements.txt (line 9))

I think the packages in the requirements.txt under # Other dependencies for development should be in their own requirements file and not installed in the CI (sphinx for example is explicitly installed in the docs ci step anyway).

If you remove sphinx from requirements.txt, I think that the Python 3.12 ci will fail. I believe https://github.com/dropbox/dropbox-sdk-python/pull/484#discussion_r1398181635 is needed. I can't activate a virtual environment here on Python 3.12 without this change.

foarsitter commented 9 months ago

@sarahboyce do you think it is sufficient to not pin setuptools and let pip decide? Thanks for pointing out that sphinx was installing setuptools in this case.

I added an issue to move to pyproject.toml: https://github.com/dropbox/dropbox-sdk-python/issues/487