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

Python 3 support #14

Closed
nsoranzo opened this issue Jun 25, 2016 · 51 comments

Comments

Projects
None yet
8 participants
@nsoranzo
Copy link
Collaborator

commented Jun 25, 2016

Python 2.7 will not be maintained past 2020.

Add support for Python >= 3.3 while maintaining support for Python 2.6 and 2.7.

xref.: https://trello.com/c/dZcCVf9I/2702-migrate-to-python-3

The list of files already fixed is in .ci/py3_sources.txt

Useful tools and documentation:
https://docs.python.org/3/howto/pyporting.html
https://docs.python.org/2/library/2to3.html
https://python-modernize.readthedocs.org/
https://pythonhosted.org/six/
http://python3porting.com/preparing.html

Requirements which need to be ported or dropped:

xref: galaxyproject#1715

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

Example pull request: galaxyproject#2453

Useful commands:

  • clone this repository:
git clone https://github.com/bxlab/galaxy_hackathon
  • checkout the python3 branch:
cd galaxy_hackathon/
git checkout python3
  • create virtual environment for Galaxy:
./scripts/common_startup.sh
  • activate virtual environment:
. .venv/bin/activate
  • install tox and flake8:
pip install tox flake8
  • Lint for Python 2.7:
tox -e py27-lint
  • Lint for Python 3.4
tox -e py34-lint
  • file containing the list of files to lint for Python 3.4: .ci/py3_sources.txt

  • Other tests:

    • Check that Galaxy starts correctly:
    ./run.sh
    
    • Unit tests:
    tox -e py27-unit
    
    • Framework tests
    ./run_tests.sh -framework
    
    • ToolShed tests:
    ./run.sh -toolshed
    

When done with changing the python file(s), make sure all tests pass and both python2 and 3 lint is OK. Then add the file(s) that are OK to this file, to check them automatically with python 3 lint:
.ci/py3_sources.txt

@jmchilton

This comment has been minimized.

Copy link

commented Jun 25, 2016

Smaller PRs or are we going to merge a bunch of stuff together?

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

@jmchilton Still have to figure how to split the work among people, suggestions welcome!

@jxtx

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

Regarding bx-python, code is now here and the tests run/pass. I will merge any Python 3 changes that don't break the tests under 2.

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

@jxtx Thanks! I've removed it from the list.

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

List of files that do not pass py34-lint tests:

./lib/galaxy/datatypes/util/gff_util.py (can't be done for now because of bx-python)
./lib/galaxy/model/tool_shed_install/migrate/versions/0001_add_tool_shed_repository_table.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0002_add_tool_shed_repository_table_columns.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0003_tool_id_guid_map_table.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0004_add_installed_changeset_revison_column.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0005_add_tool_shed_repository_table_columns.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0006_add_tool_version_tables.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0007_add_migrate_tools_table.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0008_add_ctx_rev_column.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0009_add_tool_dependency_table.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0010_alter_tool_dependency_table_version_column.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0011_drop_installed_changeset_revision_column.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0012_add_tool_dependency_status_columns.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0013_add_tool_shed_repository_status_columns.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0014_add_repository_dependency_tables.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0015_update_migrate_tools_table.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0016_update_migrate_tools_table_again.py
./lib/galaxy/model/tool_shed_install/migrate/versions/0017_drop_update_available_col_add_tool_shed_status_col.py
./lib/galaxy/tools/actions/__init__.py
./lib/galaxy/tools/data/__init__.py
./lib/galaxy/tools/evaluation.py
./lib/galaxy/tools/imp_exp/export_history.py
./lib/galaxy/tools/imp_exp/unpack_tar_gz_archive.py
./lib/galaxy/tools/__init__.py
./lib/galaxy/tools/util/maf_utilities.py
./lib/galaxy/tools/wrappers.py
./lib/galaxy/webapps/galaxy/api/lda_datasets.py
./lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
./lib/galaxy/webapps/galaxy/controllers/library_common.py
./lib/galaxy/webapps/tool_shed/config.py
./lib/galaxy/webapps/tool_shed/model/__init__.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0001_initial_tables.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0002_add_tool_suite_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0003_review_and_review_association_tables.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0004_repository_tables.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0005_drop_tool_related_tables.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0006_add_email_alerts_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0007_add_long_description_times_downloaded_columns.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0008_add_repository_metadata_table.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0009_add_malicious_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0010_add_new_repo_alert_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0011_add_tool_versions_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0012_add_downloadable_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0013_add_review_tables.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0014_add_deprecated_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0015_add_api_keys_table.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0016_add_do_not_test_tools_functionally_correct_errors_columns.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0017_add_galaxy_utility_columns_to_repository_metadata_table.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0018_add_repository_metadata_flag_columns.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0019_add_skip_tool_test_table_and_test_install_error_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0020_add_repository_type_column.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0021_change_repository_type_value.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0022_add_repository_admin_roles.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0023_add_repository_url_and_hompeage_url.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0024_password_reset.py
./lib/galaxy/webapps/tool_shed/model/migrate/versions/0025_session_timeout.py
./lib/galaxy/webapps/tool_shed/search/repo_search.py
./lib/galaxy/web/base/controller.py
./lib/galaxy/workflow/steps.py
./lib/mimeparse.py
./lib/tool_shed/galaxy_install/datatypes/custom_datatype_manager.py
./lib/tool_shed/galaxy_install/migrate/common.py
./lib/tool_shed/galaxy_install/migrate/versions/0001_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0002_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0003_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0004_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0005_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0006_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0007_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0008_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0009_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0010_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0011_tools.py
./lib/tool_shed/galaxy_install/migrate/versions/0012_tools.py
./lib/tool_shed/galaxy_install/tool_migration_manager.py
./scripts/extract_toolbox_sections.py
./scripts/fetch_eggs.py
./scripts/get_platforms.py
./scripts/helper.py
./scripts/loc_files/create_all_fasta_loc.py
./scripts/manage_tools.py
./scripts/metagenomics/convert_title.py
./scripts/microbes/BeautifulSoup.py
./scripts/microbes/create_bacteria_loc_file.py
./scripts/microbes/create_bacteria_table.py
./scripts/microbes/create_nib_seq_loc_file.py
./scripts/microbes/get_builds_lengths.py
./scripts/microbes/harvest_bacteria.py
./scripts/microbes/ncbi_to_ucsc.py
./scripts/migrate_tools/migrate_tools.py
./scripts/others/incorrect_gops_jobs.py
./scripts/others/incorrect_gops_join_jobs.py
./scripts/set_dataset_sizes.py
./scripts/set_user_disk_usage.py
./scripts/tool_shed/api/add_repository_registry_entry.py
./scripts/tool_shed/api/common.py
./scripts/tool_shed/api/create_categories.py
./scripts/tool_shed/api/create_users.py
./scripts/tool_shed/api/export.py
./scripts/tool_shed/api/get_filtered_repository_revisions.py
./scripts/tool_shed/api/remove_repository_registry_entry.py
./scripts/tool_shed/api/reset_metadata_on_repositories.py
./scripts/tool_shed/bootstrap_tool_shed/bootstrap_util.py
./scripts/tool_shed/bootstrap_tool_shed/create_user_with_api_key.py
./scripts/tool_shed/build_ts_whoosh_index.py
./scripts/tool_shed/check_download_urls.py
./scripts/tool_shed/check_filesystem_for_empty_tool_dependency_installation_paths.py
./scripts/tool_shed/check_s3_for_empty_tool_dependency_installation_paths.py
./scripts/tool_shed/clean_up_tool_dependency_directory.py
./scripts/tool_shed/deprecate_repositories_without_metadata.py
./scripts/tool_shed/migrate_tools_to_repositories.py
./scripts/tool_shed/show_tool_dependency_installation_dir_contents.py
./scripts/tools/maf/check_loc_file.py
./scripts/update_shed_config_path.py
./tools/extract/extract_genomic_dna.py
./tools/filters/axt_to_concat_fasta.py
./tools/filters/axt_to_fasta.py
./tools/filters/bed_to_gff_converter.py
./tools/filters/convert_characters.py
./tools/filters/gff/extract_GFF_Features.py
./tools/filters/gff/gff_filter_by_attribute.py
./tools/filters/gff/gff_filter_by_feature_count.py
./tools/filters/gff_to_bed_converter.py
./tools/filters/grep.py
./tools/filters/gtf_to_bedgraph_converter.py
./tools/filters/join.py
./tools/filters/lav_to_bed.py
./tools/filters/mergeCols.py
./tools/filters/random_lines_two_pass.py
./tools/filters/sff_extract.py
./tools/filters/trimmer.py
./tools/filters/ucsc_gene_bed_to_exon_bed.py
./tools/filters/ucsc_gene_table_to_intervals.py
./tools/filters/uniq.py
./tools/filters/wiggle_to_simple.py
./tools/genomespace/genomespace_exporter.py
./tools/maf/interval2maf.py
./tools/maf/interval_maf_to_merged_fasta.py
./tools/maf/maf_by_block_number.py
./tools/maf/maf_filter.py
./tools/maf/maf_limit_size.py
./tools/maf/maf_limit_to_species.py
./tools/maf/maf_reverse_complement.py
./tools/maf/maf_split_by_species.py
./tools/maf/maf_stats.py
./tools/maf/maf_thread_for_species.py
./tools/maf/maf_to_bed.py
./tools/maf/maf_to_fasta_concat.py
./tools/maf/maf_to_fasta_multiple_sets.py
./tools/maf/vcf_to_maf_customtrack.py
./tools/metag_tools/shrimp_color_wrapper.py
./tools/metag_tools/shrimp_wrapper.py
./tools/next_gen_conversion/solid_to_fastq.py
./tools/ngs_simulation/ngs_simulation.py
./tools/phenotype_association/pagetag.py
./tools/phenotype_association/senatag.py
./tools/solid_tools/solid_qual_stats.py
./tools/sr_assembly/velvetg_wrapper.py
./tools/stats/filtering.py
./tools/stats/grouping.py
./tools/stats/gsummary.py
@jxtx

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

@nsoranzo Sorry, to be clear the tests run/pass under Python 2. Still needs work for python 3.

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

@jxtx Ohhh, OK. I don't think we will have time for that today, but I'll open an issue on your repo.

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

@jmchilton I've created a python3 branch on this repo. Anybody feel free to call dibs on the file you want to update by commenting on this issue.

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

I will start with ./lib/galaxy/dataset_collections/structure.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

Doing test/unit/test_galaxy_mapping.py

OK, done.

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

Doing ./test/api/helpers.py

@jmchilton

This comment has been minimized.

Copy link

commented Jun 25, 2016

WIP on getting an unit test to run in Python 3.

jmchilton@b3c6819

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

doing ./test/api/test_datasets.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

I've done ./lib/galaxy/security/passwords.py

@xiaoqian1984

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

doing ./test/unit/managers/base.py

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

doing ./test/api/test_tool_data.py

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

doing ./test/api/test_workflow_extraction.py

@xiaoqian1984

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

doing ./test/unit/managers/test_DatasetManager.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

Doing ./tools/stats/aggregate_scores_in_intervals.py
Done

@xiaoqian1984

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

doing ./test/unit/managers/test_HDAManager.py

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

Done
test/api/helpers.py
test/api/test_datasets.py
test/api/test_tool_data.py
test/api/test_workflow_extraction.py
test/api/test_workflows.py

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

found something interesting maybe helpful for this project

Cheat Sheet: Writing Python 2-3 compatible code
http://python-future.org/compatible_idioms.html

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

Done:
test/shed_functional/base/twilltestcase.py
test/shed_functional/functional_tests.py
test/unit/datatypes/dataproviders/test_base_dataproviders.py

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

test/unit/datatypes/dataproviders/test_line_dataproviders.py
scripts/api/data_manager_example_execute.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

Doing lib/galaxy/datatypes/converters/interval_to_bedstrict_converter.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

I'm doing lib/galaxy/datatypes/binary.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 25, 2016

lib/galaxy/datatypes/sequence.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 25, 2016

Doing lib/galaxy/datatypes/converters/interval_to_bed_converter.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

./lib/galaxy/datatypes/sniff.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

./lib/galaxy/datatypes/converters/fastq_to_fqtoc.py
./lib/galaxy/datatypes/converters/gff_to_bed_converter.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

./lib/galaxy/datatypes/tabular.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

lib/galaxy/datatypes/converters/bed_to_gff_converter.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

./lib/galaxy/datatypes/converters/lped_to_fped_converter.py
./lib/galaxy/datatypes/converters/lped_to_pbed_converter.py
./lib/galaxy/datatypes/converters/maf_to_fasta_converter.py
./lib/galaxy/datatypes/converters/maf_to_interval_converter.py

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

scripts/api/example_watch_folder.py
scripts/api/form_create_from_xml.py
scripts/api/history_delete_history.py
scripts/api/import_library_dataset_to_history.py
scripts/api/import_workflows_from_installed_tool_shed_repository.py
scripts/api/library_create_folder.py
scripts/api/library_create_library.py
scripts/api/library_upload_from_import_dir.py
scripts/api/load_data_with_metadata.py
scripts/api/repair_tool_shed_repository.py
scripts/api/requests_update_state.py
scripts/api/request_type_create_from_xml.py
scripts/api/sample_dataset_update_status.py
scripts/api/sample_update_state.py
scripts/api/search.py
scripts/api/sequencer_configuration_create.py
scripts/api/upload_to_history.py
scripts/api/workflow_delete.py
scripts/api/workflow_execute.py
scripts/api/workflow_import_from_file_rpark.py
scripts/api/workflow_import.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

./lib/galaxy/datatypes/util/gff_util.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

./lib/galaxy/datatypes/dataproviders/line.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

./lib/galaxy/datatypes/dataproviders/column.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

./lib/galaxy/managers/context.py

@junzwang

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

./scripts/bootstrap_history.py
./scripts/build_toolbox.py
./scripts/check_eggs.py
./scripts/check_galaxy.py
./scripts/check_python.py
./scripts/cleanup_datasets/pgcleanup.py
./scripts/cleanup_datasets/populate_uuid.py
./scripts/cleanup_datasets/remove_renamed_datasets_from_disk.py
./scripts/cleanup_datasets/rename_purged_datasets.py
./scripts/cleanup_datasets/update_dataset_size.py
./scripts/cleanup_datasets/update_metadata.py
./scripts/data_libraries/build_whoosh_index.py
./scripts/db_shell.py
./scripts/drmaa_external_runner.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

./lib/galaxy/datatypes/converters/pbed_ldreduced_converter.py
./lib/galaxy/datatypes/converters/pbed_to_lped_converter.py
./lib/galaxy/datatypes/converters/picard_interval_list_to_bed6_converter.py
./lib/galaxy/datatypes/converters/ref_to_seq_taxonomy_converter.py
./lib/galaxy/datatypes/converters/wiggle_to_simple_converter.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

./lib/galaxy/model/__init__.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

./lib/galaxy/visualization/genomes.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

./lib/galaxy/model/migrate/versions/0006_change_qual_datatype.py
./lib/galaxy/model/migrate/versions/0007_sharing_histories.py
./lib/galaxy/model/migrate/versions/0008_galaxy_forms.py
./lib/galaxy/model/migrate/versions/0009_request_table.py
./lib/galaxy/model/migrate/versions/0010_hda_display_at_authz_table.py
./lib/galaxy/model/migrate/versions/0011_v0010_mysql_index_fix.py
./lib/galaxy/model/migrate/versions/0012_user_address.py
./lib/galaxy/model/migrate/versions/0013_change_lib_item_templates_to_forms.py

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 26, 2016

lib/galaxy/visualization/data_providers/phyloviz/newickparser.py

@tshtatland

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

./lib/galaxy/model/migrate/versions/0014_pages.py
./lib/galaxy/model/migrate/versions/0015_tagging.py
./lib/galaxy/model/migrate/versions/0016_v0015_mysql_index_fix.py
./lib/galaxy/model/migrate/versions/0017_library_item_indexes.py
./lib/galaxy/model/migrate/versions/0018_ordered_tags_and_page_tags.py
./lib/galaxy/model/migrate/versions/0019_request_library_folder.py
./lib/galaxy/model/migrate/versions/0020_library_upload_job.py
./lib/galaxy/model/migrate/versions/0021_user_prefs.py
./lib/galaxy/model/migrate/versions/0022_visualization_tables.py
./lib/galaxy/model/migrate/versions/0023_page_published_and_deleted_columns.py

@ericenns

This comment has been minimized.

Copy link
Collaborator

commented Jun 26, 2016

+lib/galaxy/model/migrate/versions/0024_page_slug_unique_constraint.py
+lib/galaxy/model/migrate/versions/0025_user_info.py
+lib/galaxy/model/migrate/versions/0026_cloud_tables.py
+lib/galaxy/model/migrate/versions/0027_request_events.py
+lib/galaxy/model/migrate/versions/0028_external_metadata_file_override.py
+lib/galaxy/model/migrate/versions/0029_user_actions.py
+lib/galaxy/model/migrate/versions/0030_history_slug_column.py
+lib/galaxy/model/migrate/versions/0031_community_and_workflow_tags.py
+lib/galaxy/model/migrate/versions/0032_stored_workflow_slug_column.py
+lib/galaxy/model/migrate/versions/0033_published_cols_for_histories_and_workflows.py
+lib/galaxy/model/migrate/versions/0034_page_user_share_association.py
+lib/galaxy/model/migrate/versions/0035_item_annotations_and_workflow_step_tags.py
+lib/galaxy/model/migrate/versions/0036_add_deleted_column_to_library_template_assoc_tables.py
+lib/galaxy/model/migrate/versions/0037_samples_library.py
+lib/galaxy/model/migrate/versions/0038_add_inheritable_column_to_library_template_assoc_tables.py
+lib/galaxy/model/migrate/versions/0039_add_synopsis_column_to_library_table.py
+lib/galaxy/model/migrate/versions/0040_page_annotations.py
+lib/galaxy/model/migrate/versions/0041_workflow_invocation.py
+lib/galaxy/model/migrate/versions/0042_workflow_invocation_fix.py
+lib/galaxy/model/migrate/versions/0043_visualization_sharing_tagging_annotating.py
+lib/galaxy/model/migrate/versions/0044_add_notify_column_to_request_table.py
+lib/galaxy/model/migrate/versions/0045_request_type_permissions_table.py
+lib/galaxy/model/migrate/versions/0046_post_job_actions.py
+lib/galaxy/model/migrate/versions/0047_job_table_user_id_column.py
+lib/galaxy/model/migrate/versions/0048_dataset_instance_state_column.py
+lib/galaxy/model/migrate/versions/0049_api_keys_table.py
+lib/galaxy/model/migrate/versions/0050_drop_cloud_tables.py
+lib/galaxy/model/migrate/versions/0051_imported_col_for_jobs_table.py
+lib/galaxy/model/migrate/versions/0052_sample_dataset_table.py
+lib/galaxy/model/migrate/versions/0053_item_ratings.py
+lib/galaxy/model/migrate/versions/0054_visualization_dbkey.py
+lib/galaxy/model/migrate/versions/0055_add_pja_assoc_for_jobs.py
+lib/galaxy/model/migrate/versions/0056_workflow_outputs.py
+lib/galaxy/model/migrate/versions/0057_request_notify.py
+lib/galaxy/model/migrate/versions/0058_history_import_export.py
+lib/galaxy/model/migrate/versions/0059_sample_dataset_file_path.py
+lib/galaxy/model/migrate/versions/0060_history_archive_import.py
+lib/galaxy/model/migrate/versions/0061_tasks.py
+lib/galaxy/model/migrate/versions/0062_user_openid_table.py
+lib/galaxy/model/migrate/versions/0063_sequencer_table.py
+lib/galaxy/model/migrate/versions/0064_add_run_and_sample_run_association_tables.py
+lib/galaxy/model/migrate/versions/0065_add_name_to_form_fields_and_values.py
+lib/galaxy/model/migrate/versions/0066_deferred_job_and_transfer_job_tables.py
+lib/galaxy/model/migrate/versions/0067_populate_sequencer_table.py
+lib/galaxy/model/migrate/versions/0068_rename_sequencer_to_external_services.py
+lib/galaxy/model/migrate/versions/0069_rename_sequencer_form_type.py
+lib/galaxy/model/migrate/versions/0070_add_info_column_to_deferred_job_table.py
+lib/galaxy/model/migrate/versions/0071_add_history_and_workflow_to_sample.py
+lib/galaxy/model/migrate/versions/0072_add_pid_and_socket_columns_to_transfer_job_table.py
+lib/galaxy/model/migrate/versions/0073_add_ldda_to_implicit_conversion_table.py
+lib/galaxy/model/migrate/versions/0074_add_purged_column_to_library_dataset_table.py
+lib/galaxy/model/migrate/versions/0075_add_subindex_column_to_run_table.py
+lib/galaxy/model/migrate/versions/0076_fix_form_values_data_corruption.py
+lib/galaxy/model/migrate/versions/0077_create_tool_tag_association_table.py
+lib/galaxy/model/migrate/versions/0078_add_columns_for_disk_usage_accounting.py
+lib/galaxy/model/migrate/versions/0079_input_library_to_job_table.py
+lib/galaxy/model/migrate/versions/0080_quota_tables.py
+lib/galaxy/model/migrate/versions/0081_add_tool_version_to_hda_ldda.py
+lib/galaxy/model/migrate/versions/0082_add_tool_shed_repository_table.py
+lib/galaxy/model/migrate/versions/0083_add_prepare_files_to_task.py
+lib/galaxy/model/migrate/versions/0084_add_ldda_id_to_implicit_conversion_table.py
+lib/galaxy/model/migrate/versions/0085_add_task_info.py
+lib/galaxy/model/migrate/versions/0086_add_tool_shed_repository_table_columns.py
+lib/galaxy/model/migrate/versions/0087_tool_id_guid_map_table.py
+lib/galaxy/model/migrate/versions/0088_add_installed_changeset_revison_column.py
+lib/galaxy/model/migrate/versions/0089_add_object_store_id_columns.py
+lib/galaxy/model/migrate/versions/0090_add_tool_shed_repository_table_columns.py
+lib/galaxy/model/migrate/versions/0091_add_tool_version_tables.py
+lib/galaxy/model/migrate/versions/0092_add_migrate_tools_table.py
+lib/galaxy/model/migrate/versions/0093_add_job_params_col.py
+lib/galaxy/model/migrate/versions/0094_add_job_handler_col.py
+lib/galaxy/model/migrate/versions/0095_hda_subsets.py
+lib/galaxy/model/migrate/versions/0096_openid_provider.py
+lib/galaxy/model/migrate/versions/0097_add_ctx_rev_column.py
+lib/galaxy/model/migrate/versions/0098_genome_index_tool_data_table.py
+lib/galaxy/model/migrate/versions/0099_add_tool_dependency_table.py
+lib/galaxy/model/migrate/versions/0100_alter_tool_dependency_table_version_column.py
+lib/galaxy/model/migrate/versions/0101_drop_installed_changeset_revision_column.py
+lib/galaxy/model/migrate/versions/0102_add_tool_dependency_status_columns.py
+lib/galaxy/model/migrate/versions/0103_add_tool_shed_repository_status_columns.py
+lib/galaxy/model/migrate/versions/0105_add_cleanup_event_table.py
+lib/galaxy/model/migrate/versions/0106_add_missing_indexes.py
+lib/galaxy/model/migrate/versions/0107_add_exit_code_to_job_and_task.py
+lib/galaxy/model/migrate/versions/0108_add_extended_metadata.py
+lib/galaxy/model/migrate/versions/0109_add_repository_dependency_tables.py
+lib/galaxy/model/migrate/versions/0110_add_dataset_uuid.py
+lib/galaxy/model/migrate/versions/0111_add_job_destinations.py
+lib/galaxy/model/migrate/versions/0112_add_data_manager_history_association_and_data_manager_job_association_tables.py
+lib/galaxy/model/migrate/versions/0113_update_migrate_tools_table.py
+lib/galaxy/model/migrate/versions/0114_update_migrate_tools_table_again.py
+lib/galaxy/model/migrate/versions/0116_drop_update_available_col_add_tool_shed_status_col.py
+lib/galaxy/model/migrate/versions/0117_add_user_activation.py
+lib/galaxy/model/migrate/versions/0118_add_hda_extended_metadata.py
+lib/galaxy/model/migrate/versions/0119_job_metrics.py
+lib/galaxy/model/migrate/versions/0120_dataset_collections.py
+lib/galaxy/model/migrate/versions/0121_workflow_uuids.py
+lib/galaxy/model/migrate/versions/0122_grow_mysql_blobs.py
+lib/galaxy/model/migrate/versions/0123_add_workflow_request_tables.py
+lib/galaxy/model/migrate/versions/0124_job_state_history.py
+lib/galaxy/model/migrate/versions/0125_workflow_step_tracking.py
+lib/galaxy/model/migrate/versions/0126_password_reset.py
+lib/galaxy/model/migrate/versions/0127_output_collection_adjustments.py
+lib/galaxy/model/migrate/versions/0128_session_timeout.py
+lib/galaxy/model/migrate/versions/0129_job_external_output_metadata_validity.py
+lib/galaxy/model/migrate/versions/0130_change_pref_datatype.py
+lib/galaxy/model/migrate/versions/0131_subworkflow_and_input_parameter_modules.py

@NickSto

This comment has been minimized.

Copy link

commented Jun 26, 2016

Hey, so I was looking at lending a hand in this, and trying to read up on porting methods.

I notice that the example pull request doesn't really touch strings, instead of using any of the methods I've seen like unicode_literals or six.u().

What was the reasoning in going with this strategy? Are there things to watch out for when applying it?

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 27, 2016

@NickSto You are very welcome to contribute to this effort, feel free to add commits to the python3 branch of this repository (I plan to create a PR of this amazing collective work around the end of GCC2016).

Regarding your question, there is no need to use six.u() because u'mystring' is supported both in Python 2 and >=3.3 (see https://docs.python.org/3/whatsnew/3.3.html ) and we plan to support 2.7 and >= 3.4.

If you want a short introduction of the recommended approach to do the porting, we can meet for 10' tomorrow at some point.

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 27, 2016

@tshtatland @ericenns Do not forget to add

from __future__ import print_function

at the top of a file when you change print to print() in a it. I've fixed the already modified files.

@nsoranzo

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 29, 2016

I've opened PR galaxyproject#2574, thank you all for the fantastic contribution!
Let's continue to track progress on galaxyproject#1715.

@nsoranzo nsoranzo closed this Jun 29, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.