Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Python 3.11 #700

Closed
potiuk opened this issue Oct 26, 2022 · 12 comments
Closed

Support for Python 3.11 #700

potiuk opened this issue Oct 26, 2022 · 12 comments

Comments

@potiuk
Copy link

potiuk commented Oct 26, 2022

🚀 Feature

I know it is eaarly (Python 3.11 has just been released yesterday) but we are hoping in Apache Airflow to a much faster cycle of adding new Python releases - especially that Pyhon 3.11 introduces huge performance improvements (25% is the average number claimed) due to a very focused effort to increase single-threaded Python performance (Specialized interpreter being the core of it but also many other improvements) without actually changing any of the Python code.

Motivation

The papermill is one of the dependencies of Airlfow that need to support newer Python version so this issue is here to make you aware that we are eaager (also to help if needed) to make it faster, possibly by talking to dependencies of Beam as well (who are oftten also direct dependencies of Airflow) and help them as well. I perfectly understand we need to bubble up support so that your dependencies support them first.

Nice summary of Py3.11 support is here: https://pyreadiness.org/3.11/ - it's not very green obviously, but I hope it gets greener soon.

I'd appreciate if someone in the ntarct team attempted to migrate and have a PR running (and failing possibly until all prerequisite are met so that we can also track the progress and possibly help each other to solve any problems. I know PyArrow is blocking for now, but this is going to be solved soon lilely with apache/arrow#14499 and just opening a failing PR with it might be a good start.

I just opened such PR in Apache Airflow yesterday and plan to keep it open until it gets green :)

apache/airflow#27264

I think it would be fantastic if we could as the open source community migrate to the new Python much faster.

Looking forward to cooperation on that one :)

potiuk added a commit to apache/airflow that referenced this issue Oct 26, 2022
Python 3.11 has been released as scheduled on October 25, 2022 and
this is the first attempt to see how far Airflow (mostly dependencies)
are from being ready to officially support 3.11.

So far we had to exclude the following dependencies:

- [ ] Pyarrow dependency: apache/arrow#14499
- [ ] Google Provider: #27292
  and googleapis/python-bigquery#1386
- [ ] Databricks Provider:
  databricks/databricks-sql-python#59
- [ ] Papermill Provider: nteract/papermill#700
- [ ] Azure Provider: Azure/azure-uamqp-python#334
  and Azure/azure-sdk-for-python#27066
- [ ] Apache Beam Provider: apache/beam#23848
- [ ] Snowflake Provider:
  snowflakedb/snowflake-connector-python#1294
- [ ] JDBC Provider: jpype-project/jpype#1087
- [ ] Hive Provider: cloudera/python-sasl#30

We might decide to release Airflow in 3.11 with those providers
disabled in case they are lagging behind eventually, but for the
moment we want to work with all the projects in concert to be
able to release all providers (Google Provider requires quite
a lot of work and likely Google Team stepping up and community helping
with migration to latest Goofle cloud libraries)
potiuk added a commit to apache/airflow that referenced this issue Oct 27, 2022
Python 3.11 has been released as scheduled on October 25, 2022 and
this is the first attempt to see how far Airflow (mostly dependencies)
are from being ready to officially support 3.11.

So far we had to exclude the following dependencies:

- [ ] Pyarrow dependency: apache/arrow#14499
- [ ] Google Provider: #27292
  and googleapis/python-bigquery#1386
- [ ] Databricks Provider:
  databricks/databricks-sql-python#59
- [ ] Papermill Provider: nteract/papermill#700
- [ ] Azure Provider: Azure/azure-uamqp-python#334
  and Azure/azure-sdk-for-python#27066
- [ ] Apache Beam Provider: apache/beam#23848
- [ ] Snowflake Provider:
  snowflakedb/snowflake-connector-python#1294
- [ ] JDBC Provider: jpype-project/jpype#1087
- [ ] Hive Provider: cloudera/python-sasl#30

We might decide to release Airflow in 3.11 with those providers
disabled in case they are lagging behind eventually, but for the
moment we want to work with all the projects in concert to be
able to release all providers (Google Provider requires quite
a lot of work and likely Google Team stepping up and community helping
with migration to latest Goofle cloud libraries)
potiuk added a commit to apache/airflow that referenced this issue Oct 27, 2022
Python 3.11 has been released as scheduled on October 25, 2022 and
this is the first attempt to see how far Airflow (mostly dependencies)
are from being ready to officially support 3.11.

So far we had to exclude the following dependencies:

- [ ] Pyarrow dependency: apache/arrow#14499
- [ ] Google Provider: #27292
  and googleapis/python-bigquery#1386
- [ ] Databricks Provider:
  databricks/databricks-sql-python#59
- [ ] Papermill Provider: nteract/papermill#700
- [ ] Azure Provider: Azure/azure-uamqp-python#334
  and Azure/azure-sdk-for-python#27066
- [ ] Apache Beam Provider: apache/beam#23848
- [ ] Snowflake Provider:
  snowflakedb/snowflake-connector-python#1294
- [ ] JDBC Provider: jpype-project/jpype#1087
- [ ] Hive Provider: cloudera/python-sasl#30

We might decide to release Airflow in 3.11 with those providers
disabled in case they are lagging behind eventually, but for the
moment we want to work with all the projects in concert to be
able to release all providers (Google Provider requires quite
a lot of work and likely Google Team stepping up and community helping
with migration to latest Goofle cloud libraries)
potiuk added a commit to apache/airflow that referenced this issue Oct 31, 2022
Python 3.11 has been released as scheduled on October 25, 2022 and
this is the first attempt to see how far Airflow (mostly dependencies)
are from being ready to officially support 3.11.

So far we had to exclude the following dependencies:

- [ ] Pyarrow dependency: apache/arrow#14499
- [ ] Google Provider: #27292
  and googleapis/python-bigquery#1386
- [ ] Databricks Provider:
  databricks/databricks-sql-python#59
- [ ] Papermill Provider: nteract/papermill#700
- [ ] Azure Provider: Azure/azure-uamqp-python#334
  and Azure/azure-sdk-for-python#27066
- [ ] Apache Beam Provider: apache/beam#23848
- [ ] Snowflake Provider:
  snowflakedb/snowflake-connector-python#1294
- [ ] JDBC Provider: jpype-project/jpype#1087
- [ ] Hive Provider: cloudera/python-sasl#30

We might decide to release Airflow in 3.11 with those providers
disabled in case they are lagging behind eventually, but for the
moment we want to work with all the projects in concert to be
able to release all providers (Google Provider requires quite
a lot of work and likely Google Team stepping up and community helping
with migration to latest Goofle cloud libraries)
@potiuk
Copy link
Author

potiuk commented Nov 23, 2022

Any news? Pyarrow just released 3.11 compatible version yesterday, so I guess papermill will soon become last of the few remaining deps for Airflow. We can also release 3.11 without papermill, but it would be great to have it.

@EugeneTorap
Copy link

Hello @potiuk! I don't see Pyarrow lib in requirements.txt

@potiuk
Copy link
Author

potiuk commented Nov 24, 2022

It's not. It's just showing that others are catching up

potiuk added a commit to apache/airflow that referenced this issue Nov 24, 2022
Python 3.11 has been released as scheduled on October 25, 2022 and
this is the first attempt to see how far Airflow (mostly dependencies)
are from being ready to officially support 3.11.

So far we had to exclude the following dependencies:

- [ ] Pyarrow dependency: apache/arrow#14499
- [ ] Google Provider: #27292
  and googleapis/python-bigquery#1386
- [ ] Databricks Provider:
  databricks/databricks-sql-python#59
- [ ] Papermill Provider: nteract/papermill#700
- [ ] Azure Provider: Azure/azure-uamqp-python#334
  and Azure/azure-sdk-for-python#27066
- [ ] Apache Beam Provider: apache/beam#23848
- [ ] Snowflake Provider:
  snowflakedb/snowflake-connector-python#1294
- [ ] JDBC Provider: jpype-project/jpype#1087
- [ ] Hive Provider: cloudera/python-sasl#30

We might decide to release Airflow in 3.11 with those providers
disabled in case they are lagging behind eventually, but for the
moment we want to work with all the projects in concert to be
able to release all providers (Google Provider requires quite
a lot of work and likely Google Team stepping up and community helping
with migration to latest Goofle cloud libraries)
@tirkarthi
Copy link
Contributor

I tried running tests on Python 3.11 and don't see any failures. @potiuk Do you see any errors with respect to Airflow tests using papermill?

tox -e py  
py: install_deps> python -I -m pip install '.[dev]'
py: commands[0]> pytest -v --maxfail=2 --cov=papermill -W always
============================================================================ test session starts ============================================================================
platform linux -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0 -- /root/papermill/.tox/py/bin/python
cachedir: .tox/py/.pytest_cache
rootdir: /root/papermill, configfile: pytest.ini
plugins: env-0.8.1, anyio-3.6.2, mock-3.10.0, cov-4.0.0
collecting ... collected 543 items

papermill/tests/test_abs.py::ABSTest::test_blob_service_client PASSED                                                                                                 [  0%]
papermill/tests/test_abs.py::ABSTest::test_listdir_calls PASSED                                                                                                       [  0%]
papermill/tests/test_abs.py::ABSTest::test_reads_file PASSED                                                                                                          [  0%]
papermill/tests/test_abs.py::ABSTest::test_split_url_raises_exception_on_invalid_url PASSED                                                                           [  0%]
papermill/tests/test_abs.py::ABSTest::test_split_url_splits_valid_url PASSED                                                                                          [  0%]
papermill/tests/test_abs.py::ABSTest::test_split_url_splits_valid_url_with_prefix PASSED                                                                              [  1%]
papermill/tests/test_abs.py::ABSTest::test_write_file PASSED                                                                                                          [  1%]
papermill/tests/test_adl.py::ADLTest::test_create_adapter PASSED                                                                                                      [  1%]
papermill/tests/test_adl.py::ADLTest::test_listdir_calls_ls_on_adl_adapter PASSED                                                                                     [  1%]
papermill/tests/test_adl.py::ADLTest::test_read_opens_and_reads_file PASSED                                                                                           [  1%]
papermill/tests/test_adl.py::ADLTest::test_split_url_raises_exception_on_invalid_url PASSED                                                                           [  2%]
papermill/tests/test_adl.py::ADLTest::test_split_url_splits_valid_url PASSED                                                                                          [  2%]
debug2: channel 0: window 999379 sent adjust 49197
papermill/tests/test_adl.py::ADLTest::test_write_opens_file_and_writes_to_it PASSED                                                                                   [  2%]
papermill/tests/test_autosave.py::TestMidCellAutosave::test_autosave_disable PASSED                                                                                   [  2%]
papermill/tests/test_autosave.py::TestMidCellAutosave::test_autosave_not_too_fast PASSED                                                                              [  2%]
papermill/tests/test_autosave.py::TestMidCellAutosave::test_end2end_autosave_slow_notebook PASSED                                                                     [  2%]
papermill/tests/test_cli.py::test_resolve_type[True-True] PASSED                                                                                                      [  3%]
papermill/tests/test_cli.py::test_resolve_type[False-False] PASSED                                                                                                    [  3%]
papermill/tests/test_cli.py::test_resolve_type[None-None] PASSED                                                                                                      [  3%]
papermill/tests/test_cli.py::test_resolve_type[12.51-12.51] PASSED                                                                                                    [  3%]
papermill/tests/test_cli.py::test_resolve_type[10-10] PASSED                                                                                                          [  3%]
papermill/tests/test_cli.py::test_resolve_type[hello world-hello world] PASSED                                                                                        [  4%]
papermill/tests/test_cli.py::test_resolve_type[\U0001f60d-\U0001f60d] PASSED                                                                                          [  4%]
papermill/tests/test_cli.py::test_is_float[13.71-True] PASSED                                                                                                         [  4%]
papermill/tests/test_cli.py::test_is_float[False-False] PASSED                                                                                                        [  4%]
papermill/tests/test_cli.py::test_is_float[None-False] PASSED                                                                                                         [  4%]
papermill/tests/test_cli.py::test_is_float[-8.2-True] PASSED                                                                                                          [  4%]
papermill/tests/test_cli.py::test_is_float[10-True0] PASSED                                                                                                           [  5%]
papermill/tests/test_cli.py::test_is_float[10-True1] PASSED                                                                                                           [  5%]
papermill/tests/test_cli.py::test_is_float[12.31-True] PASSED                                                                                                         [  5%]
papermill/tests/test_cli.py::test_is_float[hello world-False] PASSED                                                                                                  [  5%]
papermill/tests/test_cli.py::test_is_float[\U0001f60d-False] PASSED                                                                                                   [  5%]
papermill/tests/test_cli.py::test_is_int[13.71-True] PASSED                                                                                                           [  6%]
papermill/tests/test_cli.py::test_is_int[False-False] PASSED                                                                                                          [  6%]
papermill/tests/test_cli.py::test_is_int[None-False] PASSED                                                                                                           [  6%]
papermill/tests/test_cli.py::test_is_int[-8.2-True] PASSED                                                                                                            [  6%]
papermill/tests/test_cli.py::test_is_int[-23.2-False] PASSED                                                                                                          [  6%]
papermill/tests/test_cli.py::test_is_int[10-True] PASSED                                                                                                              [  6%]
papermill/tests/test_cli.py::test_is_int[13-True] PASSED                                                                                                              [  7%]
papermill/tests/test_cli.py::test_is_int[hello world-False] PASSED                                                                                                    [  7%]
papermill/tests/test_cli.py::test_is_int[\U0001f60d-False] PASSED                                                                                                     [  7%]
papermill/tests/test_cli.py::TestCLI::test_engine PASSED                                                                                                              [  7%]
papermill/tests/test_cli.py::TestCLI::test_execution_timeout PASSED                                                                                                   [  7%]
papermill/tests/test_cli.py::TestCLI::test_help_notebook PASSED                                                                                                       [  8%]
papermill/tests/test_cli.py::TestCLI::test_inject_input_path PASSED                                                                                                   [  8%]
papermill/tests/test_cli.py::TestCLI::test_inject_output_path PASSED                                                                                                  [  8%]
papermill/tests/test_cli.py::TestCLI::test_inject_paths PASSED                                                                                                        [  8%]
papermill/tests/test_cli.py::TestCLI::test_kernel PASSED                                                                                                              [  8%]
papermill/tests/test_cli.py::TestCLI::test_language PASSED                                                                                                            [  9%]
papermill/tests/test_cli.py::TestCLI::test_log_level PASSED                                                                                                           [  9%]
papermill/tests/test_cli.py::TestCLI::test_log_output PASSED                                                                                                          [  9%]
papermill/tests/test_cli.py::TestCLI::test_log_output_plus_progress PASSED                                                                                            [  9%]
papermill/tests/test_cli.py::TestCLI::test_many_args PASSED                                                                                                           [  9%]
papermill/tests/test_cli.py::TestCLI::test_no_log_output PASSED                                                                                                       [  9%]
papermill/tests/test_cli.py::TestCLI::test_no_progress_bar PASSED                                                                                                     [ 10%]
papermill/tests/test_cli.py::TestCLI::test_no_report_mode PASSED                                                                                                      [ 10%]
papermill/tests/test_cli.py::TestCLI::test_parameters PASSED                                                                                                          [ 10%]
papermill/tests/test_cli.py::TestCLI::test_parameters_base64 PASSED                                                                                                   [ 10%]
papermill/tests/test_cli.py::TestCLI::test_parameters_base64_date PASSED                                                                                              [ 10%]
papermill/tests/test_cli.py::TestCLI::test_parameters_dead_kernel PASSED                                                                                              [ 11%]
papermill/tests/test_cli.py::TestCLI::test_parameters_empty PASSED                                                                                                    [ 11%]
papermill/tests/test_cli.py::TestCLI::test_parameters_file PASSED                                                                                                     [ 11%]
papermill/tests/test_cli.py::TestCLI::test_parameters_raw PASSED                                                                                                      [ 11%]
papermill/tests/test_cli.py::TestCLI::test_parameters_yaml PASSED                                                                                                     [ 11%]
papermill/tests/test_cli.py::TestCLI::test_parameters_yaml_date PASSED                                                                                                [ 11%]
papermill/tests/test_cli.py::TestCLI::test_parameters_yaml_override PASSED                                                                                            [ 12%]
papermill/tests/test_cli.py::TestCLI::test_prepare_only PASSED                                                                                                        [ 12%]
papermill/tests/test_cli.py::TestCLI::test_progress_bar PASSED                                                                                                        [ 12%]
papermill/tests/test_cli.py::TestCLI::test_report_mode PASSED                                                                                                         [ 12%]
papermill/tests/test_cli.py::TestCLI::test_set_cwd PASSED                                                                                                             [ 12%]
papermill/tests/test_cli.py::TestCLI::test_start_timeout PASSED                                                                                                       [ 13%]
papermill/tests/test_cli.py::TestCLI::test_start_timeout_backwards_compatibility PASSED                                                                               [ 13%]
papermill/tests/test_cli.py::TestCLI::test_version PASSED                                                                                                             [ 13%]
papermill/tests/test_cli.py::test_pipe_in_out_auto PASSED                                                                                                             [ 13%]
papermill/tests/test_cli.py::test_pipe_in_out_explicit PASSED                                                                                                         [ 13%]
papermill/tests/test_cli.py::test_pipe_out_auto PASSED                                                                                                                [ 13%]
papermill/tests/test_cli.py::test_pipe_out_explicit PASSED                                                                                                            [ 14%]
papermill/tests/test_cli.py::test_pipe_in_auto PASSED                                                                                                                 [ 14%]
papermill/tests/test_cli.py::test_pipe_in_explicit PASSED                                                                                                             [ 14%]
papermill/tests/test_cli.py::test_stdout_file PASSED                                                                                                                  [ 14%]
papermill/tests/test_clientwrap.py::TestPapermillClientWrapper::test_logging_data_msg PASSED                                                                          [ 14%]
papermill/tests/test_clientwrap.py::TestPapermillClientWrapper::test_logging_stderr_msg PASSED                                                                        [ 15%]
papermill/tests/test_clientwrap.py::TestPapermillClientWrapper::test_logging_stdout_msg PASSED                                                                        [ 15%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_basic_pbar PASSED                                                                                 [ 15%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_cell_complete_after_cell_exception PASSED                                                         [ 15%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_cell_complete_after_cell_start PASSED                                                             [ 15%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_cell_complete_new_nb PASSED                                                                       [ 16%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_cell_complete_without_cell_start PASSED                                                           [ 16%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_cell_exception PASSED                                                                             [ 16%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_cell_exception_new_nb PASSED                                                                      [ 16%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_cell_start PASSED                                                                                 [ 16%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_cell_start_new_nb PASSED                                                                          [ 16%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_get_cell_description PASSED                                                                       [ 17%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_no_pbar PASSED                                                                                    [ 17%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_notebook_complete PASSED                                                                          [ 17%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_notebook_complete_cell_status_completed PASSED                                                    [ 17%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_notebook_complete_cell_status_with_failed PASSED                                                  [ 17%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_notebook_complete_new_nb PASSED                                                                   [ 18%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_notebook_start PASSED                                                                             [ 18%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_notebook_start_markdown_code PASSED                                                               [ 18%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_notebook_start_new_nb PASSED                                                                      [ 18%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_save PASSED                                                                                       [ 18%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_save_new_nb PASSED                                                                                [ 18%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_save_no_output PASSED                                                                             [ 19%]
papermill/tests/test_engines.py::TestNotebookExecutionManager::test_set_timer PASSED                                                                                  [ 19%]
papermill/tests/test_engines.py::TestEngineBase::test_cell_callback_execute PASSED                                                                                    [ 19%]
papermill/tests/test_engines.py::TestEngineBase::test_no_cell_callback_execute PASSED                                                                                 [ 19%]
papermill/tests/test_engines.py::TestEngineBase::test_wrap_and_execute_notebook PASSED                                                                                [ 19%]
papermill/tests/test_engines.py::TestNBClientEngine::test_nb_convert_engine PASSED                                                                                    [ 20%]
papermill/tests/test_engines.py::TestNBClientEngine::test_nb_convert_engine_execute PASSED                                                                            [ 20%]
papermill/tests/test_engines.py::TestNBClientEngine::test_nb_convert_log_outputs PASSED                                                                               [ 20%]
papermill/tests/test_engines.py::TestNBClientEngine::test_nb_convert_no_log_outputs PASSED                                                                            [ 20%]
papermill/tests/test_engines.py::TestEngineRegistration::test_getting PASSED                                                                                          [ 20%]
papermill/tests/test_engines.py::TestEngineRegistration::test_registering_entry_points PASSED                                                                         [ 20%]
papermill/tests/test_engines.py::TestEngineRegistration::test_registration PASSED                                                                                     [ 21%]
papermill/tests/test_exceptions.py::test_exceptions_are_unpickleable[PapermillExecutionError-args0] PASSED                                                            [ 21%]
papermill/tests/test_exceptions.py::test_exceptions_are_unpickleable[PapermillMissingParameterException-args1] PASSED                                                 [ 21%]
papermill/tests/test_exceptions.py::test_exceptions_are_unpickleable[AwsError-args2] PASSED                                                                           [ 21%]
papermill/tests/test_exceptions.py::test_exceptions_are_unpickleable[FileExistsError-args3] PASSED                                                                    [ 21%]
papermill/tests/test_exceptions.py::test_exceptions_are_unpickleable[PapermillException-args4] PASSED                                                                 [ 22%]
papermill/tests/test_exceptions.py::test_exceptions_are_unpickleable[PapermillRateLimitException-args5] PASSED                                                        [ 22%]
papermill/tests/test_exceptions.py::test_exceptions_are_unpickleable[PapermillOptionalDependencyException-args6] PASSED                                               [ 22%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_backslash_params PASSED                                                                                    [ 22%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_backslash_quote_params PASSED                                                                              [ 22%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_cell_insertion PASSED                                                                                      [ 23%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_default_start_timeout PASSED                                                                               [ 23%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_double_backslash_quote_params PASSED                                                                       [ 23%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_no_tags PASSED                                                                                             [ 23%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_prepare_only PASSED                                                                                        [ 23%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_quoted_params PASSED                                                                                       [ 23%]
papermill/tests/test_execute.py::TestNotebookHelpers::test_start_timeout PASSED                                                                                       [ 24%]
papermill/tests/test_execute.py::TestBrokenNotebook1::test PASSED                                                                                                     [ 24%]
papermill/tests/test_execute.py::TestBrokenNotebook2::test debug3: receive packet: type 98
debug1: client_input_channel_req: channel 0 rtype keepalive@openssh.com reply 1
debug3: send packet: type 100
PASSED                                                                                                     [ 24%]
papermill/tests/test_execute.py::TestReportMode::test_report_mode PASSED                                                                                              [ 24%]
papermill/tests/test_execute.py::TestOutputPathNone::test_output_path_of_none PASSED                                                                                  [ 24%]
papermill/tests/test_execute.py::TestCWD::test_execution_respects_cwd_assignment PASSED                                                                               [ 25%]
papermill/tests/test_execute.py::TestCWD::test_local_save_ignores_cwd_assignment PASSED                                                                               [ 25%]
papermill/tests/test_execute.py::TestCWD::test_pathlib_paths PASSED                                                                                                   [ 25%]
papermill/tests/test_execute.py::TestSysExit::test_sys_exit PASSED                                                                                                    [ 25%]
papermill/tests/test_execute.py::TestSysExit::test_sys_exit0 PASSED                                                                                                   [ 25%]
papermill/tests/test_execute.py::TestSysExit::test_sys_exit1 PASSED                                                                                                   [ 25%]
papermill/tests/test_execute.py::TestSysExit::test_system_exit PASSED                                                                                                 [ 26%]
papermill/tests/test_execute.py::TestNotebookValidation::test_from_version_4_4_upgrades PASSED                                                                        [ 26%]
papermill/tests/test_execute.py::TestMinimalNotebook::test_no_v3_language_backport PASSED                                                                             [ 26%]
papermill/tests/test_execute.py::TestExecuteWithCustomEngine::test_custom_kernel_name_and_language PASSED                                                             [ 26%]
papermill/tests/test_execute.py::TestNotebookNodeInput::test_notebook_node_input PASSED                                                                               [ 26%]
papermill/tests/test_gcs.py::GCSTest::test_fallback_gcs_invalid_code PASSED                                                                                           [ 27%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_fallback_retry_unknown_failure_code PASSED                                                                             [ 27%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_handle_exception PASSED                                                                                                [ 27%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_invalid_code PASSED                                                                                                    [ 27%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_listdir PASSED                                                                                                         [ 27%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_read PASSED                                                                                                            [ 27%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_retry PASSED                                                                                                           [ 28%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_retry_older_exception PASSED                                                                                           [ 28%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_unretryable PASSED                                                                                                     [ 28%]
papermill/tests/test_gcs.py::GCSTest::test_gcs_write PASSED                                                                                                           [ 28%]
papermill/tests/test_hdfs.py::HDFSTest::test_hdfs_listdir PASSED                                                                                                      [ 28%]
papermill/tests/test_hdfs.py::HDFSTest::test_hdfs_read PASSED                                                                                                         [ 29%]
papermill/tests/test_hdfs.py::HDFSTest::test_hdfs_write PASSED                                                                                                        [ 29%]
papermill/tests/test_inspect.py::test_inspect_notebook[name0-expected0] PASSED                                                                                        [ 29%]
papermill/tests/test_inspect.py::test_inspect_notebook[name1-expected1] PASSED                                                                                        [ 29%]
papermill/tests/test_inspect.py::test_inspect_notebook[name2-expected2] PASSED                                                                                        [ 29%]
papermill/tests/test_inspect.py::test_inspect_notebook[name3-expected3] PASSED                                                                                        [ 30%]
papermill/tests/test_inspect.py::test_str_path PASSED                                                                                                                 [ 30%]
papermill/tests/test_inspect.py::test_display_notebook_help[name0-expected0] PASSED                                                                                   [ 30%]
papermill/tests/test_inspect.py::test_display_notebook_help[name1-expected1] PASSED                                                                                   [ 30%]
papermill/tests/test_inspect.py::test_display_notebook_help[name2-expected2] PASSED                                                                                   [ 30%]
papermill/tests/test_inspect.py::test_display_notebook_help[name3-expected3] PASSED                                                                                   [ 30%]
papermill/tests/test_iorw.py::TestPapermillIO::test_entrypoint_register PASSED                                                                                        [ 31%]
papermill/tests/test_iorw.py::TestPapermillIO::test_get_handler PASSED                                                                                                [ 31%]
papermill/tests/test_iorw.py::TestPapermillIO::test_get_local_handler PASSED                                                                                          [ 31%]
papermill/tests/test_iorw.py::TestPapermillIO::test_get_no_io_handler PASSED                                                                                          [ 31%]
papermill/tests/test_iorw.py::TestPapermillIO::test_get_notebook_node_handler PASSED                                                                                  [ 31%]
papermill/tests/test_iorw.py::TestPapermillIO::test_listdir PASSED                                                                                                    [ 32%]
papermill/tests/test_iorw.py::TestPapermillIO::test_pretty_path PASSED                                                                                                [ 32%]
papermill/tests/test_iorw.py::TestPapermillIO::test_read PASSED                                                                                                       [ 32%]
papermill/tests/test_iorw.py::TestPapermillIO::test_read_bytes PASSED                                                                                                 [ 32%]
papermill/tests/test_iorw.py::TestPapermillIO::test_read_stdin PASSED                                                                                                 [ 32%]
papermill/tests/test_iorw.py::TestPapermillIO::test_read_with_invalid_file_extension PASSED                                                                           [ 32%]
papermill/tests/test_iorw.py::TestPapermillIO::test_read_with_no_file_extension PASSED                                                                                [ 33%]
papermill/tests/test_iorw.py::TestPapermillIO::test_read_with_valid_file_extension PASSED                                                                             [ 33%]
papermill/tests/test_iorw.py::TestPapermillIO::test_read_yaml_with_invalid_file_extension PASSED                                                                      [ 33%]
papermill/tests/test_iorw.py::TestPapermillIO::test_read_yaml_with_no_file_extension PASSED                                                                           [ 33%]
papermill/tests/test_iorw.py::TestPapermillIO::test_register_ordering PASSED                                                                                          [ 33%]
papermill/tests/test_iorw.py::TestPapermillIO::test_write PASSED                                                                                                      [ 34%]
papermill/tests/test_iorw.py::TestPapermillIO::test_write_stdout PASSED                                                                                               [ 34%]
papermill/tests/test_iorw.py::TestPapermillIO::test_write_with_invalid_file_extension PASSED                                                                          [ 34%]
papermill/tests/test_iorw.py::TestPapermillIO::test_write_with_no_file_extension PASSED                                                                               [ 34%]
papermill/tests/test_iorw.py::TestPapermillIO::test_write_with_path_of_none PASSED                                                                                    [ 34%]
papermill/tests/test_iorw.py::TestLocalHandler::test_invalid_string PASSED                                                                                            [ 34%]
papermill/tests/test_iorw.py::TestLocalHandler::test_local_file_io_cwd PASSED                                                                                         [ 35%]
papermill/tests/test_iorw.py::TestLocalHandler::test_read_from_string PASSED                                                                                          [ 35%]
papermill/tests/test_iorw.py::TestLocalHandler::test_read_utf8 PASSED                                                                                                 [ 35%]
papermill/tests/test_iorw.py::TestLocalHandler::test_write_local_directory PASSED                                                                                     [ 35%]
papermill/tests/test_iorw.py::TestLocalHandler::test_write_no_directory_exists PASSED                                                                                 [ 35%]
papermill/tests/test_iorw.py::TestLocalHandler::test_write_passed_cwd PASSED                                                                                          [ 36%]
papermill/tests/test_iorw.py::TestLocalHandler::test_write_utf8 PASSED                                                                                                [ 36%]
papermill/tests/test_iorw.py::TestNoIOHandler::test_pretty_path PASSED                                                                                                [ 36%]
papermill/tests/test_iorw.py::TestNoIOHandler::test_raises_on_listdir PASSED                                                                                          [ 36%]
papermill/tests/test_iorw.py::TestNoIOHandler::test_raises_on_read PASSED                                                                                             [ 36%]
papermill/tests/test_iorw.py::TestNoIOHandler::test_write_returns_none PASSED                                                                                         [ 37%]
papermill/tests/test_iorw.py::TestADLHandler::test_listdir PASSED                                                                                                     [ 37%]
papermill/tests/test_iorw.py::TestADLHandler::test_read PASSED                                                                                                        [ 37%]
papermill/tests/test_iorw.py::TestADLHandler::test_write PASSED                                                                                                       [ 37%]
papermill/tests/test_iorw.py::TestHttpHandler::test_listdir PASSED                                                                                                    [ 37%]
papermill/tests/test_iorw.py::TestHttpHandler::test_read PASSED                                                                                                       [ 37%]
papermill/tests/test_iorw.py::TestHttpHandler::test_write PASSED                                                                                                      [ 38%]
papermill/tests/test_iorw.py::TestHttpHandler::test_write_failure PASSED                                                                                              [ 38%]
papermill/tests/test_iorw.py::TestStreamHandler::test_pretty_path_returns_input_path PASSED                                                                           [ 38%]
papermill/tests/test_iorw.py::TestStreamHandler::test_raises_on_listdir PASSED                                                                                        [ 38%]
papermill/tests/test_iorw.py::TestStreamHandler::test_read_from_stdin PASSED                                                                                          [ 38%]
papermill/tests/test_iorw.py::TestStreamHandler::test_write_to_stdout PASSED                                                                                          [ 39%]
papermill/tests/test_iorw.py::TestStreamHandler::test_write_to_stdout_buffer PASSED                                                                                   [ 39%]
papermill/tests/test_iorw.py::TestNotebookNodeHandler::test_pretty_path PASSED                                                                                        [ 39%]
papermill/tests/test_iorw.py::TestNotebookNodeHandler::test_raises_on_listdir PASSED                                                                                  [ 39%]
papermill/tests/test_iorw.py::TestNotebookNodeHandler::test_raises_on_write PASSED                                                                                    [ 39%]
papermill/tests/test_iorw.py::TestNotebookNodeHandler::test_read_notebook_node PASSED                                                                                 [ 39%]
papermill/tests/test_parameterize.py::TestNotebookParametrizing::test_custom_comment PASSED                                                                           [ 40%]
papermill/tests/test_parameterize.py::TestNotebookParametrizing::test_injected_parameters_tag PASSED                                                                  [ 40%]
papermill/tests/test_parameterize.py::TestNotebookParametrizing::test_no_parameter_tag PASSED                                                                         [ 40%]
papermill/tests/test_parameterize.py::TestNotebookParametrizing::test_no_tag_copying PASSED                                                                           [ 40%]
papermill/tests/test_parameterize.py::TestNotebookParametrizing::test_repeated_run_injected_parameters_tag PASSED                                                     [ 40%]
papermill/tests/test_parameterize.py::TestNotebookParametrizing::test_repeated_run_no_parameters_tag PASSED                                                           [ 41%]
papermill/tests/test_parameterize.py::TestBuiltinParameters::test_add_builtin_parameters_adds_dict_of_builtins PASSED                                                 [ 41%]
papermill/tests/test_parameterize.py::TestBuiltinParameters::test_add_builtin_parameters_allows_to_override_builtin PASSED                                            [ 41%]
papermill/tests/test_parameterize.py::TestBuiltinParameters::test_add_builtin_parameters_keeps_provided_parameters PASSED                                             [ 41%]
papermill/tests/test_parameterize.py::TestBuiltinParameters::test_builtin_parameters_include_current_datetime_local PASSED                                            [ 41%]
papermill/tests/test_parameterize.py::TestBuiltinParameters::test_builtin_parameters_include_current_datetime_utc PASSED                                              [ 41%]
papermill/tests/test_parameterize.py::TestBuiltinParameters::test_builtin_parameters_include_run_uuid PASSED                                                          [ 42%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_parameterized_path_with_none_parameters PASSED                                                     [ 42%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_parameterized_path_with_undefined_parameter PASSED                                                 [ 42%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_of_none_returns_none PASSED                                                                   [ 42%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_of_notebook_node_returns_input PASSED                                                         [ 42%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_boolean_parameter PASSED                                                                 [ 43%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_dict_parameter PASSED                                                                    [ 43%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_float_format_string PASSED                                                               [ 43%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_list_parameter PASSED                                                                    [ 43%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_multiple_parameter PASSED                                                                [ 43%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_none_parameter PASSED                                                                    [ 44%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_numeric_format_string PASSED                                                             [ 44%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_numeric_parameter PASSED                                                                 [ 44%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_path_with_single_parameter PASSED                                                                  [ 44%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_plain_text_path_with_empty_parameters_object PASSED                                                [ 44%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_plain_text_path_with_none_parameters PASSED                                                        [ 44%]
papermill/tests/test_parameterize.py::TestPathParameterizing::test_plain_text_path_with_unused_parameters PASSED                                                      [ 45%]
papermill/tests/test_s3.py::test_bucket_init PASSED                                                                                                                   [ 45%]
papermill/tests/test_s3.py::test_bucket_defaults PASSED                                                                                                               [ 45%]
papermill/tests/test_s3.py::test_bucket_missing_params PASSED                                                                                                         [ 45%]
papermill/tests/test_s3.py::test_bucket_list PASSED                                                                                                                   [ 45%]
papermill/tests/test_s3.py::test_prefix_init PASSED                                                                                                                   [ 46%]
papermill/tests/test_s3.py::test_prefix_defaults PASSED                                                                                                               [ 46%]
papermill/tests/test_s3.py::test_prefix_str PASSED                                                                                                                    [ 46%]
papermill/tests/test_s3.py::test_prefix_repr PASSED                                                                                                                   [ 46%]
papermill/tests/test_s3.py::test_key_init PASSED                                                                                                                      [ 46%]
papermill/tests/test_s3.py::test_key_repr PASSED                                                                                                                      [ 46%]
papermill/tests/test_s3.py::test_key_defaults PASSED                                                                                                                  [ 47%]
papermill/tests/test_s3.py::test_s3_defaults PASSED                                                                                                                   [ 47%]
papermill/tests/test_s3.py::test_s3_read PASSED                                                                                                                       [ 47%]
papermill/tests/test_s3.py::test_s3_read_empty PASSED                                                                                                                 [ 47%]
papermill/tests/test_s3.py::test_s3_write PASSED                                                                                                                      [ 47%]
papermill/tests/test_s3.py::test_s3_overwrite PASSED                                                                                                                  [ 48%]
papermill/tests/test_s3.py::test_s3_listdir PASSED                                                                                                                    [ 48%]
papermill/tests/test_translators.py::test_translate_type_python[foo-"foo"] PASSED                                                                                     [ 48%]
papermill/tests/test_translators.py::test_translate_type_python[{"foo": "bar"}-"{\\"foo\\": \\"bar\\"}"] PASSED                                                       [ 48%]
papermill/tests/test_translators.py::test_translate_type_python[test_input2-{"foo": "bar"}] PASSED                                                                    [ 48%]
papermill/tests/test_translators.py::test_translate_type_python[test_input3-{"foo": "\\"bar\\""}] PASSED                                                              [ 48%]
papermill/tests/test_translators.py::test_translate_type_python[test_input4-{"foo": ["bar"]}] PASSED                                                                  [ 49%]
papermill/tests/test_translators.py::test_translate_type_python[test_input5-{"foo": {"bar": "baz"}}] PASSED                                                           [ 49%]
papermill/tests/test_translators.py::test_translate_type_python[test_input6-{"foo": {"bar": "\\"baz\\""}}] PASSED                                                     [ 49%]
papermill/tests/test_translators.py::test_translate_type_python[test_input7-["foo"]] PASSED                                                                           [ 49%]
papermill/tests/test_translators.py::test_translate_type_python[test_input8-["foo", "\\"bar\\""]] PASSED                                                              [ 49%]
papermill/tests/test_translators.py::test_translate_type_python[test_input9-[{"foo": "bar"}]] PASSED                                                                  [ 50%]
papermill/tests/test_translators.py::test_translate_type_python[test_input10-[{"foo": "\\"bar\\""}]] PASSED                                                           [ 50%]
papermill/tests/test_translators.py::test_translate_type_python[12345-12345] PASSED                                                                                   [ 50%]
papermill/tests/test_translators.py::test_translate_type_python[-54321--54321] PASSED                                                                                 [ 50%]
papermill/tests/test_translators.py::test_translate_type_python[1.2345-1.2345] PASSED                                                                                 [ 50%]
papermill/tests/test_translators.py::test_translate_type_python[-5432.1--5432.1] PASSED                                                                               [ 51%]
papermill/tests/test_translators.py::test_translate_type_python[nan-float('nan')] PASSED                                                                              [ 51%]
papermill/tests/test_translators.py::test_translate_type_python[-inf-float('-inf')] PASSED                                                                            [ 51%]
papermill/tests/test_translators.py::test_translate_type_python[inf-float('inf')] PASSED                                                                              [ 51%]
papermill/tests/test_translators.py::test_translate_type_python[True-True] PASSED                                                                                     [ 51%]
papermill/tests/test_translators.py::test_translate_type_python[False-False] PASSED                                                                                   [ 51%]
papermill/tests/test_translators.py::test_translate_type_python[None-None] PASSED                                                                                     [ 52%]
papermill/tests/test_translators.py::test_translate_codify_python[parameters0-# Parameters\nfoo = "bar"\n] PASSED                                                     [ 52%]
papermill/tests/test_translators.py::test_translate_codify_python[parameters1-# Parameters\nfoo = True\n] PASSED                                                      [ 52%]
papermill/tests/test_translators.py::test_translate_codify_python[parameters2-# Parameters\nfoo = 5\n] PASSED                                                         [ 52%]
papermill/tests/test_translators.py::test_translate_codify_python[parameters3-# Parameters\nfoo = 1.1\n] PASSED                                                       [ 52%]
papermill/tests/test_translators.py::test_translate_codify_python[parameters4-# Parameters\nfoo = ["bar", "baz"]\n] PASSED                                            [ 53%]
papermill/tests/test_translators.py::test_translate_codify_python[parameters5-# Parameters\nfoo = {"bar": "baz"}\n] PASSED                                            [ 53%]
papermill/tests/test_translators.py::test_translate_codify_python[parameters6-# Parameters\nfoo = "bar"\nbaz = ["buz"]\n] PASSED                                      [ 53%]
papermill/tests/test_translators.py::test_translate_comment_python[-#] PASSED                                                                                         [ 53%]
papermill/tests/test_translators.py::test_translate_comment_python[foo-# foo] PASSED                                                                                  [ 53%]
papermill/tests/test_translators.py::test_translate_comment_python[['best effort']-# ['best effort']] PASSED                                                          [ 53%]
papermill/tests/test_translators.py::test_inspect_python[a = 2-expected0] PASSED                                                                                      [ 54%]
papermill/tests/test_translators.py::test_inspect_python[a: int = 2-expected1] PASSED                                                                                 [ 54%]
debug2: channel 0: window 999334 sent adjust 49242
papermill/tests/test_translators.py::test_inspect_python[a = 2 # type:int-expected2] PASSED                                                                           [ 54%]
papermill/tests/test_translators.py::test_inspect_python[a = False # Nice variable a-expected3] PASSED                                                                [ 54%]
papermill/tests/test_translators.py::test_inspect_python[a: float = 2.258 # type: int Nice variable a-expected4] PASSED                                               [ 54%]
papermill/tests/test_translators.py::test_inspect_python[a = 'this is a string' # type: int Nice variable a-expected5] PASSED                                         [ 55%]
papermill/tests/test_translators.py::test_inspect_python[a: List[str] = ['this', 'is', 'a', 'string', 'list'] # Nice variable a-expected6] PASSED                     [ 55%]
papermill/tests/test_translators.py::test_inspect_python[a: List[str] = [\n    'this', # First\n    'is',\n    'a',\n    'string',\n    'list' # Last\n] # Nice variable a-expected7] PASSED [ 55%]
papermill/tests/test_translators.py::test_inspect_python[a: List[str] = [\n    'this',\n    'is',\n    'a',\n    'string',\n    'list'\n] # Nice variable a-expected8] PASSED [ 55%]
papermill/tests/test_translators.py::test_inspect_python[a: List[str] = [\n                'this', # First\n                'is',\n\n                'a',\n                'string',\n                'list' # Last\n            ] # Nice variable a\n\n            b: float = -2.3432 # My b variable\n            -expected9] PASSED [ 55%]
papermill/tests/test_translators.py::test_translate_type_r[foo-"foo"] PASSED                                                                                          [ 55%]
papermill/tests/test_translators.py::test_translate_type_r[{"foo": "bar"}-"{\\"foo\\": \\"bar\\"}"] PASSED                                                            [ 56%]
papermill/tests/test_translators.py::test_translate_type_r[test_input2-list("foo" = "bar")] PASSED                                                                    [ 56%]
papermill/tests/test_translators.py::test_translate_type_r[test_input3-list("foo" = "\\"bar\\"")] PASSED                                                              [ 56%]
papermill/tests/test_translators.py::test_translate_type_r[test_input4-list("foo" = list("bar"))] PASSED                                                              [ 56%]
papermill/tests/test_translators.py::test_translate_type_r[test_input5-list("foo" = list("bar" = "baz"))] PASSED                                                      [ 56%]
papermill/tests/test_translators.py::test_translate_type_r[test_input6-list("foo" = list("bar" = "\\"baz\\""))] PASSED                                                [ 57%]
papermill/tests/test_translators.py::test_translate_type_r[test_input7-list("foo")] PASSED                                                                            [ 57%]
papermill/tests/test_translators.py::test_translate_type_r[test_input8-list("foo", "\\"bar\\"")] PASSED                                                               [ 57%]
papermill/tests/test_translators.py::test_translate_type_r[test_input9-list(list("foo" = "bar"))] PASSED                                                              [ 57%]
papermill/tests/test_translators.py::test_translate_type_r[test_input10-list(list("foo" = "\\"bar\\""))] PASSED                                                       [ 57%]
papermill/tests/test_translators.py::test_translate_type_r[12345-12345] PASSED                                                                                        [ 58%]
papermill/tests/test_translators.py::test_translate_type_r[-54321--54321] PASSED                                                                                      [ 58%]
papermill/tests/test_translators.py::test_translate_type_r[1.2345-1.2345] PASSED                                                                                      [ 58%]
papermill/tests/test_translators.py::test_translate_type_r[-5432.1--5432.1] PASSED                                                                                    [ 58%]
papermill/tests/test_translators.py::test_translate_type_r[True-TRUE] PASSED                                                                                          [ 58%]
papermill/tests/test_translators.py::test_translate_type_r[False-FALSE] PASSED                                                                                        [ 58%]
papermill/tests/test_translators.py::test_translate_type_r[None-NULL] PASSED                                                                                          [ 59%]
papermill/tests/test_translators.py::test_translate_comment_r[-#] PASSED                                                                                              [ 59%]
papermill/tests/test_translators.py::test_translate_comment_r[foo-# foo] PASSED                                                                                       [ 59%]
papermill/tests/test_translators.py::test_translate_comment_r[['best effort']-# ['best effort']] PASSED                                                               [ 59%]
papermill/tests/test_translators.py::test_translate_codify_r[parameters0-# Parameters\nfoo = "bar"\n] PASSED                                                          [ 59%]
papermill/tests/test_translators.py::test_translate_codify_r[parameters1-# Parameters\nfoo = TRUE\n] PASSED                                                           [ 60%]
papermill/tests/test_translators.py::test_translate_codify_r[parameters2-# Parameters\nfoo = 5\n] PASSED                                                              [ 60%]
papermill/tests/test_translators.py::test_translate_codify_r[parameters3-# Parameters\nfoo = 1.1\n] PASSED                                                            [ 60%]
papermill/tests/test_translators.py::test_translate_codify_r[parameters4-# Parameters\nfoo = list("bar", "baz")\n] PASSED                                             [ 60%]
papermill/tests/test_translators.py::test_translate_codify_r[parameters5-# Parameters\nfoo = list("bar" = "baz")\n] PASSED                                            [ 60%]
papermill/tests/test_translators.py::test_translate_codify_r[parameters6-# Parameters\nfoo = "bar"\nbaz = list("buz")\n] PASSED                                       [ 60%]
papermill/tests/test_translators.py::test_translate_codify_r[parameters7-# Parameters\nfoo = 5\n] PASSED                                                              [ 61%]
papermill/tests/test_translators.py::test_translate_type_scala[foo-"foo"] PASSED                                                                                      [ 61%]
papermill/tests/test_translators.py::test_translate_type_scala[{"foo": "bar"}-"{\\"foo\\": \\"bar\\"}"] PASSED                                                        [ 61%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input2-Map("foo" -> "bar")] PASSED                                                                [ 61%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input3-Map("foo" -> "\\"bar\\"")] PASSED                                                          [ 61%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input4-Map("foo" -> Seq("bar"))] PASSED                                                           [ 62%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input5-Map("foo" -> Map("bar" -> "baz"))] PASSED                                                  [ 62%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input6-Map("foo" -> Map("bar" -> "\\"baz\\""))] PASSED                                            [ 62%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input7-Seq("foo")] PASSED                                                                         [ 62%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input8-Seq("foo", "\\"bar\\"")] PASSED                                                            [ 62%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input9-Seq(Map("foo" -> "bar"))] PASSED                                                           [ 62%]
papermill/tests/test_translators.py::test_translate_type_scala[test_input10-Seq(Map("foo" -> "\\"bar\\""))] PASSED                                                    [ 63%]
papermill/tests/test_translators.py::test_translate_type_scala[12345-12345] PASSED                                                                                    [ 63%]
papermill/tests/test_translators.py::test_translate_type_scala[-54321--54321] PASSED                                                                                  [ 63%]
papermill/tests/test_translators.py::test_translate_type_scala[1.2345-1.2345] PASSED                                                                                  [ 63%]
papermill/tests/test_translators.py::test_translate_type_scala[-5432.1--5432.1] PASSED                                                                                [ 63%]
papermill/tests/test_translators.py::test_translate_type_scala[2147483648-2147483648L] PASSED                                                                         [ 64%]
papermill/tests/test_translators.py::test_translate_type_scala[-2147483649--2147483649L] PASSED                                                                       [ 64%]
papermill/tests/test_translators.py::test_translate_type_scala[True-true] PASSED                                                                                      [ 64%]
papermill/tests/test_translators.py::test_translate_type_scala[False-false] PASSED                                                                                    [ 64%]
papermill/tests/test_translators.py::test_translate_type_scala[None-None] PASSED                                                                                      [ 64%]
papermill/tests/test_translators.py::test_translate_comment_scala[-//] PASSED                                                                                         [ 65%]
papermill/tests/test_translators.py::test_translate_comment_scala[foo-// foo] PASSED                                                                                  [ 65%]
papermill/tests/test_translators.py::test_translate_comment_scala[['best effort']-// ['best effort']] PASSED                                                          [ 65%]
papermill/tests/test_translators.py::test_translate_assign_scala[foo-""-val foo = ""] PASSED                                                                          [ 65%]
papermill/tests/test_translators.py::test_translate_assign_scala[foo-"bar"-val foo = "bar"] PASSED                                                                    [ 65%]
papermill/tests/test_translators.py::test_translate_assign_scala[foo-Map("foo" -> "bar")-val foo = Map("foo" -> "bar")] PASSED                                        [ 65%]
papermill/tests/test_translators.py::test_translate_codify_scala[parameters0-// Parameters\nval foo = "bar"\n] PASSED                                                 [ 66%]
papermill/tests/test_translators.py::test_translate_codify_scala[parameters1-// Parameters\nval foo = true\n] PASSED                                                  [ 66%]
papermill/tests/test_translators.py::test_translate_codify_scala[parameters2-// Parameters\nval foo = 5\n] PASSED                                                     [ 66%]
papermill/tests/test_translators.py::test_translate_codify_scala[parameters3-// Parameters\nval foo = 1.1\n] PASSED                                                   [ 66%]
papermill/tests/test_translators.py::test_translate_codify_scala[parameters4-// Parameters\nval foo = Seq("bar", "baz")\n] PASSED                                     [ 66%]
papermill/tests/test_translators.py::test_translate_codify_scala[parameters5-// Parameters\nval foo = Map("bar" -> "baz")\n] PASSED                                   [ 67%]
papermill/tests/test_translators.py::test_translate_codify_scala[parameters6-// Parameters\nval foo = "bar"\nval baz = Seq("buz")\n] PASSED                           [ 67%]
papermill/tests/test_translators.py::test_translate_type_csharp[foo-"foo"] PASSED                                                                                     [ 67%]
papermill/tests/test_translators.py::test_translate_type_csharp[{"foo": "bar"}-"{\\"foo\\": \\"bar\\"}"] PASSED                                                       [ 67%]
papermill/tests/test_translators.py::test_translate_type_csharp[test_input2-new Dictionary<string,Object>{ { "foo" , "bar" } }] PASSED                                [ 67%]
papermill/tests/test_translators.py::test_translate_type_csharp[test_input3-new Dictionary<string,Object>{ { "foo" , "\\"bar\\"" } }] PASSED                          [ 67%]
papermill/tests/test_translators.py::test_translate_type_csharp[test_input4-new [] { "foo" }] PASSED                                                                  [ 68%]
papermill/tests/test_translators.py::test_translate_type_csharp[test_input5-new [] { "foo", "\\"bar\\"" }] PASSED                                                     [ 68%]
papermill/tests/test_translators.py::test_translate_type_csharp[test_input6-new [] { new Dictionary<string,Object>{ { "foo" , "bar" } } }] PASSED                     [ 68%]
papermill/tests/test_translators.py::test_translate_type_csharp[12345-12345] PASSED                                                                                   [ 68%]
papermill/tests/test_translators.py::test_translate_type_csharp[-54321--54321] PASSED                                                                                 [ 68%]
papermill/tests/test_translators.py::test_translate_type_csharp[1.2345-1.2345] PASSED                                                                                 [ 69%]
papermill/tests/test_translators.py::test_translate_type_csharp[-5432.1--5432.1] PASSED                                                                               [ 69%]
papermill/tests/test_translators.py::test_translate_type_csharp[2147483648-2147483648L] PASSED                                                                        [ 69%]
papermill/tests/test_translators.py::test_translate_type_csharp[-2147483649--2147483649L] PASSED                                                                      [ 69%]
papermill/tests/test_translators.py::test_translate_type_csharp[True-true] PASSED                                                                                     [ 69%]
papermill/tests/test_translators.py::test_translate_type_csharp[False-false] PASSED                                                                                   [ 69%]
papermill/tests/test_translators.py::test_translate_comment_csharp[-//] PASSED                                                                                        [ 70%]
papermill/tests/test_translators.py::test_translate_comment_csharp[foo-// foo] PASSED                                                                                 [ 70%]
papermill/tests/test_translators.py::test_translate_comment_csharp[['best effort']-// ['best effort']] PASSED                                                         [ 70%]
papermill/tests/test_translators.py::test_translate_assign_csharp[foo-""-var foo = "";] PASSED                                                                        [ 70%]
papermill/tests/test_translators.py::test_translate_assign_csharp[foo-"bar"-var foo = "bar";] PASSED                                                                  [ 70%]
papermill/tests/test_translators.py::test_translate_codify_csharp[parameters0-// Parameters\nvar foo = "bar";\n] PASSED                                               [ 71%]
papermill/tests/test_translators.py::test_translate_codify_csharp[parameters1-// Parameters\nvar foo = true;\n] PASSED                                                [ 71%]
papermill/tests/test_translators.py::test_translate_codify_csharp[parameters2-// Parameters\nvar foo = 5;\n] PASSED                                                   [ 71%]
papermill/tests/test_translators.py::test_translate_codify_csharp[parameters3-// Parameters\nvar foo = 1.1;\n] PASSED                                                 [ 71%]
papermill/tests/test_translators.py::test_translate_codify_csharp[parameters4-// Parameters\nvar foo = new [] { "bar", "baz" };\n] PASSED                             [ 71%]
papermill/tests/test_translators.py::test_translate_codify_csharp[parameters5-// Parameters\nvar foo = new Dictionary<string,Object>{ { "bar" , "baz" } };\n] PASSED  [ 72%]
papermill/tests/test_translators.py::test_translate_type_powershell[foo-"foo"] PASSED                                                                                 [ 72%]
papermill/tests/test_translators.py::test_translate_type_powershell[{"foo": "bar"}-"{`"foo`": `"bar`"}"] PASSED                                                       [ 72%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input2-@{"foo" = "bar"}] PASSED                                                              [ 72%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input3-@{"foo" = "`"bar`""}] PASSED                                                          [ 72%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input4-@{"foo" = @("bar")}] PASSED                                                           [ 72%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input5-@{"foo" = @{"bar" = "baz"}}] PASSED                                                   [ 73%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input6-@{"foo" = @{"bar" = "`"baz`""}}] PASSED                                               [ 73%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input7-@("foo")] PASSED                                                                      [ 73%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input8-@("foo", "`"bar`"")] PASSED                                                           [ 73%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input9-@(@{"foo" = "bar"})] PASSED                                                           [ 73%]
papermill/tests/test_translators.py::test_translate_type_powershell[test_input10-@(@{"foo" = "`"bar`""})] PASSED                                                      [ 74%]
papermill/tests/test_translators.py::test_translate_type_powershell[12345-12345] PASSED                                                                               [ 74%]
papermill/tests/test_translators.py::test_translate_type_powershell[-54321--54321] PASSED                                                                             [ 74%]
papermill/tests/test_translators.py::test_translate_type_powershell[1.2345-1.2345] PASSED                                                                             [ 74%]
papermill/tests/test_translators.py::test_translate_type_powershell[-5432.1--5432.1] PASSED                                                                           [ 74%]
papermill/tests/test_translators.py::test_translate_type_powershell[nan-[double]::NaN] PASSED                                                                         [ 74%]
papermill/tests/test_translators.py::test_translate_type_powershell[-inf-[double]::NegativeInfinity] PASSED                                                           [ 75%]
papermill/tests/test_translators.py::test_translate_type_powershell[inf-[double]::PositiveInfinity] PASSED                                                            [ 75%]
papermill/tests/test_translators.py::test_translate_type_powershell[True-$True] PASSED                                                                                [ 75%]
papermill/tests/test_translators.py::test_translate_type_powershell[False-$False] PASSED                                                                              [ 75%]
papermill/tests/test_translators.py::test_translate_type_powershell[None-$Null] PASSED                                                                                [ 75%]
papermill/tests/test_translators.py::test_translate_codify_powershell[parameters0-# Parameters\n$foo = "bar"\n] PASSED                                                [ 76%]
papermill/tests/test_translators.py::test_translate_codify_powershell[parameters1-# Parameters\n$foo = $True\n] PASSED                                                [ 76%]
papermill/tests/test_translators.py::test_translate_codify_powershell[parameters2-# Parameters\n$foo = 5\n] PASSED                                                    [ 76%]
papermill/tests/test_translators.py::test_translate_codify_powershell[parameters3-# Parameters\n$foo = 1.1\n] PASSED                                                  [ 76%]
papermill/tests/test_translators.py::test_translate_codify_powershell[parameters4-# Parameters\n$foo = @("bar", "baz")\n] PASSED                                      [ 76%]
papermill/tests/test_translators.py::test_translate_codify_powershell[parameters5-# Parameters\n$foo = @{"bar" = "baz"}\n] PASSED                                     [ 76%]
papermill/tests/test_translators.py::test_translate_codify_powershell[parameters6-# Parameters\n$foo = "bar"\n$baz = @("buz")\n] PASSED                               [ 77%]
papermill/tests/test_translators.py::test_translate_assign_powershell[foo-""-$foo = ""] PASSED                                                                        [ 77%]
papermill/tests/test_translators.py::test_translate_assign_powershell[foo-"bar"-$foo = "bar"] PASSED                                                                  [ 77%]
papermill/tests/test_translators.py::test_translate_comment_powershell[-#] PASSED                                                                                     [ 77%]
papermill/tests/test_translators.py::test_translate_comment_powershell[foo-# foo] PASSED                                                                              [ 77%]
papermill/tests/test_translators.py::test_translate_comment_powershell[['best effort']-# ['best effort']] PASSED                                                      [ 78%]
papermill/tests/test_translators.py::test_translate_type_fsharp[foo-"foo"] PASSED                                                                                     [ 78%]
papermill/tests/test_translators.py::test_translate_type_fsharp[{"foo": "bar"}-"{\\"foo\\": \\"bar\\"}"] PASSED                                                       [ 78%]
papermill/tests/test_translators.py::test_translate_type_fsharp[test_input2-[ ("foo", "bar" :> IComparable) ] |> Map.ofList] PASSED                                   [ 78%]
papermill/tests/test_translators.py::test_translate_type_fsharp[test_input3-[ ("foo", "\\"bar\\"" :> IComparable) ] |> Map.ofList] PASSED                             [ 78%]
papermill/tests/test_translators.py::test_translate_type_fsharp[test_input4-[ "foo" ]] PASSED                                                                         [ 79%]
papermill/tests/test_translators.py::test_translate_type_fsharp[test_input5-[ "foo"; "\\"bar\\"" ]] PASSED                                                            [ 79%]
papermill/tests/test_translators.py::test_translate_type_fsharp[test_input6-[ [ ("foo", "bar" :> IComparable) ] |> Map.ofList ]] PASSED                               [ 79%]
papermill/tests/test_translators.py::test_translate_type_fsharp[12345-12345] PASSED                                                                                   [ 79%]
papermill/tests/test_translators.py::test_translate_type_fsharp[-54321--54321] PASSED                                                                                 [ 79%]
papermill/tests/test_translators.py::test_translate_type_fsharp[1.2345-1.2345] PASSED                                                                                 [ 79%]
papermill/tests/test_translators.py::test_translate_type_fsharp[-5432.1--5432.1] PASSED                                                                               [ 80%]
papermill/tests/test_translators.py::test_translate_type_fsharp[2147483648-2147483648L] PASSED                                                                        [ 80%]
papermill/tests/test_translators.py::test_translate_type_fsharp[-2147483649--2147483649L] PASSED                                                                      [ 80%]
papermill/tests/test_translators.py::test_translate_type_fsharp[True-true] PASSED                                                                                     [ 80%]
papermill/tests/test_translators.py::test_translate_type_fsharp[False-false] PASSED                                                                                   [ 80%]
papermill/tests/test_translators.py::test_translate_comment_fsharp[-(*  *)] PASSED                                                                                    [ 81%]
papermill/tests/test_translators.py::test_translate_comment_fsharp[foo-(* foo *)] PASSED                                                                              [ 81%]
papermill/tests/test_translators.py::test_translate_comment_fsharp[['best effort']-(* ['best effort'] *)] PASSED                                                      [ 81%]
papermill/tests/test_translators.py::test_translate_assign_fsharp[foo-""-let foo = ""] PASSED                                                                         [ 81%]
papermill/tests/test_translators.py::test_translate_assign_fsharp[foo-"bar"-let foo = "bar"] PASSED                                                                   [ 81%]
papermill/tests/test_translators.py::test_translate_codify_fsharp[parameters0-(* Parameters *)\nlet foo = "bar"\n] PASSED                                             [ 81%]
papermill/tests/test_translators.py::test_translate_codify_fsharp[parameters1-(* Parameters *)\nlet foo = true\n] PASSED                                              [ 82%]
papermill/tests/test_translators.py::test_translate_codify_fsharp[parameters2-(* Parameters *)\nlet foo = 5\n] PASSED                                                 [ 82%]
papermill/tests/test_translators.py::test_translate_codify_fsharp[parameters3-(* Parameters *)\nlet foo = 1.1\n] PASSED                                               [ 82%]
papermill/tests/test_translators.py::test_translate_codify_fsharp[parameters4-(* Parameters *)\nlet foo = [ "bar"; "baz" ]\n] PASSED                                  [ 82%]
papermill/tests/test_translators.py::test_translate_codify_fsharp[parameters5-(* Parameters *)\nlet foo = [ ("bar", "baz" :> IComparable) ] |> Map.ofList\n] PASSED   [ 82%]
papermill/tests/test_translators.py::test_translate_type_julia[foo-"foo"] PASSED                                                                                      [ 83%]
papermill/tests/test_translators.py::test_translate_type_julia[{"foo": "bar"}-"{\\"foo\\": \\"bar\\"}"] PASSED                                                        [ 83%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input2-Dict("foo" => "bar")] PASSED                                                               [ 83%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input3-Dict("foo" => "\\"bar\\"")] PASSED                                                         [ 83%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input4-Dict("foo" => ["bar"])] PASSED                                                             [ 83%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input5-Dict("foo" => Dict("bar" => "baz"))] PASSED                                                [ 83%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input6-Dict("foo" => Dict("bar" => "\\"baz\\""))] PASSED                                          [ 84%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input7-["foo"]] PASSED                                                                            [ 84%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input8-["foo", "\\"bar\\""]] PASSED                                                               [ 84%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input9-[Dict("foo" => "bar")]] PASSED                                                             [ 84%]
papermill/tests/test_translators.py::test_translate_type_julia[test_input10-[Dict("foo" => "\\"bar\\"")]] PASSED                                                      [ 84%]
papermill/tests/test_translators.py::test_translate_type_julia[12345-12345] PASSED                                                                                    [ 85%]
papermill/tests/test_translators.py::test_translate_type_julia[-54321--54321] PASSED                                                                                  [ 85%]
papermill/tests/test_translators.py::test_translate_type_julia[1.2345-1.2345] PASSED                                                                                  [ 85%]
papermill/tests/test_translators.py::test_translate_type_julia[-5432.1--5432.1] PASSED                                                                                [ 85%]
papermill/tests/test_translators.py::test_translate_type_julia[True-true] PASSED                                                                                      [ 85%]
papermill/tests/test_translators.py::test_translate_type_julia[False-false] PASSED                                                                                    [ 86%]
papermill/tests/test_translators.py::test_translate_type_julia[None-nothing] PASSED                                                                                   [ 86%]
papermill/tests/test_translators.py::test_translate_codify_julia[parameters0-# Parameters\nfoo = "bar"\n] PASSED                                                      [ 86%]
papermill/tests/test_translators.py::test_translate_codify_julia[parameters1-# Parameters\nfoo = true\n] PASSED                                                       [ 86%]
papermill/tests/test_translators.py::test_translate_codify_julia[parameters2-# Parameters\nfoo = 5\n] PASSED                                                          [ 86%]
papermill/tests/test_translators.py::test_translate_codify_julia[parameters3-# Parameters\nfoo = 1.1\n] PASSED                                                        [ 86%]
papermill/tests/test_translators.py::test_translate_codify_julia[parameters4-# Parameters\nfoo = ["bar", "baz"]\n] PASSED                                             [ 87%]
papermill/tests/test_translators.py::test_translate_codify_julia[parameters5-# Parameters\nfoo = Dict("bar" => "baz")\n] PASSED                                       [ 87%]
papermill/tests/test_translators.py::test_translate_codify_julia[parameters6-# Parameters\nfoo = "bar"\nbaz = ["buz"]\n] PASSED                                       [ 87%]
papermill/tests/test_translators.py::test_translate_comment_julia[-#] PASSED                                                                                          [ 87%]
papermill/tests/test_translators.py::test_translate_comment_julia[foo-# foo] PASSED                                                                                   [ 87%]
papermill/tests/test_translators.py::test_translate_comment_julia[["best effort"]-# ["best effort"]] PASSED                                                           [ 88%]
papermill/tests/test_translators.py::test_translate_type_matlab[foo-"foo"] PASSED                                                                                     [ 88%]
papermill/tests/test_translators.py::test_translate_type_matlab[{"foo": "bar"}-"{""foo"": ""bar""}"] PASSED                                                           [ 88%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input2-containers.Map({'1'}, {"foo"})] PASSED                                                    [ 88%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input3-containers.Map({'1.0'}, {"foo"})] PASSED                                                  [ 88%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input4-containers.Map({'None'}, {"foo"})] PASSED                                                 [ 88%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input5-containers.Map({'True'}, {"foo"})] PASSED                                                 [ 89%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input6-containers.Map({'foo'}, {"bar"})] PASSED                                                  [ 89%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input7-containers.Map({'foo'}, {"""bar"""})] PASSED                                              [ 89%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input8-containers.Map({'foo'}, {{"bar"}})] PASSED                                                [ 89%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input9-containers.Map({'foo'}, {containers.Map({'bar'}, {"baz"})})] PASSED                       [ 89%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input10-containers.Map({'foo'}, {containers.Map({'bar'}, {"""baz"""})})] PASSED                  [ 90%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input11-{"foo"}] PASSED                                                                          [ 90%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input12-{"foo", """bar"""}] PASSED                                                               [ 90%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input13-{containers.Map({'foo'}, {"bar"})}] PASSED                                               [ 90%]
papermill/tests/test_translators.py::test_translate_type_matlab[test_input14-{containers.Map({'foo'}, {"""bar"""})}] PASSED                                           [ 90%]
papermill/tests/test_translators.py::test_translate_type_matlab[12345-12345] PASSED                                                                                   [ 90%]
papermill/tests/test_translators.py::test_translate_type_matlab[-54321--54321] PASSED                                                                                 [ 91%]
papermill/tests/test_translators.py::test_translate_type_matlab[1.2345-1.2345] PASSED                                                                                 [ 91%]
papermill/tests/test_translators.py::test_translate_type_matlab[-5432.1--5432.1] PASSED                                                                               [ 91%]
papermill/tests/test_translators.py::test_translate_type_matlab[True-true] PASSED                                                                                     [ 91%]
papermill/tests/test_translators.py::test_translate_type_matlab[False-false] PASSED                                                                                   [ 91%]
papermill/tests/test_translators.py::test_translate_type_matlab[None-NaN] PASSED                                                                                      [ 92%]
papermill/tests/test_translators.py::test_translate_codify_matlab[parameters0-% Parameters\nfoo = "bar";\n] PASSED                                                    [ 92%]
papermill/tests/test_translators.py::test_translate_codify_matlab[parameters1-% Parameters\nfoo = true;\n] PASSED                                                     [ 92%]
papermill/tests/test_translators.py::test_translate_codify_matlab[parameters2-% Parameters\nfoo = 5;\n] PASSED                                                        [ 92%]
papermill/tests/test_translators.py::test_translate_codify_matlab[parameters3-% Parameters\nfoo = 1.1;\n] PASSED                                                      [ 92%]
papermill/tests/test_translators.py::test_translate_codify_matlab[parameters4-% Parameters\nfoo = {"bar", "baz"};\n] PASSED                                           [ 93%]
papermill/tests/test_translators.py::test_translate_codify_matlab[parameters5-% Parameters\nfoo = containers.Map({'bar'}, {"baz"});\n] PASSED                         [ 93%]
papermill/tests/test_translators.py::test_translate_codify_matlab[parameters6-% Parameters\nfoo = "bar";\nbaz = {"buz"};\n] PASSED                                    [ 93%]
papermill/tests/test_translators.py::test_translate_comment_matlab[-%] PASSED                                                                                         [ 93%]
papermill/tests/test_translators.py::test_translate_comment_matlab[foo-% foo] PASSED                                                                                  [ 93%]
papermill/tests/test_translators.py::test_translate_comment_matlab[['best effort']-% ['best effort']] PASSED                                                          [ 93%]
papermill/tests/test_translators.py::test_find_translator_with_exact_kernel_name PASSED                                                                               [ 94%]
papermill/tests/test_translators.py::test_find_translator_with_exact_language PASSED                                                                                  [ 94%]
papermill/tests/test_translators.py::test_find_translator_with_no_such_kernel_or_language PASSED                                                                      [ 94%]
papermill/tests/test_translators.py::test_translate_uses_str_representation_of_unknown_types PASSED                                                                   [ 94%]
papermill/tests/test_translators.py::test_translator_must_implement_translate_dict PASSED                                                                             [ 94%]
papermill/tests/test_translators.py::test_translator_must_implement_translate_list PASSED                                                                             [ 95%]
papermill/tests/test_translators.py::test_translator_must_implement_comment PASSED                                                                                    [ 95%]
papermill/tests/test_translators.py::test_translate_type_sh[foo-foo] PASSED                                                                                           [ 95%]
papermill/tests/test_translators.py::test_translate_type_sh[foo space-'foo space'] PASSED                                                                             [ 95%]
papermill/tests/test_translators.py::test_translate_type_sh[foo's apostrophe-'foo'"'"'s apostrophe'] PASSED                                                           [ 95%]
papermill/tests/test_translators.py::test_translate_type_sh[shell ( is ) <dumb>-'shell ( is ) <dumb>'] PASSED                                                         [ 95%]
papermill/tests/test_translators.py::test_translate_type_sh[12345-12345] PASSED                                                                                       [ 96%]
papermill/tests/test_translators.py::test_translate_type_sh[-54321--54321] PASSED                                                                                     [ 96%]
papermill/tests/test_translators.py::test_translate_type_sh[1.2345-1.2345] PASSED                                                                                     [ 96%]
papermill/tests/test_translators.py::test_translate_type_sh[-5432.1--5432.1] PASSED                                                                                   [ 96%]
papermill/tests/test_translators.py::test_translate_type_sh[True-true] PASSED                                                                                         [ 96%]
papermill/tests/test_translators.py::test_translate_type_sh[False-false] PASSED                                                                                       [ 97%]
papermill/tests/test_translators.py::test_translate_type_sh[None-] PASSED                                                                                             [ 97%]
papermill/tests/test_translators.py::test_translate_comment_sh[-#] PASSED                                                                                             [ 97%]
papermill/tests/test_translators.py::test_translate_comment_sh[foo-# foo] PASSED                                                                                      [ 97%]
papermill/tests/test_translators.py::test_translate_comment_sh[['best effort']-# ['best effort']] PASSED                                                              [ 97%]
papermill/tests/test_translators.py::test_translate_codify_sh[parameters0-# Parameters\nfoo=bar\n] PASSED                                                             [ 97%]
papermill/tests/test_translators.py::test_translate_codify_sh[parameters1-# Parameters\nfoo='shell ( is ) <dumb>'\n] PASSED                                           [ 98%]
papermill/tests/test_translators.py::test_translate_codify_sh[parameters2-# Parameters\nfoo=true\n] PASSED                                                            [ 98%]
papermill/tests/test_translators.py::test_translate_codify_sh[parameters3-# Parameters\nfoo=5\n] PASSED                                                               [ 98%]
papermill/tests/test_translators.py::test_translate_codify_sh[parameters4-# Parameters\nfoo=1.1\n] PASSED                                                             [ 98%]
papermill/tests/test_translators.py::test_translate_codify_sh[parameters5-# Parameters\nfoo=bar\nbaz='$dumb(shell)'\n] PASSED                                         [ 98%]
papermill/tests/test_utils.py::test_no_tagged_cell PASSED                                                                                                             [ 99%]
papermill/tests/test_utils.py::test_tagged_cell PASSED                                                                                                                [ 99%]
papermill/tests/test_utils.py::test_merge_kwargs PASSED                                                                                                               [ 99%]
papermill/tests/test_utils.py::test_remove_args PASSED                                                                                                                [ 99%]
papermill/tests/test_utils.py::test_retry PASSED                                                                                                                      [ 99%]
papermill/tests/test_utils.py::test_chdir PASSED                                                                                                                      [100%]

============================================================================= warnings summary ==============================================================================
.tox/py/lib/python3.11/site-packages/azure/core/rest/_helpers.py:28
  /root/papermill/.tox/py/lib/python3.11/site-packages/azure/core/rest/_helpers.py:28: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
    import cgi

.tox/py/lib/python3.11/site-packages/jupyter_client/connect.py:27
  /root/papermill/.tox/py/lib/python3.11/site-packages/jupyter_client/connect.py:27: DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs
  given by the platformdirs library.  To remove this warning and
  see the appropriate new directories, set the environment variable
  `JUPYTER_PLATFORM_DIRS=1` and then run `jupyter --paths`.
  The use of platformdirs will be the default in `jupyter_core` v6
    from jupyter_core.paths import jupyter_data_dir

papermill/tests/test_autosave.py::TestMidCellAutosave::test_end2end_autosave_slow_notebook
papermill/tests/test_autosave.py::TestMidCellAutosave::test_end2end_autosave_slow_notebook
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/test_autosave.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestNotebookHelpers::test_backslash_params
papermill/tests/test_execute.py::TestNotebookHelpers::test_backslash_quote_params
papermill/tests/test_execute.py::TestNotebookHelpers::test_cell_insertion
papermill/tests/test_execute.py::TestNotebookHelpers::test_double_backslash_quote_params
papermill/tests/test_execute.py::TestNotebookHelpers::test_quoted_params
papermill/tests/test_execute.py::TestOutputPathNone::test_output_path_of_none
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/simple_execute.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestNotebookHelpers::test_no_tags
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/no_parameters.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestBrokenNotebook1::test
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/broken1.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestBrokenNotebook2::test
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/broken2.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestReportMode::test_report_mode
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/report_mode_test.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestCWD::test_execution_respects_cwd_assignment
papermill/tests/test_execute.py::TestCWD::test_pathlib_paths
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='read_check.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestCWD::test_local_save_ignores_cwd_assignment
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='simple_execute.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestSysExit::test_sys_exit
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/sysexit.ipynb').
debug2: channel 0: window 999090 sent adjust 49486
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestSysExit::test_sys_exit0
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/sysexit0.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestSysExit::test_sys_exit1
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/sysexit1.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestSysExit::test_system_exit
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/systemexit.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestNotebookValidation::test_from_version_4_4_upgrades
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/nb_version_4.4.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestMinimalNotebook::test_no_v3_language_backport
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path='/root/papermill/papermill/tests/notebooks/blank-vscode.ipynb').
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_execute.py::TestNotebookNodeInput::test_notebook_node_input
  /root/papermill/.tox/py/lib/python3.11/site-packages/traitlets/config/configurable.py:86: DeprecationWarning: Passing unrecognized arguments to super(PapermillNotebookClient).__init__(input_path={'cells': [{'cell_type': 'code', 'execution_count': None, 'metadata': {'tags': ['parameters']}, 'outputs': [], 'source': 'msg = None'}, {'cell_type': 'code', 'execution_count': None, 'metadata': {}, 'outputs': [], 'source': '#papermill_description=DESC\nprint(msg)'}, {'cell_type': 'markdown', 'metadata': {}, 'source': ''}], 'metadata': {'celltoolbar': 'Tags', 'hide_input': False, 'kernelspec': {'display_name': 'Python 3', 'language': 'python', 'name': 'python3'}, 'language_info': {'codemirror_mode': {'name': 'ipython', 'version': 3}, 'file_extension': '.py', 'mimetype': 'text/x-python', 'name': 'python', 'nbconvert_exporter': 'python', 'pygments_lexer': 'ipython3', 'version': '3.8.5'}}, 'nbformat': 4, 'nbformat_minor': 4}).
  object.__init__() takes exactly one argument (the instance to initialize)
  This is deprecated in traitlets 4.2.This error will be raised in a future release of traitlets.
    super().__init__(**kwargs)

papermill/tests/test_iorw.py::TestPapermillIO::test_read
papermill/tests/test_iorw.py::TestPapermillIO::test_write
  /root/papermill/papermill/iorw.py:153: UserWarning: the file is not specified with any extension : path
    warnings.warn(

papermill/tests/test_iorw.py::TestPapermillIO::test_read_stdin
papermill/tests/test_iorw.py::TestPapermillIO::test_write_stdout
  /root/papermill/papermill/iorw.py:153: UserWarning: the file is not specified with any extension : -
    warnings.warn(

papermill/tests/test_iorw.py::TestPapermillIO::test_read_with_valid_file_extension
  /usr/lib/python3.11/unittest/case.py:579: PytestRemovedIn8Warning: Passing None has been deprecated.
  See https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests for alternatives in common use cases.
    if method() is not None:

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

---------- coverage: platform linux, python 3.11.1-final-0 -----------
Name                        Stmts   Miss  Cover
-----------------------------------------------
papermill/__init__.py           4      0   100%
papermill/__main__.py           1      0   100%
papermill/abs.py               32      0   100%
papermill/adl.py               34      0   100%
papermill/cli.py              115      1    99%
papermill/clientwrap.py        55      3    95%
papermill/engines.py          184      3    98%
papermill/exceptions.py        32      4    88%
papermill/execute.py           73      0   100%
papermill/inspection.py        58      0   100%
papermill/iorw.py             345     65    81%
papermill/log.py                2      0   100%
papermill/models.py             2      0   100%
papermill/parameterize.py      49      1    98%
papermill/s3.py               201     45    78%
papermill/translators.py      372      6    98%
papermill/utils.py             63      4    94%
-----------------------------------------------
TOTAL                        1622    132    92%

================================================================ 543 passed, 29 warnings in 88.66s (0:01:28) ================================================================
  py: OK (250.66=setup[160.63]+cmd[90.03] seconds)
  congratulations :) (250.71 seconds)

@tirkarthi
Copy link
Contributor

PR to run CI with Python 3.11 : #708

potiuk added a commit to potiuk/airflow that referenced this issue Jan 19, 2023
Python 3.11 has been released as scheduled on October 25, 2022 and
this is the first attempt to see how far Airflow (mostly dependencies)
are from being ready to officially support 3.11.

So far we had to exclude the following dependencies:

- [ ] Pyarrow dependency: apache/arrow#14499
- [ ] Google Provider: apache#27292
  and googleapis/python-bigquery#1386
- [ ] Databricks Provider:
  databricks/databricks-sql-python#59
- [ ] Papermill Provider: nteract/papermill#700
- [ ] Azure Provider: Azure/azure-uamqp-python#334
  and Azure/azure-sdk-for-python#27066
- [ ] Apache Beam Provider: apache/beam#23848
- [ ] Snowflake Provider:
  snowflakedb/snowflake-connector-python#1294
- [ ] JDBC Provider: jpype-project/jpype#1087
- [ ] Hive Provider: cloudera/python-sasl#30

We might decide to release Airflow in 3.11 with those providers
disabled in case they are lagging behind eventually, but for the
moment we want to work with all the projects in concert to be
able to release all providers (Google Provider requires quite
a lot of work and likely Google Team stepping up and community helping
with migration to latest Goofle cloud libraries)
@potiuk
Copy link
Author

potiuk commented May 16, 2023

Just a bit of a warning here for Papermill maintainers. We are very close to have Python 3.11 support in Apache Airflow - we are just about to merge the Google Provider upgrading ~20 client libraries which was the biggest blocker, and ApacheBeam released 2.47.0 version for Python 3.11. Similarly as it happened alredy with yandex provider - we are going to suspend Papermill provider from our releases if Papermill will be holding us back.

We have a process for that described in our process: https://github.com/apache/airflow/blob/main/PROVIDERS.rst#suspending-releases-for-providers - you can also learn there what are the consequences of being suspended (in short - no new releases of the provider until the problem is removed, papermill will be removed from "airflow" extras in the next minor relese of Airflow).

The first step of the process is to let the maintainers of the provider library that holds us back, which is happending via this comment.

Apparently there is a PR already in your repo to prevent it and add 3.11 support, and there is about a week to before we attempt to merge 3.11 charge with suspended Papermill so in case you would like to avoid the suspension, there is a about a week to get Papermill release that will support Python 3.11.

@potiuk
Copy link
Author

potiuk commented May 16, 2023

Also announced in airflow devlist https://lists.apache.org/thread/0dcvjj0f6bnjg3mk4zn32stjbxtprb5j so in case you have something to add, comment etc - feel free.

@edublancas
Copy link
Contributor

edublancas commented May 19, 2023

ploomber-engine is a drop-in replacement for papermill and it works on Python 3.11:

ploomber-engine input.ipynb output.ipynb

@potiuk: I'm the author so happy to help with any integrations

@potiuk
Copy link
Author

potiuk commented May 19, 2023

Ah. Nice!

Just thinking if maybe we should just a copy of existing papermill provider and do a "ploomber" one. I do see that papermill is pretty inactive so this would be a good idea.

Can you please start a discussion about this ("replace the papermill provider with ploomber-engine") at the devlist of Airlfow (see https://lists.apache.org/list.html?dev@airflow.apache.org) also https://airflow.apache.org/community/ has more information on joining the list. We have now pretty formal way of accepting new providers - especially if they are connected to existing services. So we would need to understand what is the relation between ploomber.io and ploomber-engine, can you use it with, or only without it and how much "open" the open-source (BSD licenced I see, which is cool) the engine is.

I think we need a bit more context (maybe links to some blogs and explanation why you decided to develop it) and I think we can take it from there.

@potiuk
Copy link
Author

potiuk commented May 22, 2023

Just merged 3.11. FYI. Even if the official 3.11 support is not merged, at least the build and test work for Papermill. so we are not suspending it for now.

@Borda
Copy link
Member

Borda commented Nov 21, 2023

@willingc I see running tests with py3.11 and py3.12, so I guess this has been resolved, right?
https://github.com/nteract/papermill/actions/runs/6912135810/job/18807515190

@potiuk
Copy link
Author

potiuk commented Nov 21, 2023

I believe so. We have no exclusions, no report from users (but it might also be because it is not used - it's not the most popular provider of ours (in pypistats it has ~1.5% of airflow downloads) but for all practical purposes it can be closed.

@potiuk potiuk closed this as completed Nov 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants