Details
-
Improvement
-
Status: Triage Needed
-
P2
-
Resolution: Fixed
-
None
-
None
Description
FAQ
Does Apache Beam support Python 3?
- Yes!
Is there any remaining work?
- We continue to improve user experience of Python 3 users, add support for new Python minor versions, and phase out support of old ones.
Check out the Python SDK roadmap on how to contribute or report a Python 3 issue!
Which SDK version should I use?
- For best experience, use the latest released SDK. For summary of Py3-related changes, read this thread.
Help! I am getting a pickling error in StockUnpickler.find_class() on Python 3.
- Does the error happens in load_session call? See BEAM-6158 .
- Do you use Beam SDK less than 2.17.0? See
BEAM-8651.
My Avro Sink no longer works.
- Beam switched to use FastAvro as a default library on Python 3. The fastavro-based Avro sink expects schema as a dictionary, while the avro-python3-based Avro Sink expects a schema that was previously parsed by avro.schema.Parse(). Fastavro will not accept a schema parsed by avro-python3, so make sure you pass the correct schema. See:
BEAM-10769.
My streaming pipelines are stuck on Python 3.
- Do you use Beam SDK less than 2.17.0? If so please upgrade to 2.17.0. See
BEAM-8651.
Attachments
Issue Links
- duplicates
-
BEAM-1373 Update Python SDK code to support both Python 2 and 3
- Resolved
- incorporates
-
BEAM-4000 Futurize and fix python 2 compatibility for io subpackage
- Resolved
-
BEAM-4002 Futurize and fix python 2 compatibility for options subpackage
- Resolved
-
BEAM-4004 Futurize and fix python 2 compatibility for testing subpackage
- Resolved
-
BEAM-4005 Futurize and fix python 2 compatibility for tools subpackage
- Resolved
-
BEAM-4006 Futurize and fix python 2 compatibility for transforms subpackage
- Resolved
-
BEAM-4009 Futurize and fix python 2 compatibility for unpackaged files
- Resolved
-
BEAM-4511 Create a tox environment that uses Py3 interpreter for pre/post commit test suites, once codebase supports Py3.
- Resolved
-
BEAM-3381 Handle trivial inference with default arguments
- Open
-
BEAM-3730 typehints.TypeVariable issues with __hash__
- Open
-
BEAM-4229 PostCommits broken on SpannerReadIT tests
- Resolved
-
BEAM-1368 Python setup should be portable to Python 3.x
- Resolved
-
BEAM-3671 Need Python 3.x interpreter in Jenkins machines
- Resolved
-
BEAM-1373 Update Python SDK code to support both Python 2 and 3
- Resolved
-
BEAM-2784 Fix issues from automated conversion to allow Python 2 functionality
- Resolved
-
BEAM-2786 Update jenkins test scripts to test with Py2 & Py3
- Resolved
-
BEAM-3233 Fix Py3 list comprehension type inferance
- Resolved
-
BEAM-3761 Fix Python 3 cmp function
- Resolved
-
BEAM-4715 Have Beam tests running and passing on Python 3
- Resolved
-
BEAM-3380 Make type inference compatible with Python 3.6
- Open
-
BEAM-3781 Figure out min supported Python 3 version
- Open
- is a parent of
-
BEAM-4511 Create a tox environment that uses Py3 interpreter for pre/post commit test suites, once codebase supports Py3.
- Resolved
-
BEAM-6877 TypeHints Py3 Error: Type inference tests fail on Python 3.6 due to bytecode changes
- Resolved
-
BEAM-5720 Default coder breaks with large ints on Python 3
- Resolved
-
BEAM-5255 Fix over-aggressive division futurization.
- Resolved
-
BEAM-4543 Remove dependency on googledatastore in favor of google-cloud-datastore.
- Resolved
-
BEAM-6983 Python 3.6 Support
- Triage Needed
-
BEAM-6984 Python 3.7 Support
- Triage Needed
-
BEAM-8494 Python 3.8 Support
- Triage Needed
- is blocked by
-
BEAM-2784 Fix issues from automated conversion to allow Python 2 functionality
- Resolved
- is related to
-
BEAM-8441 Python 3 pipeline fails with errors in StockUnpickler.find_class() during loading a main session.
- Open
- links to