Reason for the change
The Python driver is outdated, and lagging behind.
Description
This PR covers the work of moving from Python 2 to Python 3, doing a major refactoring on the code and bumps to it support upcoming RethinkDB 2.5.0 features, shuch as:format.
Although a major refactoring was done as part of this PR, some features are still left to do. Beside lacking temporary features (like supportingdump,export, etc, which should live as a separate tool), this PR is not complete yet.
To see what's left, check the "Checklist" section.
Code examples
Calling the newformat command
>>>importrethinkdbasr>>>conn=r.connect()>>>r.format(r"Hello {name}, I can count to 1..2..{count}.", {r"name":"Bob","count":3, }).run(conn)'Hello Bob, I can count to 1..2..3.'Calling rethinkdb management commands
# Calling the dump command$ rethinkdb-dump# ... or ...$ rethinkdb dump# Calling the export command$ rethinkdb-export# ... or ...$ rethinkdbexport# Calling the import command$ rethinkdb-import# ... or ...$ rethinkdb import# Calling the index_rebuild command$ rethinkdb-index_rebuild# ... or ...$ rethinkdb index_rebuild# Calling the repl command$ rethinkdb-repl# ... or ...$ rethinkdb repl# Calling the restore command$ rethinkdb-restore# ... or ...$ rethinkdb restore
Checklist
References
ReQL Polyglot test results
test/rql_test/test-runner --interpreter py3.8 polyglot -j8/Users/gabor/Developer/rethinkdb/rethinkdb/test/rql_test/../common/utils.py:63: UserWarning: Supplied JRuby driver path (RUBY_DRIVER) was not valid: /Users/gabor/Developer/rethinkdb/rethinkdb/build/drivers/ruby/lib warnings.warn('Supplied %s driver path (%s) was not valid: %s' % (name, info['envName'], os.environ[info['envName']]))Using rethinkdb binary /Users/gabor/Developer/rethinkdb/rethinkdb/build/debug_clang/rethinkdbPython 3.8 interpreter: /Users/gabor/.pyenv/versions/rethinkdb-python/bin/python, driver: /Users/gabor/Developer/rethinkdb/rethinkdb-python/rethinkdb== Starting: polyglot/changefeeds/include_states.py3.8 (T+ 1.3 sec)== Starting: polyglot/aggregation.py3.8 (T+ 1.8 sec)== Starting: polyglot/changefeeds/point.py3.8 (T+ 2.8 sec)== Starting: polyglot/arity.py3.8 (T+ 4.7 sec)== Starting: polyglot/changefeeds/sindex.py3.8 (T+ 6.2 sec)== Passed: polyglot/changefeeds/include_states.py3.8 in 5.4 sec + 0.0 sec setup (T+ 7.4 sec)== Starting: polyglot/changefeeds/table.py3.8 (T+ 7.7 sec)== Starting: polyglot/changefeeds/edge.py3.8 (T+ 8.4 sec)== Starting: polyglot/changefeeds/idxcopy.py3.8 (T+ 12.4 sec)== Passed: polyglot/arity.py3.8 in 7.8 sec + 0.3 sec setup (T+ 14.3 sec)== Starting: polyglot/control.py3.8 (T+ 14.8 sec)== Passed: polyglot/changefeeds/point.py3.8 in 11.0 sec + 0.2 sec setup (T+ 15.5 sec)== Starting: polyglot/changefeeds/squash.py3.8 (T+ 15.6 sec)== Passed: polyglot/changefeeds/sindex.py3.8 in 8.4 sec + 0.3 sec setup (T+ 15.9 sec)== Starting: polyglot/datum/binary.py3.8 (T+ 16.4 sec)== Passed: polyglot/datum/binary.py3.8 in 0.8 sec + 0.8 sec setup (T+ 19.4 sec)== Starting: polyglot/datum/bool.py3.8 (T+ 19.5 sec)== Starting: polyglot/datum/array.py3.8 (T+ 20.8 sec)== Passed: polyglot/datum/bool.py3.8 in 0.2 sec + 0.6 sec setup (T+ 21.6 sec)== Starting: polyglot/datum/null.py3.8 (T+ 21.7 sec)== Passed: polyglot/datum/array.py3.8 in 0.3 sec + 0.9 sec setup (T+ 22.8 sec)== Starting: polyglot/datum/number.py3.8 (T+ 22.9 sec)== Passed: polyglot/datum/null.py3.8 in 0.3 sec + 0.4 sec setup (T+ 23.4 sec)== Starting: polyglot/datum/object.py3.8 (T+ 23.5 sec)== Passed: polyglot/datum/number.py3.8 in 0.4 sec + 0.7 sec setup (T+ 24.6 sec)== Starting: polyglot/datum/string.py3.8 (T+ 24.7 sec)== Passed: polyglot/datum/object.py3.8 in 0.1 sec + 0.6 sec setup (T+ 24.7 sec)== Starting: polyglot/datum/typeof.py3.8 (T+ 24.7 sec)== Passed: polyglot/datum/typeof.py3.8 in 0.5 sec + 0.7 sec setup (T+ 26.9 sec)== Passed: polyglot/datum/string.py3.8 in 0.2 sec + 1.1 sec setup (T+ 27.0 sec)== Starting: polyglot/default.py3.8 (T+ 27.0 sec)== Starting: polyglot/datum/uuid.py3.8 (T+ 27.0 sec)== Passed: polyglot/changefeeds/squash.py3.8 in 10.4 sec + 0.6 sec setup (T+ 27.9 sec)== Starting: polyglot/format.py3.8 (T+ 28.2 sec)== Passed: polyglot/datum/uuid.py3.8 in 0.1 sec + 0.8 sec setup (T+ 28.6 sec)== Starting: polyglot/geo/constructors.py3.8 (T+ 28.6 sec)== Passed: polyglot/changefeeds/idxcopy.py3.8 in 15.8 sec + 0.2 sec setup (T+ 29.2 sec)== Passed: polyglot/format.py3.8 in 0.1 sec + 0.2 sec setup (T+ 29.3 sec)== Starting: polyglot/geo/indexing.py3.8 (T+ 29.4 sec)== Starting: polyglot/geo/geojson.py3.8 (T+ 29.5 sec)== Passed: polyglot/geo/constructors.py3.8 in 0.6 sec + 0.2 sec setup (T+ 30.1 sec)== Starting: polyglot/geo/intersection_inclusion.py3.8 (T+ 30.2 sec)== Passed: polyglot/geo/geojson.py3.8 in 0.1 sec + 0.5 sec setup (T+ 31.0 sec)== Starting: polyglot/geo/operations.py3.8 (T+ 31.0 sec)== Passed: polyglot/geo/intersection_inclusion.py3.8 in 0.3 sec + 0.4 sec setup (T+ 31.7 sec)== Starting: polyglot/geo/primitives.py3.8 (T+ 31.7 sec)== Passed: polyglot/changefeeds/edge.py3.8 in 22.9 sec + 0.3 sec setup (T+ 32.3 sec)== Passed: polyglot/geo/operations.py3.8 in 0.4 sec + 0.2 sec setup (T+ 32.5 sec)== Starting: polyglot/json.py3.8 (T+ 32.6 sec)== Starting: polyglot/joins.py3.8 (T+ 32.6 sec)== Passed: polyglot/geo/primitives.py3.8 in 0.4 sec + 0.3 sec setup (T+ 33.5 sec)== Starting: polyglot/limits.py3.8 (T+ 33.5 sec)== Passed: polyglot/json.py3.8 in 0.4 sec + 0.5 sec setup (T+ 34.2 sec)== Starting: polyglot/match.py3.8 (T+ 34.2 sec)== Passed: polyglot/default.py3.8 in 6.5 sec + 1.0 sec setup (T+ 35.1 sec)== Starting: polyglot/math_logic/add.py3.8 (T+ 35.1 sec)== Passed: polyglot/math_logic/add.py3.8 in 0.4 sec + 0.9 sec setup (T+ 38.3 sec)== Starting: polyglot/math_logic/aliases.py3.8 (T+ 38.4 sec)== Passed: polyglot/math_logic/aliases.py3.8 in 0.2 sec + 1.9 sec setup (T+ 42.4 sec)== Starting: polyglot/math_logic/bit.py3.8 (T+ 42.4 sec)== Passed: polyglot/math_logic/bit.py3.8 in 0.2 sec + 0.4 sec setup (T+ 43.4 sec)== Starting: polyglot/math_logic/comparison.py3.8 (T+ 43.5 sec)== Passed: polyglot/changefeeds/table.py3.8 in 35.4 sec + 0.4 sec setup (T+ 44.3 sec)== Starting: polyglot/math_logic/div.py3.8 (T+ 45.0 sec)== Passed: polyglot/math_logic/comparison.py3.8 in 0.4 sec + 0.2 sec setup (T+ 45.4 sec)== Starting: polyglot/math_logic/floor_ceil_round.py3.8 (T+ 45.5 sec)== Passed: polyglot/math_logic/div.py3.8 in 0.4 sec + 0.6 sec setup (T+ 46.8 sec)== Passed: polyglot/math_logic/floor_ceil_round.py3.8 in 0.4 sec + 0.2 sec setup (T+ 46.8 sec)== Starting: polyglot/math_logic/logic.py3.8 (T+ 46.8 sec)== Starting: polyglot/math_logic/math.py3.8 (T+ 46.9 sec)== Passed: polyglot/match.py3.8 in 12.3 sec + 0.3 sec setup (T+ 47.6 sec)== Passed: polyglot/math_logic/logic.py3.8 in 0.3 sec + 0.2 sec setup (T+ 47.8 sec)== Starting: polyglot/math_logic/mul.py3.8 (T+ 47.8 sec)== Starting: polyglot/math_logic/mod.py3.8 (T+ 47.9 sec)== Passed: polyglot/math_logic/math.py3.8 in 0.3 sec + 0.4 sec setup (T+ 48.3 sec)== Starting: polyglot/math_logic/sub.py3.8 (T+ 48.3 sec)== Passed: polyglot/control.py3.8 in 32.0 sec + 0.7 sec setup (T+ 48.3 sec)== Passed: polyglot/math_logic/mul.py3.8 in 0.3 sec + 0.4 sec setup (T+ 49.1 sec)== Starting: polyglot/meta/dbs.py3.8 (T+ 49.2 sec)== Starting: polyglot/meta/composite.py3.8 (T+ 49.2 sec)== Passed: polyglot/math_logic/sub.py3.8 in 0.1 sec + 0.2 sec setup (T+ 49.2 sec)== Starting: polyglot/meta/grant.py3.8 (T+ 49.2 sec)== Passed: polyglot/math_logic/mod.py3.8 in 0.4 sec + 0.4 sec setup (T+ 49.4 sec)== Starting: polyglot/meta/table.py3.8 (T+ 49.5 sec)== Passed: polyglot/geo/indexing.py3.8 in 19.2 sec + 0.3 sec setup (T+ 50.1 sec)== Passed: polyglot/limits.py3.8 in 15.0 sec + 0.3 sec setup (T+ 50.2 sec)== Starting: polyglot/mutation/delete.py3.8 (T+ 50.5 sec)== Starting: polyglot/mutation/atomic_get_set.py3.8 (T+ 50.8 sec)== Passed: polyglot/meta/dbs.py3.8 in 0.3 sec + 0.7 sec setup (T+ 51.5 sec)== Starting: polyglot/mutation/insert.py3.8 (T+ 51.5 sec)== Passed: polyglot/meta/grant.py3.8 in 10.0 sec + 0.8 sec setup (T+ 61.5 sec)== Starting: polyglot/mutation/replace.py3.8 (T+ 62.2 sec)== Passed: polyglot/mutation/delete.py3.8 in 11.6 sec + 0.6 sec setup (T+ 63.6 sec)== Starting: polyglot/mutation/sync.py3.8 (T+ 64.3 sec)== Passed: polyglot/mutation/atomic_get_set.py3.8 in 19.9 sec + 0.6 sec setup (T+ 73.7 sec)== Starting: polyglot/mutation/update.py3.8 (T+ 74.5 sec)== Passed: polyglot/mutation/replace.py3.8 in 15.6 sec + 0.2 sec setup (T+ 80.0 sec)== Starting: polyglot/mutation/write_hook.py3.8 (T+ 81.0 sec)== Passed: polyglot/mutation/sync.py3.8 in 33.2 sec + 0.9 sec setup (T+ 100.2 sec)== Starting: polyglot/polymorphism.py3.8 (T+ 100.3 sec)== Passed: polyglot/mutation/write_hook.py3.8 in 19.1 sec + 1.7 sec setup (T+ 103.0 sec)== Starting: polyglot/random.py3.8 (T+ 103.3 sec)== Passed: polyglot/mutation/update.py3.8 in 27.7 sec + 0.6 sec setup (T+ 104.5 sec)== Passed: polyglot/random.py3.8 in 0.4 sec + 0.9 sec setup (T+ 105.2 sec)== Starting: polyglot/regression/1001.py3.8 (T+ 105.2 sec)== Starting: polyglot/range.py3.8 (T+ 105.2 sec)== Passed: polyglot/range.py3.8 in 0.2 sec + 0.3 sec setup (T+ 106.4 sec)== Starting: polyglot/regression/1005.py3.8 (T+ 106.5 sec)== Passed: polyglot/regression/1005.py3.8 in 0.2 sec + 0.5 sec setup (T+ 108.2 sec)== Starting: polyglot/regression/1023.py3.8 (T+ 108.3 sec)== Passed: polyglot/polymorphism.py3.8 in 7.5 sec + 1.3 sec setup (T+ 110.1 sec)== Starting: polyglot/regression/1081.py3.8 (T+ 110.6 sec)== Passed: polyglot/regression/1081.py3.8 in 0.1 sec + 0.4 sec setup (T+ 111.8 sec)== Starting: polyglot/regression/1132.py3.8 (T+ 111.8 sec)== Passed: polyglot/regression/1132.py3.8 in 0.1 sec + 0.7 sec setup (T+ 113.6 sec)== Starting: polyglot/regression/1133.py3.8 (T+ 113.6 sec)== Passed: polyglot/regression/1133.py3.8 in 0.2 sec + 0.2 sec setup (T+ 114.9 sec)== Starting: polyglot/regression/1155.py3.8 (T+ 114.9 sec)== Passed: polyglot/regression/1023.py3.8 in 8.4 sec + 0.5 sec setup (T+ 118.4 sec)== Passed: polyglot/regression/1001.py3.8 in 11.7 sec + 0.3 sec setup (T+ 118.5 sec)== Starting: polyglot/regression/1179.py3.8 (T+ 118.7 sec)== Starting: polyglot/regression/1468.py3.8 (T+ 118.9 sec)== Passed: polyglot/aggregation.py3.8 in 118.4 sec + 0.1 sec setup (T+ 121.0 sec)== Starting: polyglot/regression/1789.py3.8 (T+ 122.6 sec)== Passed: polyglot/regression/1155.py3.8 in 7.7 sec + 0.3 sec setup (T+ 124.1 sec)== Starting: polyglot/regression/2052.py3.8 (T+ 124.4 sec)== Passed: polyglot/regression/2052.py3.8 in 0.3 sec + 0.7 sec setup (T+ 127.0 sec)== Starting: polyglot/regression/2696.py3.8 (T+ 127.1 sec)== Passed: polyglot/regression/1468.py3.8 in 7.6 sec + 0.6 sec setup (T+ 127.8 sec)== Passed: polyglot/regression/1179.py3.8 in 7.9 sec + 0.5 sec setup (T+ 127.9 sec)== Starting: polyglot/regression/2709.py3.8 (T+ 128.4 sec)== Starting: polyglot/regression/2697.py3.8 (T+ 128.5 sec)== Passed: polyglot/regression/2696.py3.8 in 0.2 sec + 0.2 sec setup (T+ 129.4 sec)== Starting: polyglot/regression/2710.py3.8 (T+ 129.5 sec)== Passed: polyglot/regression/2710.py3.8 in 0.3 sec + 0.2 sec setup (T+ 130.8 sec)== Starting: polyglot/regression/2766.py3.8 (T+ 130.8 sec)== Passed: polyglot/regression/2766.py3.8 in 0.4 sec + 0.7 sec setup (T+ 133.1 sec)== Starting: polyglot/regression/2767.py3.8 (T+ 133.1 sec)== Passed: polyglot/regression/1789.py3.8 in 8.8 sec + 0.6 sec setup (T+ 133.2 sec)== Passed: polyglot/meta/composite.py3.8 in 82.4 sec + 0.6 sec setup (T+ 133.4 sec)== Starting: polyglot/regression/2838.py3.8 (T+ 133.4 sec)== Starting: polyglot/regression/2774.py3.8 (T+ 133.8 sec)== Passed: polyglot/regression/2697.py3.8 in 11.9 sec + 1.1 sec setup (T+ 142.5 sec)== Starting: polyglot/regression/2930.py3.8 (T+ 143.1 sec)== Passed: polyglot/regression/2767.py3.8 in 11.8 sec + 0.8 sec setup (T+ 147.0 sec)== Starting: polyglot/regression/3057.py3.8 (T+ 147.9 sec)== Passed: polyglot/regression/3057.py3.8 in 0.4 sec + 1.4 sec setup (T+ 151.0 sec)== Starting: polyglot/regression/3059.py3.8 (T+ 151.1 sec)== Passed: polyglot/regression/3059.py3.8 in 0.2 sec + 0.6 sec setup (T+ 152.8 sec)== Starting: polyglot/regression/309.py3.8 (T+ 152.8 sec)== Passed: polyglot/regression/2774.py3.8 in 17.4 sec + 0.8 sec setup (T+ 153.3 sec)== Starting: polyglot/regression/3444.py3.8 (T+ 153.7 sec)== Passed: polyglot/mutation/insert.py3.8 in 105.4 sec + 0.4 sec setup (T+ 159.0 sec)== Starting: polyglot/regression/354.py3.8 (T+ 159.7 sec)== Passed: polyglot/regression/354.py3.8 in 0.2 sec + 0.3 sec setup (T+ 160.9 sec)== Starting: polyglot/regression/3637.py3.8 (T+ 160.9 sec)== Passed: polyglot/regression/3444.py3.8 in 7.6 sec + 0.2 sec setup (T+ 162.0 sec)== Starting: polyglot/regression/370.py3.8 (T+ 162.5 sec)== Passed: polyglot/regression/309.py3.8 in 8.5 sec + 0.5 sec setup (T+ 162.6 sec)== Starting: polyglot/regression/3745.py3.8 (T+ 163.1 sec)== Passed: polyglot/regression/2838.py3.8 in 36.1 sec + 1.2 sec setup (T+ 171.5 sec)== Starting: polyglot/regression/3759.py3.8 (T+ 172.1 sec)== Passed: polyglot/regression/3637.py3.8 in 10.8 sec + 0.2 sec setup (T+ 172.5 sec)== Starting: polyglot/regression/4030.py3.8 (T+ 172.8 sec)== Passed: polyglot/regression/2709.py3.8 in 43.3 sec + 0.9 sec setup (T+ 173.2 sec)== Starting: polyglot/regression/4132.py3.8 (T+ 173.5 sec)== Passed: polyglot/regression/3745.py3.8 in 9.1 sec + 0.6 sec setup (T+ 173.6 sec)== Starting: polyglot/regression/4146.py3.8 (T+ 174.0 sec)== Passed: polyglot/regression/370.py3.8 in 11.1 sec + 0.4 sec setup (T+ 174.7 sec)== Starting: polyglot/regression/4431.py3.8 (T+ 174.7 sec)== Passed: polyglot/regression/4431.py3.8 in 0.2 sec + 0.3 sec setup (T+ 175.9 sec)== Starting: polyglot/regression/4462.py3.8 (T+ 176.0 sec)== Passed: polyglot/regression/3759.py3.8 in 5.8 sec + 0.4 sec setup (T+ 178.7 sec)== Starting: polyglot/regression/4465.py3.8 (T+ 179.1 sec)== Passed: polyglot/regression/4030.py3.8 in 7.0 sec + 0.2 sec setup (T+ 180.4 sec)== Passed: polyglot/regression/4146.py3.8 in 5.9 sec + 0.2 sec setup (T+ 180.6 sec)== Passed: polyglot/regression/4132.py3.8 in 6.3 sec + 0.4 sec setup (T+ 180.6 sec)== Starting: polyglot/regression/4501.py3.8 (T+ 180.6 sec)== Starting: polyglot/regression/453.py3.8 (T+ 180.9 sec)== Starting: polyglot/regression/4582.py3.8 (T+ 181.0 sec)== Passed: polyglot/joins.py3.8 in 148.8 sec + 0.5 sec setup (T+ 182.7 sec)== Passed: polyglot/regression/4462.py3.8 in 6.1 sec + 0.3 sec setup (T+ 183.7 sec)== Starting: polyglot/regression/46.py3.8 (T+ 184.0 sec)== Starting: polyglot/regression/4591.py3.8 (T+ 185.7 sec)== Passed: polyglot/regression/4465.py3.8 in 6.5 sec + 0.6 sec setup (T+ 187.3 sec)== Starting: polyglot/regression/469.py3.8 (T+ 187.3 sec)== Passed: polyglot/regression/4591.py3.8 in 0.4 sec + 1.0 sec setup (T+ 188.1 sec)== Starting: polyglot/regression/4729.py3.8 (T+ 188.1 sec)== Passed: polyglot/regression/4501.py3.8 in 7.8 sec + 0.4 sec setup (T+ 189.9 sec)== Starting: polyglot/regression/522.py3.8 (T+ 190.4 sec)== Passed: polyglot/regression/4582.py3.8 in 8.9 sec + 0.2 sec setup (T+ 191.0 sec)== Passed: polyglot/regression/453.py3.8 in 9.3 sec + 0.4 sec setup (T+ 191.2 sec)== Starting: polyglot/regression/5222.py3.8 (T+ 191.3 sec)== Starting: polyglot/regression/5241.py3.8 (T+ 191.6 sec)== Passed: polyglot/regression/46.py3.8 in 7.2 sec + 1.1 sec setup (T+ 193.4 sec)== Starting: polyglot/regression/5438.py3.8 (T+ 193.4 sec)== Passed: polyglot/regression/4729.py3.8 in 11.2 sec + 0.9 sec setup (T+ 200.9 sec)== Passed: polyglot/regression/522.py3.8 in 9.6 sec + 0.4 sec setup (T+ 201.1 sec)== Starting: polyglot/regression/545.py3.8 (T+ 201.2 sec)== Passed: polyglot/regression/469.py3.8 in 13.0 sec + 0.3 sec setup (T+ 201.3 sec)== Starting: polyglot/regression/5481.py3.8 (T+ 201.3 sec)== Starting: polyglot/regression/546.py3.8 (T+ 201.8 sec)== Passed: polyglot/regression/546.py3.8 in 0.1 sec + 0.4 sec setup (T+ 203.2 sec)== Starting: polyglot/regression/5542.py3.8 (T+ 203.2 sec)== Passed: polyglot/regression/5241.py3.8 in 11.8 sec + 0.7 sec setup (T+ 204.9 sec)== Starting: polyglot/regression/568.py3.8 (T+ 205.2 sec)== Passed: polyglot/regression/5438.py3.8 in 10.4 sec + 1.0 sec setup (T+ 205.8 sec)== Starting: polyglot/regression/578.py3.8 (T+ 206.2 sec)== Passed: polyglot/regression/545.py3.8 in 9.6 sec + 0.9 sec setup (T+ 212.9 sec)== Starting: polyglot/regression/579.py3.8 (T+ 213.4 sec)== Passed: polyglot/regression/5542.py3.8 in 10.1 sec + 0.3 sec setup (T+ 214.2 sec)== Passed: polyglot/regression/5481.py3.8 in 11.5 sec + 0.9 sec setup (T+ 214.3 sec)== Starting: polyglot/regression/6108.py3.8 (T+ 214.5 sec)== Starting: polyglot/regression/619.py3.8 (T+ 214.7 sec)== Passed: polyglot/regression/6108.py3.8 in 0.3 sec + 0.7 sec setup (T+ 216.0 sec)== Passed: polyglot/regression/619.py3.8 in 0.1 sec + 0.6 sec setup (T+ 216.0 sec)== Starting: polyglot/regression/6191.py3.8 (T+ 216.0 sec)== Starting: polyglot/regression/665.py3.8 (T+ 216.0 sec)== Passed: polyglot/regression/568.py3.8 in 9.6 sec + 1.0 sec setup (T+ 217.3 sec)== Starting: polyglot/regression/678.py3.8 (T+ 217.7 sec)== Passed: polyglot/regression/5222.py3.8 in 24.2 sec + 1.1 sec setup (T+ 217.8 sec)== Passed: polyglot/regression/6191.py3.8 in 0.4 sec + 0.6 sec setup (T+ 217.9 sec)== Starting: polyglot/regression/730.py3.8 (T+ 217.9 sec)== Starting: polyglot/regression/718.py3.8 (T+ 218.1 sec)== Passed: polyglot/regression/578.py3.8 in 11.6 sec + 0.6 sec setup (T+ 219.1 sec)== Passed: polyglot/regression/730.py3.8 in 0.2 sec + 0.3 sec setup (T+ 219.1 sec)== Starting: polyglot/regression/767.py3.8 (T+ 219.1 sec)== Starting: polyglot/regression/757.py3.8 (T+ 220.2 sec)== Passed: polyglot/regression/767.py3.8 in 0.4 sec + 0.4 sec setup (T+ 221.0 sec)== Starting: polyglot/regression/831.py3.8 (T+ 221.1 sec)== Passed: polyglot/regression/579.py3.8 in 6.9 sec + 0.4 sec setup (T+ 221.7 sec)== Passed: polyglot/regression/757.py3.8 in 0.3 sec + 0.5 sec setup (T+ 222.4 sec)== Starting: polyglot/sindex/api.py3.8 (T+ 222.4 sec)== Starting: polyglot/selection.py3.8 (T+ 222.4 sec)== Passed: polyglot/regression/665.py3.8 in 8.7 sec + 0.9 sec setup (T+ 226.9 sec)== Starting: polyglot/sindex/nullsinstrings.py3.8 (T+ 227.0 sec)== Passed: polyglot/meta/table.py3.8 in 176.6 sec + 0.5 sec setup (T+ 227.9 sec)== Passed: polyglot/regression/678.py3.8 in 8.2 sec + 0.6 sec setup (T+ 227.9 sec)== Starting: polyglot/sindex/status.py3.8 (T+ 227.9 sec)== Passed: polyglot/regression/718.py3.8 in 8.1 sec + 0.5 sec setup (T+ 228.1 sec)== Starting: polyglot/timeout.py3.8 (T+ 228.5 sec)== Starting: polyglot/times/api.py3.8 (T+ 228.9 sec)== Passed: polyglot/regression/831.py3.8 in 7.4 sec + 0.8 sec setup (T+ 229.8 sec)== Passed: polyglot/times/api.py3.8 in 0.2 sec + 0.4 sec setup (T+ 230.0 sec)== Starting: polyglot/times/index.py3.8 (T+ 230.0 sec)== Starting: polyglot/times/constructors.py3.8 (T+ 230.1 sec)== Passed: polyglot/times/constructors.py3.8 in 0.3 sec + 0.4 sec setup (T+ 231.4 sec)== Starting: polyglot/times/portions.py3.8 (T+ 231.5 sec)== Passed: polyglot/times/portions.py3.8 in 0.3 sec + 0.3 sec setup (T+ 232.6 sec)== Starting: polyglot/times/shim.py3.8 (T+ 232.7 sec)== Passed: polyglot/times/shim.py3.8 in 0.2 sec + 0.3 sec setup (T+ 234.0 sec)== Starting: polyglot/times/time_arith.py3.8 (T+ 234.1 sec)== Passed: polyglot/times/time_arith.py3.8 in 0.2 sec + 0.3 sec setup (T+ 235.1 sec)== Starting: polyglot/times/timezones.py3.8 (T+ 235.1 sec)== Passed: polyglot/times/timezones.py3.8 in 0.1 sec + 0.4 sec setup (T+ 236.2 sec)== Starting: polyglot/transform/array.py3.8 (T+ 236.2 sec)== Passed: polyglot/sindex/nullsinstrings.py3.8 in 8.4 sec + 0.6 sec setup (T+ 236.7 sec)== Passed: polyglot/transform/array.py3.8 in 0.2 sec + 0.2 sec setup (T+ 237.0 sec)== Starting: polyglot/transform/map.py3.8 (T+ 237.0 sec)== Starting: polyglot/transform/fold.py3.8 (T+ 237.1 sec)== Passed: polyglot/transform/map.py3.8 in 0.2 sec + 0.2 sec setup (T+ 238.1 sec)== Starting: polyglot/transform/object.py3.8 (T+ 238.1 sec)== Passed: polyglot/transform/object.py3.8 in 0.2 sec + 0.2 sec setup (T+ 238.9 sec)== Starting: polyglot/transform/table.py3.8 (T+ 238.9 sec)== Passed: polyglot/times/index.py3.8 in 11.6 sec + 0.4 sec setup (T+ 242.6 sec)== Starting: polyglot/transform/unordered_map.py3.8 (T+ 242.9 sec)== Passed: polyglot/transform/table.py3.8 in 4.4 sec + 0.2 sec setup (T+ 244.0 sec)== Starting: polyglot/transformation.py3.8 (T+ 244.3 sec)== Passed: polyglot/selection.py3.8 in 24.2 sec + 0.8 sec setup (T+ 248.1 sec)== Passed: polyglot/transform/fold.py3.8 in 13.7 sec + 0.2 sec setup (T+ 251.3 sec)== Passed: polyglot/regression/2930.py3.8 in 112.2 sec + 0.7 sec setup (T+ 256.6 sec)== Passed: polyglot/timeout.py3.8 in 29.6 sec + 0.8 sec setup (T+ 259.2 sec)== Passed: polyglot/transform/unordered_map.py3.8 in 16.2 sec + 0.3 sec setup (T+ 259.8 sec)== Passed: polyglot/transformation.py3.8 in 20.3 sec + 0.3 sec setup (T+ 265.2 sec)== Passed: polyglot/sindex/api.py3.8 in 51.2 sec + 1.5 sec setup (T+ 275.4 sec)== Passed: polyglot/sindex/status.py3.8 in 160.8 sec + 0.5 sec setup (T+ 389.4 sec)== Successfully passed all 138 tests in 389.75 seconds!
Do you want to help?
Great! Fix an issue, add unit tests, add more docs, help with integration tests, help porting a net module or a command1 and open a PR againstthis branch, so we can keep the effort focused.
Uh oh!
There was an error while loading.Please reload this page.
Reason for the change
The Python driver is outdated, and lagging behind.
Description
This PR covers the work of moving from Python 2 to Python 3, doing a major refactoring on the code and bumps to it support upcoming RethinkDB 2.5.0 features, shuch as:
format.Although a major refactoring was done as part of this PR, some features are still left to do. Beside lacking temporary features (like supporting
dump,export, etc, which should live as a separate tool), this PR is not complete yet.To see what's left, check the "Checklist" section.
Code examples
Calling the new
formatcommandCalling rethinkdb management commands
Checklist
asyncio_netgevent_nettornado_nettrio_nettwisted_netRegeneratedocs.pydumpcommandsexportcommandsimportcommandsindex_rebuildcommandsrestorecommandsCHANGELOG.rstand extend itReferences
ReQL Polyglot test results
test/rql_test/test-runner --interpreter py3.8 polyglot -j8/Users/gabor/Developer/rethinkdb/rethinkdb/test/rql_test/../common/utils.py:63: UserWarning: Supplied JRuby driver path (RUBY_DRIVER) was not valid: /Users/gabor/Developer/rethinkdb/rethinkdb/build/drivers/ruby/lib warnings.warn('Supplied %s driver path (%s) was not valid: %s' % (name, info['envName'], os.environ[info['envName']]))Using rethinkdb binary /Users/gabor/Developer/rethinkdb/rethinkdb/build/debug_clang/rethinkdbPython 3.8 interpreter: /Users/gabor/.pyenv/versions/rethinkdb-python/bin/python, driver: /Users/gabor/Developer/rethinkdb/rethinkdb-python/rethinkdb== Starting: polyglot/changefeeds/include_states.py3.8 (T+ 1.3 sec)== Starting: polyglot/aggregation.py3.8 (T+ 1.8 sec)== Starting: polyglot/changefeeds/point.py3.8 (T+ 2.8 sec)== Starting: polyglot/arity.py3.8 (T+ 4.7 sec)== Starting: polyglot/changefeeds/sindex.py3.8 (T+ 6.2 sec)== Passed: polyglot/changefeeds/include_states.py3.8 in 5.4 sec + 0.0 sec setup (T+ 7.4 sec)== Starting: polyglot/changefeeds/table.py3.8 (T+ 7.7 sec)== Starting: polyglot/changefeeds/edge.py3.8 (T+ 8.4 sec)== Starting: polyglot/changefeeds/idxcopy.py3.8 (T+ 12.4 sec)== Passed: polyglot/arity.py3.8 in 7.8 sec + 0.3 sec setup (T+ 14.3 sec)== Starting: polyglot/control.py3.8 (T+ 14.8 sec)== Passed: polyglot/changefeeds/point.py3.8 in 11.0 sec + 0.2 sec setup (T+ 15.5 sec)== Starting: polyglot/changefeeds/squash.py3.8 (T+ 15.6 sec)== Passed: polyglot/changefeeds/sindex.py3.8 in 8.4 sec + 0.3 sec setup (T+ 15.9 sec)== Starting: polyglot/datum/binary.py3.8 (T+ 16.4 sec)== Passed: polyglot/datum/binary.py3.8 in 0.8 sec + 0.8 sec setup (T+ 19.4 sec)== Starting: polyglot/datum/bool.py3.8 (T+ 19.5 sec)== Starting: polyglot/datum/array.py3.8 (T+ 20.8 sec)== Passed: polyglot/datum/bool.py3.8 in 0.2 sec + 0.6 sec setup (T+ 21.6 sec)== Starting: polyglot/datum/null.py3.8 (T+ 21.7 sec)== Passed: polyglot/datum/array.py3.8 in 0.3 sec + 0.9 sec setup (T+ 22.8 sec)== Starting: polyglot/datum/number.py3.8 (T+ 22.9 sec)== Passed: polyglot/datum/null.py3.8 in 0.3 sec + 0.4 sec setup (T+ 23.4 sec)== Starting: polyglot/datum/object.py3.8 (T+ 23.5 sec)== Passed: polyglot/datum/number.py3.8 in 0.4 sec + 0.7 sec setup (T+ 24.6 sec)== Starting: polyglot/datum/string.py3.8 (T+ 24.7 sec)== Passed: polyglot/datum/object.py3.8 in 0.1 sec + 0.6 sec setup (T+ 24.7 sec)== Starting: polyglot/datum/typeof.py3.8 (T+ 24.7 sec)== Passed: polyglot/datum/typeof.py3.8 in 0.5 sec + 0.7 sec setup (T+ 26.9 sec)== Passed: polyglot/datum/string.py3.8 in 0.2 sec + 1.1 sec setup (T+ 27.0 sec)== Starting: polyglot/default.py3.8 (T+ 27.0 sec)== Starting: polyglot/datum/uuid.py3.8 (T+ 27.0 sec)== Passed: polyglot/changefeeds/squash.py3.8 in 10.4 sec + 0.6 sec setup (T+ 27.9 sec)== Starting: polyglot/format.py3.8 (T+ 28.2 sec)== Passed: polyglot/datum/uuid.py3.8 in 0.1 sec + 0.8 sec setup (T+ 28.6 sec)== Starting: polyglot/geo/constructors.py3.8 (T+ 28.6 sec)== Passed: polyglot/changefeeds/idxcopy.py3.8 in 15.8 sec + 0.2 sec setup (T+ 29.2 sec)== Passed: polyglot/format.py3.8 in 0.1 sec + 0.2 sec setup (T+ 29.3 sec)== Starting: polyglot/geo/indexing.py3.8 (T+ 29.4 sec)== Starting: polyglot/geo/geojson.py3.8 (T+ 29.5 sec)== Passed: polyglot/geo/constructors.py3.8 in 0.6 sec + 0.2 sec setup (T+ 30.1 sec)== Starting: polyglot/geo/intersection_inclusion.py3.8 (T+ 30.2 sec)== Passed: polyglot/geo/geojson.py3.8 in 0.1 sec + 0.5 sec setup (T+ 31.0 sec)== Starting: polyglot/geo/operations.py3.8 (T+ 31.0 sec)== Passed: polyglot/geo/intersection_inclusion.py3.8 in 0.3 sec + 0.4 sec setup (T+ 31.7 sec)== Starting: polyglot/geo/primitives.py3.8 (T+ 31.7 sec)== Passed: polyglot/changefeeds/edge.py3.8 in 22.9 sec + 0.3 sec setup (T+ 32.3 sec)== Passed: polyglot/geo/operations.py3.8 in 0.4 sec + 0.2 sec setup (T+ 32.5 sec)== Starting: polyglot/json.py3.8 (T+ 32.6 sec)== Starting: polyglot/joins.py3.8 (T+ 32.6 sec)== Passed: polyglot/geo/primitives.py3.8 in 0.4 sec + 0.3 sec setup (T+ 33.5 sec)== Starting: polyglot/limits.py3.8 (T+ 33.5 sec)== Passed: polyglot/json.py3.8 in 0.4 sec + 0.5 sec setup (T+ 34.2 sec)== Starting: polyglot/match.py3.8 (T+ 34.2 sec)== Passed: polyglot/default.py3.8 in 6.5 sec + 1.0 sec setup (T+ 35.1 sec)== Starting: polyglot/math_logic/add.py3.8 (T+ 35.1 sec)== Passed: polyglot/math_logic/add.py3.8 in 0.4 sec + 0.9 sec setup (T+ 38.3 sec)== Starting: polyglot/math_logic/aliases.py3.8 (T+ 38.4 sec)== Passed: polyglot/math_logic/aliases.py3.8 in 0.2 sec + 1.9 sec setup (T+ 42.4 sec)== Starting: polyglot/math_logic/bit.py3.8 (T+ 42.4 sec)== Passed: polyglot/math_logic/bit.py3.8 in 0.2 sec + 0.4 sec setup (T+ 43.4 sec)== Starting: polyglot/math_logic/comparison.py3.8 (T+ 43.5 sec)== Passed: polyglot/changefeeds/table.py3.8 in 35.4 sec + 0.4 sec setup (T+ 44.3 sec)== Starting: polyglot/math_logic/div.py3.8 (T+ 45.0 sec)== Passed: polyglot/math_logic/comparison.py3.8 in 0.4 sec + 0.2 sec setup (T+ 45.4 sec)== Starting: polyglot/math_logic/floor_ceil_round.py3.8 (T+ 45.5 sec)== Passed: polyglot/math_logic/div.py3.8 in 0.4 sec + 0.6 sec setup (T+ 46.8 sec)== Passed: polyglot/math_logic/floor_ceil_round.py3.8 in 0.4 sec + 0.2 sec setup (T+ 46.8 sec)== Starting: polyglot/math_logic/logic.py3.8 (T+ 46.8 sec)== Starting: polyglot/math_logic/math.py3.8 (T+ 46.9 sec)== Passed: polyglot/match.py3.8 in 12.3 sec + 0.3 sec setup (T+ 47.6 sec)== Passed: polyglot/math_logic/logic.py3.8 in 0.3 sec + 0.2 sec setup (T+ 47.8 sec)== Starting: polyglot/math_logic/mul.py3.8 (T+ 47.8 sec)== Starting: polyglot/math_logic/mod.py3.8 (T+ 47.9 sec)== Passed: polyglot/math_logic/math.py3.8 in 0.3 sec + 0.4 sec setup (T+ 48.3 sec)== Starting: polyglot/math_logic/sub.py3.8 (T+ 48.3 sec)== Passed: polyglot/control.py3.8 in 32.0 sec + 0.7 sec setup (T+ 48.3 sec)== Passed: polyglot/math_logic/mul.py3.8 in 0.3 sec + 0.4 sec setup (T+ 49.1 sec)== Starting: polyglot/meta/dbs.py3.8 (T+ 49.2 sec)== Starting: polyglot/meta/composite.py3.8 (T+ 49.2 sec)== Passed: polyglot/math_logic/sub.py3.8 in 0.1 sec + 0.2 sec setup (T+ 49.2 sec)== Starting: polyglot/meta/grant.py3.8 (T+ 49.2 sec)== Passed: polyglot/math_logic/mod.py3.8 in 0.4 sec + 0.4 sec setup (T+ 49.4 sec)== Starting: polyglot/meta/table.py3.8 (T+ 49.5 sec)== Passed: polyglot/geo/indexing.py3.8 in 19.2 sec + 0.3 sec setup (T+ 50.1 sec)== Passed: polyglot/limits.py3.8 in 15.0 sec + 0.3 sec setup (T+ 50.2 sec)== Starting: polyglot/mutation/delete.py3.8 (T+ 50.5 sec)== Starting: polyglot/mutation/atomic_get_set.py3.8 (T+ 50.8 sec)== Passed: polyglot/meta/dbs.py3.8 in 0.3 sec + 0.7 sec setup (T+ 51.5 sec)== Starting: polyglot/mutation/insert.py3.8 (T+ 51.5 sec)== Passed: polyglot/meta/grant.py3.8 in 10.0 sec + 0.8 sec setup (T+ 61.5 sec)== Starting: polyglot/mutation/replace.py3.8 (T+ 62.2 sec)== Passed: polyglot/mutation/delete.py3.8 in 11.6 sec + 0.6 sec setup (T+ 63.6 sec)== Starting: polyglot/mutation/sync.py3.8 (T+ 64.3 sec)== Passed: polyglot/mutation/atomic_get_set.py3.8 in 19.9 sec + 0.6 sec setup (T+ 73.7 sec)== Starting: polyglot/mutation/update.py3.8 (T+ 74.5 sec)== Passed: polyglot/mutation/replace.py3.8 in 15.6 sec + 0.2 sec setup (T+ 80.0 sec)== Starting: polyglot/mutation/write_hook.py3.8 (T+ 81.0 sec)== Passed: polyglot/mutation/sync.py3.8 in 33.2 sec + 0.9 sec setup (T+ 100.2 sec)== Starting: polyglot/polymorphism.py3.8 (T+ 100.3 sec)== Passed: polyglot/mutation/write_hook.py3.8 in 19.1 sec + 1.7 sec setup (T+ 103.0 sec)== Starting: polyglot/random.py3.8 (T+ 103.3 sec)== Passed: polyglot/mutation/update.py3.8 in 27.7 sec + 0.6 sec setup (T+ 104.5 sec)== Passed: polyglot/random.py3.8 in 0.4 sec + 0.9 sec setup (T+ 105.2 sec)== Starting: polyglot/regression/1001.py3.8 (T+ 105.2 sec)== Starting: polyglot/range.py3.8 (T+ 105.2 sec)== Passed: polyglot/range.py3.8 in 0.2 sec + 0.3 sec setup (T+ 106.4 sec)== Starting: polyglot/regression/1005.py3.8 (T+ 106.5 sec)== Passed: polyglot/regression/1005.py3.8 in 0.2 sec + 0.5 sec setup (T+ 108.2 sec)== Starting: polyglot/regression/1023.py3.8 (T+ 108.3 sec)== Passed: polyglot/polymorphism.py3.8 in 7.5 sec + 1.3 sec setup (T+ 110.1 sec)== Starting: polyglot/regression/1081.py3.8 (T+ 110.6 sec)== Passed: polyglot/regression/1081.py3.8 in 0.1 sec + 0.4 sec setup (T+ 111.8 sec)== Starting: polyglot/regression/1132.py3.8 (T+ 111.8 sec)== Passed: polyglot/regression/1132.py3.8 in 0.1 sec + 0.7 sec setup (T+ 113.6 sec)== Starting: polyglot/regression/1133.py3.8 (T+ 113.6 sec)== Passed: polyglot/regression/1133.py3.8 in 0.2 sec + 0.2 sec setup (T+ 114.9 sec)== Starting: polyglot/regression/1155.py3.8 (T+ 114.9 sec)== Passed: polyglot/regression/1023.py3.8 in 8.4 sec + 0.5 sec setup (T+ 118.4 sec)== Passed: polyglot/regression/1001.py3.8 in 11.7 sec + 0.3 sec setup (T+ 118.5 sec)== Starting: polyglot/regression/1179.py3.8 (T+ 118.7 sec)== Starting: polyglot/regression/1468.py3.8 (T+ 118.9 sec)== Passed: polyglot/aggregation.py3.8 in 118.4 sec + 0.1 sec setup (T+ 121.0 sec)== Starting: polyglot/regression/1789.py3.8 (T+ 122.6 sec)== Passed: polyglot/regression/1155.py3.8 in 7.7 sec + 0.3 sec setup (T+ 124.1 sec)== Starting: polyglot/regression/2052.py3.8 (T+ 124.4 sec)== Passed: polyglot/regression/2052.py3.8 in 0.3 sec + 0.7 sec setup (T+ 127.0 sec)== Starting: polyglot/regression/2696.py3.8 (T+ 127.1 sec)== Passed: polyglot/regression/1468.py3.8 in 7.6 sec + 0.6 sec setup (T+ 127.8 sec)== Passed: polyglot/regression/1179.py3.8 in 7.9 sec + 0.5 sec setup (T+ 127.9 sec)== Starting: polyglot/regression/2709.py3.8 (T+ 128.4 sec)== Starting: polyglot/regression/2697.py3.8 (T+ 128.5 sec)== Passed: polyglot/regression/2696.py3.8 in 0.2 sec + 0.2 sec setup (T+ 129.4 sec)== Starting: polyglot/regression/2710.py3.8 (T+ 129.5 sec)== Passed: polyglot/regression/2710.py3.8 in 0.3 sec + 0.2 sec setup (T+ 130.8 sec)== Starting: polyglot/regression/2766.py3.8 (T+ 130.8 sec)== Passed: polyglot/regression/2766.py3.8 in 0.4 sec + 0.7 sec setup (T+ 133.1 sec)== Starting: polyglot/regression/2767.py3.8 (T+ 133.1 sec)== Passed: polyglot/regression/1789.py3.8 in 8.8 sec + 0.6 sec setup (T+ 133.2 sec)== Passed: polyglot/meta/composite.py3.8 in 82.4 sec + 0.6 sec setup (T+ 133.4 sec)== Starting: polyglot/regression/2838.py3.8 (T+ 133.4 sec)== Starting: polyglot/regression/2774.py3.8 (T+ 133.8 sec)== Passed: polyglot/regression/2697.py3.8 in 11.9 sec + 1.1 sec setup (T+ 142.5 sec)== Starting: polyglot/regression/2930.py3.8 (T+ 143.1 sec)== Passed: polyglot/regression/2767.py3.8 in 11.8 sec + 0.8 sec setup (T+ 147.0 sec)== Starting: polyglot/regression/3057.py3.8 (T+ 147.9 sec)== Passed: polyglot/regression/3057.py3.8 in 0.4 sec + 1.4 sec setup (T+ 151.0 sec)== Starting: polyglot/regression/3059.py3.8 (T+ 151.1 sec)== Passed: polyglot/regression/3059.py3.8 in 0.2 sec + 0.6 sec setup (T+ 152.8 sec)== Starting: polyglot/regression/309.py3.8 (T+ 152.8 sec)== Passed: polyglot/regression/2774.py3.8 in 17.4 sec + 0.8 sec setup (T+ 153.3 sec)== Starting: polyglot/regression/3444.py3.8 (T+ 153.7 sec)== Passed: polyglot/mutation/insert.py3.8 in 105.4 sec + 0.4 sec setup (T+ 159.0 sec)== Starting: polyglot/regression/354.py3.8 (T+ 159.7 sec)== Passed: polyglot/regression/354.py3.8 in 0.2 sec + 0.3 sec setup (T+ 160.9 sec)== Starting: polyglot/regression/3637.py3.8 (T+ 160.9 sec)== Passed: polyglot/regression/3444.py3.8 in 7.6 sec + 0.2 sec setup (T+ 162.0 sec)== Starting: polyglot/regression/370.py3.8 (T+ 162.5 sec)== Passed: polyglot/regression/309.py3.8 in 8.5 sec + 0.5 sec setup (T+ 162.6 sec)== Starting: polyglot/regression/3745.py3.8 (T+ 163.1 sec)== Passed: polyglot/regression/2838.py3.8 in 36.1 sec + 1.2 sec setup (T+ 171.5 sec)== Starting: polyglot/regression/3759.py3.8 (T+ 172.1 sec)== Passed: polyglot/regression/3637.py3.8 in 10.8 sec + 0.2 sec setup (T+ 172.5 sec)== Starting: polyglot/regression/4030.py3.8 (T+ 172.8 sec)== Passed: polyglot/regression/2709.py3.8 in 43.3 sec + 0.9 sec setup (T+ 173.2 sec)== Starting: polyglot/regression/4132.py3.8 (T+ 173.5 sec)== Passed: polyglot/regression/3745.py3.8 in 9.1 sec + 0.6 sec setup (T+ 173.6 sec)== Starting: polyglot/regression/4146.py3.8 (T+ 174.0 sec)== Passed: polyglot/regression/370.py3.8 in 11.1 sec + 0.4 sec setup (T+ 174.7 sec)== Starting: polyglot/regression/4431.py3.8 (T+ 174.7 sec)== Passed: polyglot/regression/4431.py3.8 in 0.2 sec + 0.3 sec setup (T+ 175.9 sec)== Starting: polyglot/regression/4462.py3.8 (T+ 176.0 sec)== Passed: polyglot/regression/3759.py3.8 in 5.8 sec + 0.4 sec setup (T+ 178.7 sec)== Starting: polyglot/regression/4465.py3.8 (T+ 179.1 sec)== Passed: polyglot/regression/4030.py3.8 in 7.0 sec + 0.2 sec setup (T+ 180.4 sec)== Passed: polyglot/regression/4146.py3.8 in 5.9 sec + 0.2 sec setup (T+ 180.6 sec)== Passed: polyglot/regression/4132.py3.8 in 6.3 sec + 0.4 sec setup (T+ 180.6 sec)== Starting: polyglot/regression/4501.py3.8 (T+ 180.6 sec)== Starting: polyglot/regression/453.py3.8 (T+ 180.9 sec)== Starting: polyglot/regression/4582.py3.8 (T+ 181.0 sec)== Passed: polyglot/joins.py3.8 in 148.8 sec + 0.5 sec setup (T+ 182.7 sec)== Passed: polyglot/regression/4462.py3.8 in 6.1 sec + 0.3 sec setup (T+ 183.7 sec)== Starting: polyglot/regression/46.py3.8 (T+ 184.0 sec)== Starting: polyglot/regression/4591.py3.8 (T+ 185.7 sec)== Passed: polyglot/regression/4465.py3.8 in 6.5 sec + 0.6 sec setup (T+ 187.3 sec)== Starting: polyglot/regression/469.py3.8 (T+ 187.3 sec)== Passed: polyglot/regression/4591.py3.8 in 0.4 sec + 1.0 sec setup (T+ 188.1 sec)== Starting: polyglot/regression/4729.py3.8 (T+ 188.1 sec)== Passed: polyglot/regression/4501.py3.8 in 7.8 sec + 0.4 sec setup (T+ 189.9 sec)== Starting: polyglot/regression/522.py3.8 (T+ 190.4 sec)== Passed: polyglot/regression/4582.py3.8 in 8.9 sec + 0.2 sec setup (T+ 191.0 sec)== Passed: polyglot/regression/453.py3.8 in 9.3 sec + 0.4 sec setup (T+ 191.2 sec)== Starting: polyglot/regression/5222.py3.8 (T+ 191.3 sec)== Starting: polyglot/regression/5241.py3.8 (T+ 191.6 sec)== Passed: polyglot/regression/46.py3.8 in 7.2 sec + 1.1 sec setup (T+ 193.4 sec)== Starting: polyglot/regression/5438.py3.8 (T+ 193.4 sec)== Passed: polyglot/regression/4729.py3.8 in 11.2 sec + 0.9 sec setup (T+ 200.9 sec)== Passed: polyglot/regression/522.py3.8 in 9.6 sec + 0.4 sec setup (T+ 201.1 sec)== Starting: polyglot/regression/545.py3.8 (T+ 201.2 sec)== Passed: polyglot/regression/469.py3.8 in 13.0 sec + 0.3 sec setup (T+ 201.3 sec)== Starting: polyglot/regression/5481.py3.8 (T+ 201.3 sec)== Starting: polyglot/regression/546.py3.8 (T+ 201.8 sec)== Passed: polyglot/regression/546.py3.8 in 0.1 sec + 0.4 sec setup (T+ 203.2 sec)== Starting: polyglot/regression/5542.py3.8 (T+ 203.2 sec)== Passed: polyglot/regression/5241.py3.8 in 11.8 sec + 0.7 sec setup (T+ 204.9 sec)== Starting: polyglot/regression/568.py3.8 (T+ 205.2 sec)== Passed: polyglot/regression/5438.py3.8 in 10.4 sec + 1.0 sec setup (T+ 205.8 sec)== Starting: polyglot/regression/578.py3.8 (T+ 206.2 sec)== Passed: polyglot/regression/545.py3.8 in 9.6 sec + 0.9 sec setup (T+ 212.9 sec)== Starting: polyglot/regression/579.py3.8 (T+ 213.4 sec)== Passed: polyglot/regression/5542.py3.8 in 10.1 sec + 0.3 sec setup (T+ 214.2 sec)== Passed: polyglot/regression/5481.py3.8 in 11.5 sec + 0.9 sec setup (T+ 214.3 sec)== Starting: polyglot/regression/6108.py3.8 (T+ 214.5 sec)== Starting: polyglot/regression/619.py3.8 (T+ 214.7 sec)== Passed: polyglot/regression/6108.py3.8 in 0.3 sec + 0.7 sec setup (T+ 216.0 sec)== Passed: polyglot/regression/619.py3.8 in 0.1 sec + 0.6 sec setup (T+ 216.0 sec)== Starting: polyglot/regression/6191.py3.8 (T+ 216.0 sec)== Starting: polyglot/regression/665.py3.8 (T+ 216.0 sec)== Passed: polyglot/regression/568.py3.8 in 9.6 sec + 1.0 sec setup (T+ 217.3 sec)== Starting: polyglot/regression/678.py3.8 (T+ 217.7 sec)== Passed: polyglot/regression/5222.py3.8 in 24.2 sec + 1.1 sec setup (T+ 217.8 sec)== Passed: polyglot/regression/6191.py3.8 in 0.4 sec + 0.6 sec setup (T+ 217.9 sec)== Starting: polyglot/regression/730.py3.8 (T+ 217.9 sec)== Starting: polyglot/regression/718.py3.8 (T+ 218.1 sec)== Passed: polyglot/regression/578.py3.8 in 11.6 sec + 0.6 sec setup (T+ 219.1 sec)== Passed: polyglot/regression/730.py3.8 in 0.2 sec + 0.3 sec setup (T+ 219.1 sec)== Starting: polyglot/regression/767.py3.8 (T+ 219.1 sec)== Starting: polyglot/regression/757.py3.8 (T+ 220.2 sec)== Passed: polyglot/regression/767.py3.8 in 0.4 sec + 0.4 sec setup (T+ 221.0 sec)== Starting: polyglot/regression/831.py3.8 (T+ 221.1 sec)== Passed: polyglot/regression/579.py3.8 in 6.9 sec + 0.4 sec setup (T+ 221.7 sec)== Passed: polyglot/regression/757.py3.8 in 0.3 sec + 0.5 sec setup (T+ 222.4 sec)== Starting: polyglot/sindex/api.py3.8 (T+ 222.4 sec)== Starting: polyglot/selection.py3.8 (T+ 222.4 sec)== Passed: polyglot/regression/665.py3.8 in 8.7 sec + 0.9 sec setup (T+ 226.9 sec)== Starting: polyglot/sindex/nullsinstrings.py3.8 (T+ 227.0 sec)== Passed: polyglot/meta/table.py3.8 in 176.6 sec + 0.5 sec setup (T+ 227.9 sec)== Passed: polyglot/regression/678.py3.8 in 8.2 sec + 0.6 sec setup (T+ 227.9 sec)== Starting: polyglot/sindex/status.py3.8 (T+ 227.9 sec)== Passed: polyglot/regression/718.py3.8 in 8.1 sec + 0.5 sec setup (T+ 228.1 sec)== Starting: polyglot/timeout.py3.8 (T+ 228.5 sec)== Starting: polyglot/times/api.py3.8 (T+ 228.9 sec)== Passed: polyglot/regression/831.py3.8 in 7.4 sec + 0.8 sec setup (T+ 229.8 sec)== Passed: polyglot/times/api.py3.8 in 0.2 sec + 0.4 sec setup (T+ 230.0 sec)== Starting: polyglot/times/index.py3.8 (T+ 230.0 sec)== Starting: polyglot/times/constructors.py3.8 (T+ 230.1 sec)== Passed: polyglot/times/constructors.py3.8 in 0.3 sec + 0.4 sec setup (T+ 231.4 sec)== Starting: polyglot/times/portions.py3.8 (T+ 231.5 sec)== Passed: polyglot/times/portions.py3.8 in 0.3 sec + 0.3 sec setup (T+ 232.6 sec)== Starting: polyglot/times/shim.py3.8 (T+ 232.7 sec)== Passed: polyglot/times/shim.py3.8 in 0.2 sec + 0.3 sec setup (T+ 234.0 sec)== Starting: polyglot/times/time_arith.py3.8 (T+ 234.1 sec)== Passed: polyglot/times/time_arith.py3.8 in 0.2 sec + 0.3 sec setup (T+ 235.1 sec)== Starting: polyglot/times/timezones.py3.8 (T+ 235.1 sec)== Passed: polyglot/times/timezones.py3.8 in 0.1 sec + 0.4 sec setup (T+ 236.2 sec)== Starting: polyglot/transform/array.py3.8 (T+ 236.2 sec)== Passed: polyglot/sindex/nullsinstrings.py3.8 in 8.4 sec + 0.6 sec setup (T+ 236.7 sec)== Passed: polyglot/transform/array.py3.8 in 0.2 sec + 0.2 sec setup (T+ 237.0 sec)== Starting: polyglot/transform/map.py3.8 (T+ 237.0 sec)== Starting: polyglot/transform/fold.py3.8 (T+ 237.1 sec)== Passed: polyglot/transform/map.py3.8 in 0.2 sec + 0.2 sec setup (T+ 238.1 sec)== Starting: polyglot/transform/object.py3.8 (T+ 238.1 sec)== Passed: polyglot/transform/object.py3.8 in 0.2 sec + 0.2 sec setup (T+ 238.9 sec)== Starting: polyglot/transform/table.py3.8 (T+ 238.9 sec)== Passed: polyglot/times/index.py3.8 in 11.6 sec + 0.4 sec setup (T+ 242.6 sec)== Starting: polyglot/transform/unordered_map.py3.8 (T+ 242.9 sec)== Passed: polyglot/transform/table.py3.8 in 4.4 sec + 0.2 sec setup (T+ 244.0 sec)== Starting: polyglot/transformation.py3.8 (T+ 244.3 sec)== Passed: polyglot/selection.py3.8 in 24.2 sec + 0.8 sec setup (T+ 248.1 sec)== Passed: polyglot/transform/fold.py3.8 in 13.7 sec + 0.2 sec setup (T+ 251.3 sec)== Passed: polyglot/regression/2930.py3.8 in 112.2 sec + 0.7 sec setup (T+ 256.6 sec)== Passed: polyglot/timeout.py3.8 in 29.6 sec + 0.8 sec setup (T+ 259.2 sec)== Passed: polyglot/transform/unordered_map.py3.8 in 16.2 sec + 0.3 sec setup (T+ 259.8 sec)== Passed: polyglot/transformation.py3.8 in 20.3 sec + 0.3 sec setup (T+ 265.2 sec)== Passed: polyglot/sindex/api.py3.8 in 51.2 sec + 1.5 sec setup (T+ 275.4 sec)== Passed: polyglot/sindex/status.py3.8 in 160.8 sec + 0.5 sec setup (T+ 389.4 sec)== Successfully passed all 138 tests in 389.75 seconds!
Do you want to help?
Great! Fix an issue, add unit tests, add more docs, help with integration tests, help porting a net module or a command1 and open a PR againstthis branch, so we can keep the effort focused.
Footnotes
moving the commands has some prerequisite that will be implemented by@gabor-boros.-- resolved byhttps://github.com/rethinkdb/rethinkdb-python/pull/279↩