Commit graph

13 commits

Author SHA1 Message Date
Mitchell Allain
3aa022a269 Configure extra compile args in setup.py (#28264)
Fixes https://github.com/protocolbuffers/protobuf/issues/28261 by setting symbol visibility in `setup.py`, similar to `py_extension.bzl`, using the existing branching logic to bypass the flag on MSVC.

This issue manifests in the [NixOS/nixpkgs](https://github.com/NixOS/nixpkgs) build of the `protobuf` python package, which contains upb symbols, and causes fatal failures when loaded in a process that separately links/loads libprotobuf. We'll supply a patch there as well, until this can be backported or released in future protobuf versions.

Closes #28264

COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/28264 from mitchallain:mallain/fix-python-upb-symbols 6e118a62bf
PiperOrigin-RevId: 942223178
2026-07-03 12:47:05 -07:00
Protobuf Team Bot
6cd6ca4116 Auto-format Py Proto python files.
PiperOrigin-RevId: 907755617
2026-04-29 13:40:58 -07:00
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
Joshua Haberman
eccae51b66 Fixed Python source wheel breakage caused by https://github.com/protocolbuffers/protobuf/pull/21423
The Python source wheel is pulling in `decode_fast.c`, leading to compilation errors when it is not enabled.

While we could try to prevent this file from being in the source wheel at all, that is probably a short-term solution.  If fasttable support is ever ready for prime time, we will need to be able to decide at build time whether to enable it or not, because it's not supported on all platforms.

#test-continuous

PiperOrigin-RevId: 752479765
2025-04-28 16:06:17 -07:00
Zoey Greer
3773feb2fc Fix deprecated use of namespace_packages in python/dist/setup.py (#18235)
Uses implicit namespaces instead of explicit, as per https://peps.python.org/pep-0420/

Fixes a warning otherwise output during build.

Closes #18235

COPYBARA_INTEGRATE_REVIEW=https://github.com/protocolbuffers/protobuf/pull/18235 from tempoz:tempoz-fix-deprecated-use-of-namespace-packages 85067b6fa2
PiperOrigin-RevId: 700426731
2024-11-26 12:52:48 -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
Protobuf Team Bot
13cf397e1a upgrade test images to bazel 6.4
PiperOrigin-RevId: 673392132
2024-09-11 08:06:35 -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
Adam Cozzette
501ececd39 Reorganize upb file structure
This change moves almost everything in the `upb/` directory up one level, so
that for example `upb/upb/generated_code_support.h` becomes just
`upb/generated_code_support.h`. The only exceptions I made to this were that I
left `upb/cmake` and `upb/BUILD` where they are, mostly because that avoids
conflict with other files and the current locations seem reasonable for now.

The `python/` directory is a little bit of a challenge because we had to merge
the existing directory there with `upb/python/`. I made `upb/python/BUILD` into
the BUILD file for the merged directory, and it effectively loads the contents
of the other BUILD file via `python/build_targets.bzl`, but I plan to clean
this up soon.

PiperOrigin-RevId: 568651768
2023-09-26 14:38:35 -07:00
Renamed from upb/python/dist/setup.py (Browse further)