easylink 0.1.18__tar.gz → 0.1.20__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. {easylink-0.1.18 → easylink-0.1.20}/CHANGELOG.rst +8 -0
  2. easylink-0.1.20/Jenkinsfile +9 -0
  3. easylink-0.1.20/LICENSE +28 -0
  4. {easylink-0.1.18 → easylink-0.1.20}/PKG-INFO +5 -1
  5. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/index.rst +1 -0
  6. easylink-0.1.20/docs/source/concepts/pipeline_schema/images/clustering_sub_steps.drawio.png +0 -0
  7. easylink-0.1.20/docs/source/concepts/pipeline_schema/images/easylink_pipeline_schema.drawio.png +0 -0
  8. easylink-0.1.20/docs/source/concepts/pipeline_schema/images/entity_resolution_sub_steps.drawio.png +0 -0
  9. easylink-0.1.20/docs/source/concepts/pipeline_schema/images/linking_sub_steps.drawio.png +0 -0
  10. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/index.rst +409 -125
  11. easylink-0.1.20/docs/source/concepts/workarounds.rst +127 -0
  12. {easylink-0.1.18 → easylink-0.1.20}/docs/source/conf.py +0 -4
  13. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/getting_started.rst +6 -6
  14. {easylink-0.1.18 → easylink-0.1.20}/setup.py +2 -0
  15. easylink-0.1.20/src/easylink/_version.py +1 -0
  16. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/cli.py +15 -3
  17. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/configuration.py +25 -2
  18. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/devtools/implementation_creator.py +75 -13
  19. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/implementation.py +88 -11
  20. easylink-0.1.20/src/easylink/implementation_metadata.yaml +364 -0
  21. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/pipeline.py +15 -6
  22. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/pipeline_schema_constants/__init__.py +2 -2
  23. easylink-0.1.20/src/easylink/pipeline_schema_constants/main.py +489 -0
  24. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/runner.py +7 -1
  25. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/step.py +89 -0
  26. easylink-0.1.20/src/easylink/steps/cascading/exclude_clustered.def +22 -0
  27. easylink-0.1.20/src/easylink/steps/cascading/exclude_clustered.py +76 -0
  28. easylink-0.1.20/src/easylink/steps/cascading/exclude_none.def +22 -0
  29. easylink-0.1.20/src/easylink/steps/cascading/exclude_none.py +76 -0
  30. easylink-0.1.20/src/easylink/steps/cascading/update_clusters_by_connected_components.def +22 -0
  31. easylink-0.1.20/src/easylink/steps/cascading/update_clusters_by_connected_components.py +109 -0
  32. easylink-0.1.20/src/easylink/steps/default/default_clusters_to_links.def +22 -0
  33. easylink-0.1.20/src/easylink/steps/default/default_clusters_to_links.py +91 -0
  34. easylink-0.1.20/src/easylink/steps/default/default_determining_exclusions.def +22 -0
  35. easylink-0.1.20/src/easylink/steps/default/default_determining_exclusions.py +81 -0
  36. easylink-0.1.20/src/easylink/steps/default/default_removing_records.def +22 -0
  37. easylink-0.1.20/src/easylink/steps/default/default_removing_records.py +59 -0
  38. easylink-0.1.20/src/easylink/steps/default/default_schema_alignment.def +22 -0
  39. easylink-0.1.20/src/easylink/steps/default/default_schema_alignment.py +53 -0
  40. easylink-0.1.20/src/easylink/steps/default/default_updating_clusters.def +22 -0
  41. easylink-0.1.20/src/easylink/steps/default/default_updating_clusters.py +67 -0
  42. easylink-0.1.20/src/easylink/steps/fastLink/fastLink_evaluating_pairs.R +136 -0
  43. easylink-0.1.20/src/easylink/steps/fastLink/fastLink_evaluating_pairs.def +21 -0
  44. easylink-0.1.20/src/easylink/steps/fastLink/fastLink_links_to_clusters.R +128 -0
  45. easylink-0.1.20/src/easylink/steps/fastLink/fastLink_links_to_clusters.def +21 -0
  46. easylink-0.1.20/src/easylink/steps/rl-dummy/canonicalizing_and_downstream_analysis/dummy_canonicalizing_and_downstream_analysis.def +22 -0
  47. easylink-0.1.20/src/easylink/steps/rl-dummy/canonicalizing_and_downstream_analysis/dummy_canonicalizing_and_downstream_analysis.py +42 -0
  48. easylink-0.1.20/src/easylink/steps/rl-dummy/input_data/create_input_files.ipynb +1433 -0
  49. easylink-0.1.20/src/easylink/steps/rl-dummy/input_data/input_file_1.parquet +0 -0
  50. easylink-0.1.20/src/easylink/steps/rl-dummy/input_data/input_file_2.parquet +0 -0
  51. easylink-0.1.20/src/easylink/steps/rl-dummy/input_data/known_clusters.parquet +0 -0
  52. easylink-0.1.20/src/easylink/steps/rl-dummy/pre-processing/dummy_pre-processing.def +22 -0
  53. easylink-0.1.20/src/easylink/steps/rl-dummy/pre-processing/dummy_pre-processing.py +59 -0
  54. easylink-0.1.20/src/easylink/steps/splink/splink_blocking_and_filtering.def +22 -0
  55. easylink-0.1.20/src/easylink/steps/splink/splink_blocking_and_filtering.py +130 -0
  56. easylink-0.1.20/src/easylink/steps/splink/splink_evaluating_pairs.def +22 -0
  57. easylink-0.1.20/src/easylink/steps/splink/splink_evaluating_pairs.py +164 -0
  58. easylink-0.1.20/src/easylink/steps/splink/splink_links_to_clusters.def +22 -0
  59. easylink-0.1.20/src/easylink/steps/splink/splink_links_to_clusters.py +63 -0
  60. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/utilities/data_utils.py +72 -0
  61. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/utilities/paths.py +4 -3
  62. easylink-0.1.20/src/easylink/utilities/validation_utils.py +556 -0
  63. {easylink-0.1.18 → easylink-0.1.20}/src/easylink.egg-info/PKG-INFO +5 -1
  64. {easylink-0.1.18 → easylink-0.1.20}/src/easylink.egg-info/SOURCES.txt +45 -1
  65. {easylink-0.1.18 → easylink-0.1.20}/src/easylink.egg-info/requires.txt +2 -0
  66. easylink-0.1.20/tests/e2e/pipeline_splink_dummy_results.csv +39 -0
  67. {easylink-0.1.18 → easylink-0.1.20}/tests/e2e/test_easylink_run.py +6 -4
  68. easylink-0.1.20/tests/e2e/test_pipelines_main_schema.py +214 -0
  69. {easylink-0.1.18 → easylink-0.1.20}/tests/e2e/test_step_types.py +2 -0
  70. {easylink-0.1.18 → easylink-0.1.20}/tests/integration/test_compositions.py +2 -2
  71. easylink-0.1.20/tests/integration/test_data_utils.py +21 -0
  72. {easylink-0.1.18 → easylink-0.1.20}/tests/integration/test_snakemake.py +3 -0
  73. {easylink-0.1.18 → easylink-0.1.20}/tests/integration/test_snakemake_slurm.py +2 -0
  74. {easylink-0.1.18 → easylink-0.1.20}/tests/integration/test_snakemake_spark.py +2 -0
  75. easylink-0.1.20/tests/specifications/common/input_data.yaml +4 -0
  76. easylink-0.1.20/tests/specifications/common/input_data_one_file.yaml +2 -0
  77. easylink-0.1.20/tests/specifications/e2e/input_data_dummy.yaml +4 -0
  78. easylink-0.1.20/tests/specifications/e2e/pipeline_cascade.yaml +134 -0
  79. easylink-0.1.20/tests/specifications/e2e/pipeline_splink_dummy.yaml +69 -0
  80. easylink-0.1.20/tests/specifications/e2e/pipeline_with_fastLink.yaml +67 -0
  81. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/pipeline_local.txt +6 -6
  82. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/pipeline_slurm.txt +6 -6
  83. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_config.py +4 -4
  84. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_data_utils.py +0 -1
  85. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_implementation.py +27 -0
  86. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_implementation_creator.py +57 -12
  87. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_pipeline.py +3 -1
  88. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_pipeline_graph.py +6 -6
  89. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_runner.py +2 -2
  90. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_validations.py +72 -33
  91. easylink-0.1.18/Jenkinsfile +0 -6
  92. easylink-0.1.18/docs/source/concepts/pipeline_schema/images/17_draws.drawio.png +0 -0
  93. easylink-0.1.18/docs/source/concepts/pipeline_schema/images/clustering_sub_steps.drawio.png +0 -0
  94. easylink-0.1.18/docs/source/concepts/pipeline_schema/images/easylink_pipeline_schema.drawio.png +0 -0
  95. easylink-0.1.18/docs/source/concepts/pipeline_schema/images/entity_resolution_sub_steps.drawio.png +0 -0
  96. easylink-0.1.18/src/easylink/_version.py +0 -1
  97. easylink-0.1.18/src/easylink/implementation_metadata.yaml +0 -213
  98. easylink-0.1.18/src/easylink/utilities/validation_utils.py +0 -58
  99. easylink-0.1.18/tests/specifications/common/input_data.yaml +0 -3
  100. easylink-0.1.18/tests/specifications/common/input_data_one_file.yaml +0 -1
  101. {easylink-0.1.18 → easylink-0.1.20}/.bandit +0 -0
  102. {easylink-0.1.18 → easylink-0.1.20}/.flake8 +0 -0
  103. {easylink-0.1.18 → easylink-0.1.20}/.github/CODEOWNERS +0 -0
  104. {easylink-0.1.18 → easylink-0.1.20}/.github/pull_request_template.md +0 -0
  105. {easylink-0.1.18 → easylink-0.1.20}/.github/workflows/deploy.yml +0 -0
  106. {easylink-0.1.18 → easylink-0.1.20}/.github/workflows/update_readme.yml +0 -0
  107. {easylink-0.1.18 → easylink-0.1.20}/.gitignore +0 -0
  108. {easylink-0.1.18 → easylink-0.1.20}/.readthedocs.yml +0 -0
  109. {easylink-0.1.18 → easylink-0.1.20}/CONTRIBUTING.rst +0 -0
  110. {easylink-0.1.18 → easylink-0.1.20}/Makefile +0 -0
  111. {easylink-0.1.18 → easylink-0.1.20}/README.rst +0 -0
  112. {easylink-0.1.18 → easylink-0.1.20}/docs/Makefile +0 -0
  113. {easylink-0.1.18 → easylink-0.1.20}/docs/nitpick-exceptions +0 -0
  114. {easylink-0.1.18 → easylink-0.1.20}/docs/source/_static/style.css +0 -0
  115. {easylink-0.1.18 → easylink-0.1.20}/docs/source/_templates/layout.html +0 -0
  116. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/cli.rst +0 -0
  117. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/configuration.rst +0 -0
  118. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/graph_components.rst +0 -0
  119. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/implementation.rst +0 -0
  120. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/index.rst +0 -0
  121. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/pipeline.rst +0 -0
  122. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/pipeline_graph.rst +0 -0
  123. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/pipeline_schema.rst +0 -0
  124. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/pipeline_schema_constants/development.rst +0 -0
  125. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/pipeline_schema_constants/index.rst +0 -0
  126. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/pipeline_schema_constants/testing.rst +0 -0
  127. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/rule.rst +0 -0
  128. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/runner.rst +0 -0
  129. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/step.rst +0 -0
  130. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/utilities/aggregator_utils.rst +0 -0
  131. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/utilities/data_utils.rst +0 -0
  132. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/utilities/general_utils.rst +0 -0
  133. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/utilities/index.rst +0 -0
  134. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/utilities/paths.rst +0 -0
  135. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/utilities/splitter_utils.rst +0 -0
  136. {easylink-0.1.18 → easylink-0.1.20}/docs/source/api_reference/utilities/validation_utils.rst +0 -0
  137. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/01_step.drawio.png +0 -0
  138. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/02_default_implementation.drawio.png +0 -0
  139. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/03_slots.drawio.png +0 -0
  140. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/04_data_dependency.drawio.png +0 -0
  141. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/05_pipeline_schema.drawio.png +0 -0
  142. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/06_default_input.drawio.png +0 -0
  143. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/07_cloneable_section.drawio.png +0 -0
  144. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/08_cloneable_section_expanded.drawio.png +0 -0
  145. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/09_loopable_section.drawio.png +0 -0
  146. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/10_loopable_section_expanded.drawio.png +0 -0
  147. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/11_cloneable_section_splitter.drawio.png +0 -0
  148. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/12_cloneable_section_splitter_expanded.drawio.png +0 -0
  149. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/13_autoparallel_section.drawio.png +0 -0
  150. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/14_choice_section.drawio.png +0 -0
  151. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/15_choice_section_expanded.drawio.png +0 -0
  152. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/16_step_hierarchy.drawio.png +0 -0
  153. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/18_schema_to_pipeline.drawio.png +0 -0
  154. {easylink-0.1.18 → easylink-0.1.20}/docs/source/concepts/pipeline_schema/images/19_schema_to_pipeline_combined.drawio.png +0 -0
  155. {easylink-0.1.18 → easylink-0.1.20}/docs/source/glossary.rst +0 -0
  156. {easylink-0.1.18 → easylink-0.1.20}/docs/source/index.rst +0 -0
  157. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/cli.rst +0 -0
  158. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/index.rst +0 -0
  159. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/DAG-common-pipeline.svg +0 -0
  160. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/DAG-e2e-pipeline-expanded.svg +0 -0
  161. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/DAG-e2e-pipeline.svg +0 -0
  162. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/DAG-r-pyspark.svg +0 -0
  163. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/environment_slurm.yaml +0 -0
  164. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/impl-config-pipeline.yaml +0 -0
  165. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/index.rst +0 -0
  166. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/input_data.yaml +0 -0
  167. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/input_file_1.parquet +0 -0
  168. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/input_file_2.parquet +0 -0
  169. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/input_file_3.parquet +0 -0
  170. {easylink-0.1.18 → easylink-0.1.20}/docs/source/user_guide/tutorials/r_spark_pipeline.yaml +0 -0
  171. {easylink-0.1.18 → easylink-0.1.20}/pyproject.toml +0 -0
  172. {easylink-0.1.18 → easylink-0.1.20}/python_versions.json +0 -0
  173. {easylink-0.1.18 → easylink-0.1.20}/pytype.cfg +0 -0
  174. {easylink-0.1.18 → easylink-0.1.20}/setup.cfg +0 -0
  175. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/__about__.py +0 -0
  176. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/__init__.py +0 -0
  177. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/graph_components.py +0 -0
  178. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/images/spark_cluster/Dockerfile +0 -0
  179. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/images/spark_cluster/README.md +0 -0
  180. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/pipeline_graph.py +0 -0
  181. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/pipeline_schema.py +0 -0
  182. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/pipeline_schema_constants/development.py +0 -0
  183. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/pipeline_schema_constants/testing.py +0 -0
  184. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/rule.py +0 -0
  185. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/README.md +0 -0
  186. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/build-containers-local.sh +0 -0
  187. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/build-containers-remote.sh +0 -0
  188. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/input_data/create_input_files.ipynb +0 -0
  189. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/input_data/input_file_1.csv +0 -0
  190. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/input_data/input_file_1.parquet +0 -0
  191. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/input_data/input_file_2.csv +0 -0
  192. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/input_data/input_file_2.parquet +0 -0
  193. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/python_pandas/README.md +0 -0
  194. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/python_pandas/dummy_step.py +0 -0
  195. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/python_pandas/python_pandas.def +0 -0
  196. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/python_pyspark/README.md +0 -0
  197. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/python_pyspark/dummy_step.py +0 -0
  198. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/python_pyspark/python_pyspark.def +0 -0
  199. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/r/README.md +0 -0
  200. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/r/dummy_step.R +0 -0
  201. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/r/r-image.def +0 -0
  202. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/dev/test.py +0 -0
  203. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/output_dir/dummy_step_1_for_output_dir_example.def +0 -0
  204. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/output_dir/dummy_step_1_for_output_dir_example.py +0 -0
  205. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/output_dir/dummy_step_2_for_output_dir_example.def +0 -0
  206. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/steps/output_dir/dummy_step_2_for_output_dir_example.py +0 -0
  207. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/utilities/__init__.py +0 -0
  208. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/utilities/aggregator_utils.py +0 -0
  209. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/utilities/general_utils.py +0 -0
  210. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/utilities/spark.smk +0 -0
  211. {easylink-0.1.18 → easylink-0.1.20}/src/easylink/utilities/splitter_utils.py +0 -0
  212. {easylink-0.1.18 → easylink-0.1.20}/src/easylink.egg-info/dependency_links.txt +0 -0
  213. {easylink-0.1.18 → easylink-0.1.20}/src/easylink.egg-info/entry_points.txt +0 -0
  214. {easylink-0.1.18 → easylink-0.1.20}/src/easylink.egg-info/not-zip-safe +0 -0
  215. {easylink-0.1.18 → easylink-0.1.20}/src/easylink.egg-info/top_level.txt +0 -0
  216. {easylink-0.1.18 → easylink-0.1.20}/tests/__init__.py +0 -0
  217. {easylink-0.1.18 → easylink-0.1.20}/tests/conftest.py +0 -0
  218. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/common/environment_local.yaml +0 -0
  219. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/common/pipeline.yaml +0 -0
  220. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/e2e/environment_slurm.yaml +0 -0
  221. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/e2e/pipeline.yaml +0 -0
  222. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/e2e/pipeline_expanded.yaml +0 -0
  223. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/integration/embarrassingly_parallel/pipeline_hierarchical_step.yaml +0 -0
  224. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/integration/embarrassingly_parallel/pipeline_loop_step.yaml +0 -0
  225. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/integration/embarrassingly_parallel/pipeline_parallel_step.yaml +0 -0
  226. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/integration/environment_spark_slurm.yaml +0 -0
  227. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/integration/pipeline.yaml +0 -0
  228. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/integration/pipeline_output_dir.yaml +0 -0
  229. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/integration/pipeline_output_dir_default.yaml +0 -0
  230. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/integration/pipeline_spark.yaml +0 -0
  231. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/environment_minimum.yaml +0 -0
  232. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/environment_spark_slurm.yaml +0 -0
  233. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline.yaml +0 -0
  234. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_bad_combined_implementations.yaml +0 -0
  235. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_bad_implementation.yaml +0 -0
  236. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_bad_loop_formatting.yaml +0 -0
  237. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_bad_step.yaml +0 -0
  238. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_bad_type_key.yaml +0 -0
  239. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_combine_bad_implementation_names.yaml +0 -0
  240. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_combine_bad_topology.yaml +0 -0
  241. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_combine_two_steps.yaml +0 -0
  242. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_combine_with_extra_node.yaml +0 -0
  243. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_combine_with_iteration.yaml +0 -0
  244. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_combine_with_iteration_cycle.yaml +0 -0
  245. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_combine_with_missing_node.yaml +0 -0
  246. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_combine_with_parallel.yaml +0 -0
  247. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_missing_implementation_name.yaml +0 -0
  248. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_missing_implementations.yaml +0 -0
  249. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_missing_loop_nodes.yaml +0 -0
  250. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_missing_step.yaml +0 -0
  251. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_missing_substeps.yaml +0 -0
  252. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_missing_type_key.yaml +0 -0
  253. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_nested_templated_steps.yaml +0 -0
  254. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_out_of_order.yaml +0 -0
  255. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_spark.yaml +0 -0
  256. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_type_config_mismatch.yaml +0 -0
  257. {easylink-0.1.18 → easylink-0.1.20}/tests/specifications/unit/pipeline_wrong_parallel_split_keys.yaml +0 -0
  258. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/__init__.py +0 -0
  259. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/conftest.py +0 -0
  260. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/recipe_strings/python_pandas.txt +0 -0
  261. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/aggregation_rule.txt +0 -0
  262. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/checkpoint_rule.txt +0 -0
  263. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/embarrassingly_parallel_rule.txt +0 -0
  264. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/implemented_rule_local.txt +0 -0
  265. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/implemented_rule_slurm.txt +0 -0
  266. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/target_rule.txt +0 -0
  267. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/rule_strings/validation_rule.txt +0 -0
  268. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_cli.py +0 -0
  269. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_general_utils.py +0 -0
  270. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_graph_components.py +0 -0
  271. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_pipeline_schema.py +0 -0
  272. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_rule.py +0 -0
  273. {easylink-0.1.18 → easylink-0.1.20}/tests/unit/test_step.py +0 -0
  274. {easylink-0.1.18 → easylink-0.1.20}/update_readme.py +0 -0
@@ -1,3 +1,11 @@
1
+ **0.1.20 - 6/11/25**
2
+
3
+ - Update implementation creator tool for new implementation_metadata.yaml format
4
+
5
+ **0.1.19 - 6/11/25**
6
+
7
+ - Implement support for images hosted on zenodo
8
+
1
9
  **0.1.18 - 5/14/25**
2
10
 
3
11
  - Refactor to use a single pipeline schema rather than multiple potential schemas
@@ -0,0 +1,9 @@
1
+ @Library("vivarium_build_utils") _
2
+ reusable_pipeline(
3
+ scheduled_branches: ["main"],
4
+ test_types: ["unit", "integration", "e2e"],
5
+ upstream_repos: ["layered_config_tree"],
6
+ requires_slurm: true,
7
+ use_shared_fs: true,
8
+ run_mypy: false,
9
+ )
@@ -0,0 +1,28 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2025, Institute for Health Metrics and Evaluation
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: easylink
3
- Version: 0.1.18
3
+ Version: 0.1.20
4
4
  Summary: Research repository for the EasyLink ER ecosystem project.
5
5
  Home-page: https://github.com/ihmeuw/easylink
6
6
  Author: The EasyLink developers
7
7
  Author-email: vivarium.dev@gmail.com
8
8
  License: BSD-3-Clause
9
9
  Description-Content-Type: text/x-rst
10
+ License-File: LICENSE
10
11
  Requires-Dist: click
11
12
  Requires-Dist: docker
12
13
  Requires-Dist: graphviz
@@ -16,7 +17,9 @@ Requires-Dist: networkx
16
17
  Requires-Dist: pandas
17
18
  Requires-Dist: pyyaml
18
19
  Requires-Dist: pyarrow
20
+ Requires-Dist: requests
19
21
  Requires-Dist: snakemake>=8.0.0
22
+ Requires-Dist: tqdm
20
23
  Requires-Dist: snakemake-interface-executor-plugins<9.0.0
21
24
  Requires-Dist: snakemake-executor-plugin-slurm
22
25
  Requires-Dist: pandas-stubs
@@ -52,6 +55,7 @@ Dynamic: description
52
55
  Dynamic: description-content-type
53
56
  Dynamic: home-page
54
57
  Dynamic: license
58
+ Dynamic: license-file
55
59
  Dynamic: provides-extra
56
60
  Dynamic: requires-dist
57
61
  Dynamic: summary
@@ -10,6 +10,7 @@ Here we cover several core conceptual topics related using EasyLink.
10
10
  :glob:
11
11
 
12
12
  */index
13
+ *
13
14
 
14
15
  .. todo::
15
16