Skip to content

Conversation

@hugovk
Copy link
Contributor

@hugovk hugovk commented Dec 20, 2024

Summary

Python 3.13 was released in October:

Let's add it to the CI and classifiers.

Python 3.8 went EOL at the same time, shall we drop support for that too?

Checklist

  • I understand that this PR may be closed in case there was no previous discussion. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.

Comment on lines 5 to 6
push:
branches: ["master"]
Copy link
Contributor

Choose a reason for hiding this comment

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

Why did this change? I don't think it should?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It was so I could run the CI on my feature branch and be confident it passes before opening a PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

👍 could you revert it? I think this should be covered by the pull_request target.

Copy link
Contributor

@zanieb zanieb Dec 23, 2024

Choose a reason for hiding this comment

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

Separately, we could add a workflow_dispatch trigger so it can be invoked on fork branches manually?

Copy link
Contributor Author

@hugovk hugovk Dec 23, 2024

Choose a reason for hiding this comment

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

Yeah, happy to revert it. It just means next time I'll either make my changes directly on my main (not recommended) or not bother contributing (also not recommended :)

pull_request alone doesn't cover it: if I push changes to my fork, the CI won't run.

workflow_dispatch is good to have anyway, but I don't want to have to manually and tediously click buttons to trigger builds each and every time.

Copy link
Contributor

@zanieb zanieb Dec 23, 2024

Choose a reason for hiding this comment

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

Usually I just open a pull request in my fork for CI if I need to test it before opening a real pull request.

I'm not sure exactly what the conditions cause this, but having push without a filter and pull_request can run jobs twice on each pull request commit e.g. astral-sh/python-build-standalone@accb28c

Screenshot 2024-12-23 at 1 16 17 PM

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, creating a PR in your own fork is possible, it's still an extra impediment to contribution. This project's contribution guidelines shown how to test locally, which is good.

But we get all these free CI minutes, I'm a big fan of CIs, and my opinion is we should encourage people to test on CI and make it easy for them. No "works on my machine". Let me easily test all the Python version, all the operating systems, all the build steps in a clean CI environment. Let's have good "DX".

And it's possible to add config to prevent those double runs on upstream, I can look it up if you like.

Anyway, I've reverted this change.

Copy link
Contributor

Choose a reason for hiding this comment

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

And it's possible to add config to prevent those double runs on upstream, I can look it up if you like.

I'm open to a proposal. My main reactions are that it doesn't belong in this pull request / limiting to the main branch is the standard pattern in all the repositories I work in. I agree making it easy for developers to test in CI is nice though :)

@zanieb
Copy link
Contributor

zanieb commented Dec 23, 2024

Some prior discussion of 3.8 in #3419 (comment)

@zanieb zanieb merged commit c7c13f1 into encode:master Dec 23, 2024
6 checks passed
@hugovk hugovk deleted the add-3.13 branch December 23, 2024 22:15
samclearman pushed a commit to titanmsp/httpx that referenced this pull request Apr 26, 2025
alexanderankin added a commit to testcontainers/testcontainers-python that referenced this pull request Sep 9, 2025
## Description

`testcontainers-python` is not compatible with python 3.13 because of
several packages.

## Related issues

Fixes #870

## Packages update

- bump cffi: python-cffi/cffi#24
- bump psycopg2: psycopg/psycopg2#1695
- bump trio: python-trio/trio#2955
- bump pytest: pytest-dev/pytest#12334
- bump pymilvus: milvus-io/pymilvus#2684
- bump twine: pypa/twine#1184
- bump cryptography: pyca/cryptography#11491
- bump greenlet:
python-greenlet/greenlet@9497948
(python-greenlet/greenlet#392)
- bump grpcio: grpc/grpc#36201
- bump httpx: encode/httpx#3460
- bump ibm-db: ibmdb/python-ibmdb#971
- bump orjson: https://github.com/ijl/orjson/releases/tag/3.10.15
- bump pandas: https://github.com/pandas-dev/pandas/releases/tag/v2.2.3

> ⚠️ `cryptography` is not compatible with python `3.9.0` and
`3.9.1` to be able to update to the version supporting Python 3.13 we
have to exclude those version, meaning the minimum version is now 3.9.2
included.

---------

Signed-off-by: axel7083 <[email protected]>
Co-authored-by: David Ankin <[email protected]>
br3ndonland added a commit to br3ndonland/fastenv that referenced this pull request Nov 23, 2025
This PR will add
[Python 3.13](https://docs.python.org/3/whatsnew/3.13.html) support to
fastenv.

Code changes

- Add Python 3.13 classifier to `pyproject.toml`
- Add Python 3.13 to GitHub Actions workflows

Results

- fastenv will now include a Python 3.13 classifier in its PyPI package
- fastenv will now build and publish its PyPI package using Python 3.13
- fastenv will now run tests with Python 3.13, in addition to 3.9-3.12

Related projects that have released support for Python 3.13 include:

- AnyIO
  ([4.6.2 - 2024-10-13](https://github.com/agronholm/anyio/releases/tag/4.6.2))
- Hatch
  ([1.13.0 - 2024-10-13](https://github.com/pypa/hatch/releases/tag/hatch-v1.13.0))
- pipx
  ([1.8.0 - 2025-09-30](https://github.com/pypa/pipx/releases/tag/1.8.0))

Related projects that have not released support for Python 3.13 include:

- [HTTPX](https://github.com/encode/httpx)
  (encode/httpx#3460)

HTTPX has not released Python 3.13 support and has not done a release of
any kind since 2024. The reasons for this, and the path forward, are
unclear
([encode/httpx#3344](encode/httpx#3344)).
There doesn't seem to be much point in holding back 3.13 support for
this project any longer.
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.

2 participants