Commit graph

15 commits

Author SHA1 Message Date
Jie Luo
bbc9dd9e8a Drop Python 3.9 support
Python 3.9 reached its official End-of-Life (EOL) on October 31, 2025
https://devguide.python.org/versions/

PiperOrigin-RevId: 854341311
2026-01-09 14:20:23 -08:00
Jie Luo
8e3543177e Add Python 3.14 test coverage
#test-continuous

PiperOrigin-RevId: 829211258
2025-11-06 19:21:19 -08:00
Protobuf Team Bot
f5a293768f Drop Python 3.8 support
This was previously announced in https://engdoc.corp.google.com/eng/doc/devguide/proto/news/2024-10-02.md#dropping-python-38-support per our support policies.

#test-continuous

PiperOrigin-RevId: 698398370
2024-11-20 08:41:33 -08:00
Protobuf Team Bot
7060d3d723 Add Python 3.13 test coverage
#test-continuous

PiperOrigin-RevId: 690740783
2024-10-28 14:01:44 -07:00
Adam Cozzette
24fef03259 Add support and partial CI coverage for Python 3.12
There's a test run in test_python.yml that is non-trivial to get working with
Python 3.12 due to some refactoring of our Docker images that would be needed.
But this change updates everything else to add coverage for Python 3.12.

The main changes necessary to get the builds working were to upgrade some Pip
packages via requirements.txt, including in a patch to `rules_fuzzing` that I
plan to upstream soon. I also had to take an explicit dependency on
`setuptools`.

I removed tox.ini, since it was outdated and we have not been actively
maintaining it.

PiperOrigin-RevId: 580548224
2023-11-08 08:53:27 -08:00
Adam Cozzette
8970072608 Migrate away from distutils
Python 3.12 has removed the `distutils` module, so we need to stop relying on
it. Most of the parts we were using had a straightforward replacement in
`setuptools` or elsewhere in the Python standard library. I couldn't find a
good replacement for `distutils.command.clean`, though. We were only using it
to enable `python setup.py clean`, so I just removed that functionality since
directly invoking setup.py is deprecated anyway.

While I was looking at this I realized that our python/release.sh script is
unused, so I also removed that.

PiperOrigin-RevId: 571035275
2023-10-05 09:08:21 -07:00
Adam Cozzette
8f831e973a Update Python versions to reflect that we now support 3.8 through 3.11
PiperOrigin-RevId: 569317472
2023-09-28 16:12:04 -07:00
Joshua Haberman
638a860285 Shorten our license headers into an abbreviated form that references LICENSE instead of including it in full.
PiperOrigin-RevId: 563893662
2023-09-08 18:44:16 -07:00
Maximilian
82372d8fe6
Use proper SPDX license identifier (#9441)
The previously used term "3-Clause BSD License" is not properly
standarized. A common standard is SPDX, therefore "3-Clause BSD License"
is substituted with "BSD-3-Clause" which is a SPDX identifier.

`grep -rl "3-Clause BSD License" | xargs -n1 sed -i "s/3-Clause BSD
License/BSD-3-Clause/g"`
2022-01-27 00:23:14 +00:00
Raul Bocanegra Algarra
e47ed057a5
Make glob recursive if option is enabled (#8783) 2021-10-13 09:13:18 -07:00
Bo Yang
2fbc07b243 Stopping build wheel for python 2.7 2021-08-27 14:09:15 -07:00
David L. Jones
ad29d402c4
Enhance documentation for generate_py_protobufs. (#7937)
This change updates the README.md to describe the order of resolution
between `options['generate_py_protobufs']`, `--protoc`, and the `PROTOC`
env var.

Since the `setup.py` script is not the main way to find docs, this change
deletes the parts of the docstring that are redundant with `README.md`.
2020-10-02 13:36:49 -07:00
David L. Jones
344f28d4a2
Allow generate_py_protobufs to find a custom protoc (#7936)
Currently, the logic in `generate_py_protobufs` cannot find a custom `protoc` (even though it's supposed to be possible). Fixes:

1. Mark the `--protoc` flag as accepting an argument.
2. If the `--protoc` flag was not passed, try finding `PROTOC` in the environment.
3. (Existing behavior) Otherwise, fall back to `spawn.find_executable`.

Hat tip to @bobhancock for uncovering the problem(s).
2020-10-01 17:17:55 -07:00
David L. Jones
f4aa17b28a Update documentation for protobuf_distutils Python package.
This updates README.md to use an example with pip instead of setup.py.
The README.md is then used as the long_description argument to setup(),
so that the doc shows up on pypi.
2020-09-14 20:14:32 -07:00
David L. Jones
ff06e23d23
Add a setuptools extension for generating Python protobufs (#7783)
This extension allows Python code to be generated from setup.py files, so they
are created as part of a normal Python build. The extension uses an already-existing
protoc binary, which can be explicitly specified if needed.
2020-08-31 10:40:57 -07:00