-
Notifications
You must be signed in to change notification settings - Fork 96
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
Add compatibility for Python 3.13 #473
base: master
Are you sure you want to change the base?
Conversation
a2d27aa
to
bab892e
Compare
@rominf this needs rebasing |
bab892e
to
2ca6161
Compare
@webknjaz I rebased the PR. Could you please re-review it? |
@@ -4,6 +4,14 @@ | |||
|
|||
.. towncrier release notes start |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
weird to see this and no towncrier config in the repo..
@@ -99,6 +104,22 @@ def cache_fqdn(session_mocker: MockFixture): | |||
# region #### Common Fixtures ######################################################### | |||
|
|||
|
|||
def _server_resource(name: str, /) -> Generator[Path, None, None]: | |||
ref = importlib_resources.files("aiosmtpd.tests.certs") / name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Weird this is shipped in wheels.. I'd go for a relative path myself.
OTOH, I recommend integrating https://trustme.rtfd.io like I did in aiohttp and many other places so that the TLS certificates are ephemeral and don't even exist in the repo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree it is possible, however for me it looks like it is out of scope for this PR.
@rominf I've triggered the CI for you but I'll leave it to the maintainers to merge. It looks like you missed a dependency file update somewhere (the CI doesn't call tox it seems). |
2ca6161
to
bfd022a
Compare
UPD: ah, disregard this.
It looks it like it is not in GitHub Actions workflows at all (
|
bfd022a
to
a0dd42d
Compare
Fix import error: ``` py312-cov: commands[2]> pytest --cov --cov-report=xml --cov-report=html --cov-report=term --tb=short ImportError while loading conftest '/home/rominf/dev/aiosmtpd/aiosmtpd/tests/conftest.py'. aiosmtpd/tests/conftest.py:15: in <module> from pkg_resources import resource_filename E ModuleNotFoundError: No module named 'pkg_resources' ``` by migrating to `importlib.resources`: https://importlib-resources.readthedocs.io/en/latest/migration.html#pkg-resources-resource-filename
Remove [pytest-profiling](https://pypi.org/project/pytest-profiling/), as it does not support latest Python versions, was not updated for 5 years, and according to the comment in `aiosmtpd/docs/testing.rst` was not very useful anyway.
`pytest-asyncio` is unnecessary, it was missing in `tox.ini`, and tests pass.
a0dd42d
to
83e2701
Compare
What do these changes do?
pytest-profiling
pytest-asyncio
tracesAre there changes in behavior for the user?
Related issue number
Closes #403.
Checklist
{py38,py39,py310,py311,py312,py313}-{cov}
NEWS.rst
file