Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend test matrix up to 3.12 #484

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

foarsitter
Copy link

@foarsitter foarsitter commented Oct 31, 2023

In the same vein as #481, this PR updates the test matrix & classifiers up to the most recent 3.12.

Checklist

General Contributing

  • Have you read the Code of Conduct and signed the CLA?

Is This a Code Change?

  • Non-code related change (markdown/git settings etc)
  • SDK Code Change
  • Example/Test Code Change

Validation

  • Does tox pass?
  • Do the tests pass?

@CLAassistant
Copy link

CLAassistant commented Oct 31, 2023

CLA assistant check
All committers have signed the CLA.

@greg-db
Copy link
Contributor

greg-db commented Oct 31, 2023

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

@hugovk
Copy link

hugovk commented Nov 18, 2023

Does this fail on 3.12 with #483?

.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
@@ -77,6 +77,10 @@
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
Copy link

Choose a reason for hiding this comment

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

'pytest-runner == 5.2.0',

I think something like 'setuptools; python_version>="3.12"' should be added to the setup_requires list.
Without this I can't create a virtual env for this library on Python 3.12

See: https://docs.python.org/3/whatsnew/3.12.html

  • gh-95299: Do not pre-install setuptools in virtual environments created with venv. This means that distutils, setuptools, pkg_resources, and easy_install will no longer available by default; to access these run pip install setuptools in the activated virtual environment.

@foarsitter
Copy link
Author

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

@sarahboyce
Copy link

sarahboyce commented Nov 18, 2023

@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 #484 (comment) is needed. I can't activate a virtual environment here on Python 3.12 without this change.

@foarsitter
Copy link
Author

@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: #487

Copy link

@sarahboyce sarahboyce left a comment

Choose a reason for hiding this comment

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

@foarsitter this is great! 🌟
Good idea to raise a separate issue around the setup, this PR achieves what we need 👍

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.

None yet

5 participants