Project

General

Profile

Actions

Idea #11308

closed

Support Python3 for arvados-python-client & command line utilities

Added by Tom Morris about 7 years ago. Updated almost 7 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
SDKs
Target version:
Story points:
0.0

Description

Python 3 has been available for many years and the Python 2/3 migration is reaching its final stages. As a first step, Arvados Python SDK + command line needs to run on both Python 3 and Python 2.

run-tests.sh needs to run tests using both Python 2.7 and Python 3.4+

Dependencies must support Python 3. May require updating dependencies and related side effects (API/behavior changes).

Use "__future__" to adopt Python 3 behavior on Python 2.7:

from __future__ import division, absolute_import, print_function, unicode_literals

Clean up usage of strings to conform to Python 3 unicode/bytes distinction.

Existing Arvados Python packages including FUSE, Node manager, arvados-cwl-runner (+ its dependencies, e.g. cwltool), and crunchstat-summary must continue to work on Python 2.7 (they will be ported in future stories). Ideally this can be resolved without divergent behavior between Py2 and Py3, however if there is a conflict between Py2 and Py3 behavior it needs to be resolved in favor of maintaining compatibility with existing dependencies on Py2.

Packages should be published to PyPi advertising compatibility with both Py2+Py3 .

Will need to build and publish separate Py2 and Py3 deb/rpm packages (due to hard dependency on Python interpreter).


Subtasks 2 (0 open2 closed)

Task #11379: Review 11308-python3ResolvedTom Clegg03/21/2017Actions
Task #11418: pass tests with python3ResolvedTom Clegg03/21/2017Actions

Related issues

Related to Arvados - Idea #13306: arvados-cwl-runner supports Python 3ResolvedEric Biagiotti01/30/2019Actions
Related to Arvados - Idea #11419: [SDKs] support text-mode open() in Python 3ResolvedTom Clegg03/21/2017Actions
Related to Arvados - Bug #14326: Our custom-compiled `python-future` and `python3-future` packages can't be installed together and have precedenceResolvedWard VandewegeActions
Actions

Also available in: Atom PDF