nmdc-runtime 2.4.0__tar.gz → 2.6.0__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 (565) hide show
  1. nmdc_runtime-2.6.0/.docker/mongo_init/initialize_replica_set.sh +44 -0
  2. nmdc_runtime-2.6.0/.dockerignore +36 -0
  3. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.env.example +6 -1
  4. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.env.test +1 -1
  5. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.github/workflows/build-and-release-to-spin.yml +5 -2
  6. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.github/workflows/mkdocs.yml +5 -6
  7. nmdc_runtime-2.6.0/.github/workflows/python-app.yml +91 -0
  8. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.gitignore +1 -0
  9. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/Makefile +30 -7
  10. {nmdc_runtime-2.4.0/nmdc_runtime.egg-info → nmdc_runtime-2.6.0}/PKG-INFO +19 -6
  11. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/README.md +16 -4
  12. nmdc_runtime-2.6.0/db/migrations/notebooks/migrate_11_4_0_to_11_5_0.ipynb +56 -0
  13. nmdc_runtime-2.6.0/db/migrations/notebooks/migrate_11_5_0_to_11_5_1.ipynb +56 -0
  14. nmdc_runtime-2.6.0/db/migrations/notebooks/migrate_11_5_1_to_11_6_0.ipynb +809 -0
  15. nmdc_runtime-2.6.0/docker-compose.test.yml +144 -0
  16. nmdc_runtime-2.6.0/docker-compose.yml +132 -0
  17. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/admin.md +1 -1
  18. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/howto-guides/release-process.md +1 -1
  19. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/howto-guides/update-sensors-ops.md +6 -7
  20. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/nb/bulk_validation_referential_integrity_check.ipynb +1 -1
  21. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/nb/wf_automation.ipynb +1 -1
  22. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/tutorials/json.md +84 -51
  23. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/mkdocs.yml +3 -3
  24. nmdc_runtime-2.6.0/nmdc_runtime/Dockerfile +127 -0
  25. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/db/mongo.py +24 -17
  26. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/find.py +283 -0
  27. nmdc_runtime-2.6.0/nmdc_runtime/api/endpoints/jobs.py +128 -0
  28. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/metadata.py +4 -1
  29. nmdc_runtime-2.6.0/nmdc_runtime/api/endpoints/queries.py +418 -0
  30. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/util.py +2 -0
  31. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/workflows.py +3 -1
  32. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/job.py +2 -0
  33. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/operation.py +1 -0
  34. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/query.py +71 -57
  35. nmdc_runtime-2.6.0/nmdc_runtime/api/models/query_continuation.py +111 -0
  36. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/export/ncbi_xml.py +0 -1
  37. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/export/ncbi_xml_utils.py +0 -25
  38. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/graphs.py +11 -0
  39. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/ops.py +54 -12
  40. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/repair/database_updater.py +12 -0
  41. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/repository.py +2 -6
  42. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/gold_translator.py +11 -0
  43. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/neon_benthic_translator.py +156 -157
  44. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/submission_portal_translator.py +269 -51
  45. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/util.py +8 -1
  46. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0/nmdc_runtime.egg-info}/PKG-INFO +19 -6
  47. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime.egg-info/SOURCES.txt +15 -13
  48. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/requirements/dev.txt +16 -15
  49. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/requirements/main.in +1 -1
  50. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/requirements/main.txt +76 -77
  51. nmdc_runtime-2.6.0/tests/__init__.py +22 -0
  52. nmdc_runtime-2.6.0/tests/lib/faker.py +271 -0
  53. nmdc_runtime-2.6.0/tests/mongorestore-nmdc-testdb.sh +9 -0
  54. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_api/test_db_mongo.py +66 -3
  55. nmdc_runtime-2.6.0/tests/test_api/test_endpoints.py +2026 -0
  56. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_api/test_metadata.py +10 -4
  57. nmdc_runtime-2.6.0/tests/test_data/data/nucleotide_sequencing_mapping_input.yaml +61 -0
  58. nmdc_runtime-2.6.0/tests/test_data/data/nucleotide_sequencing_mapping_output.yaml +111 -0
  59. nmdc_runtime-2.6.0/tests/test_data/data/plant_air_jgi_input.yaml +320 -0
  60. nmdc_runtime-2.6.0/tests/test_data/data/plant_air_jgi_output.yaml +768 -0
  61. nmdc_runtime-2.6.0/tests/test_data/data/sequencing_data_input.yaml +185 -0
  62. nmdc_runtime-2.6.0/tests/test_data/data/sequencing_data_output.yaml +369 -0
  63. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_ncbi_xml.py +0 -18
  64. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_neon_benthic_data_translator.py +116 -42
  65. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_submission_portal_translator.py +177 -53
  66. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_graphs/test_submission_portal_graphs.py +0 -3
  67. nmdc_runtime-2.6.0/tests/test_the_util/__init__.py +0 -0
  68. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_util.py +13 -0
  69. nmdc_runtime-2.4.0/.dockerignore +0 -9
  70. nmdc_runtime-2.4.0/.github/workflows/python-app.yml +0 -57
  71. nmdc_runtime-2.4.0/.gitpod.Dockerfile +0 -7
  72. nmdc_runtime-2.4.0/.gitpod.yml +0 -12
  73. nmdc_runtime-2.4.0/.nvmrc +0 -1
  74. nmdc_runtime-2.4.0/docker-compose.test.yml +0 -110
  75. nmdc_runtime-2.4.0/docker-compose.yml +0 -99
  76. nmdc_runtime-2.4.0/github_secrets_to_dotenv.sh +0 -7
  77. nmdc_runtime-2.4.0/nersc-sshproxy.sh +0 -353
  78. nmdc_runtime-2.4.0/nmdc_runtime/api/endpoints/jobs.py +0 -57
  79. nmdc_runtime-2.4.0/nmdc_runtime/api/endpoints/queries.py +0 -242
  80. nmdc_runtime-2.4.0/nmdc_runtime/dagster.Dockerfile +0 -42
  81. nmdc_runtime-2.4.0/nmdc_runtime/fastapi.Dockerfile +0 -29
  82. nmdc_runtime-2.4.0/nmdc_runtime/test.Dockerfile +0 -43
  83. nmdc_runtime-2.4.0/tests/__init__.py +0 -6
  84. nmdc_runtime-2.4.0/tests/mongodump-nmdc-testdb.sh +0 -6
  85. nmdc_runtime-2.4.0/tests/mongorestore-nmdc-testdb.sh +0 -6
  86. nmdc_runtime-2.4.0/tests/test_api/test_endpoints.py +0 -844
  87. nmdc_runtime-2.4.0/tests/test_data/test_submission_portal_translator_data.yaml +0 -1271
  88. nmdc_runtime-2.4.0/tmp.json +0 -61
  89. nmdc_runtime-2.4.0/workspace.toml +0 -2
  90. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0/.docker}/mongoKeyFile +0 -0
  91. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0/.docker}/wait-for-it.sh +0 -0
  92. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  93. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  94. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.github/pull_request_template.md +0 -0
  95. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.github/workflows/deploy-redirects.yml +0 -0
  96. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.github/workflows/lint.yml +0 -0
  97. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/.github/workflows/release-to-pypi.yml +0 -0
  98. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/LICENSE +0 -0
  99. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/RELEASES.md +0 -0
  100. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/components/nmdc_runtime/workflow/__init__.py +0 -0
  101. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/components/nmdc_runtime/workflow/spec.py +0 -0
  102. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/components/nmdc_runtime/workflow_execution_activity/__init__.py +0 -0
  103. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/components/nmdc_runtime/workflow_execution_activity/core.py +0 -0
  104. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/components/nmdc_runtime/workflow_execution_activity/spec.py +0 -0
  105. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/components/nmdc_runtime/workflow_execution_activity/store.py +0 -0
  106. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/README.md +0 -0
  107. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/README.md +0 -0
  108. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/.gitignore +0 -0
  109. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/.notebook.env.example +0 -0
  110. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/bookkeeper.py +0 -0
  111. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/helpers.py +0 -0
  112. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/manual_test_bookkeeper.py +0 -0
  113. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_10_0_0_to_10_1_4.ipynb +0 -0
  114. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_10_3_0_to_10_4_0.ipynb +0 -0
  115. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_10_4_0_to_10_9_1.ipynb +0 -0
  116. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_10_9_1_to_11_0_0.ipynb +0 -0
  117. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_11_0_0_to_11_0_1.ipynb +0 -0
  118. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_11_0_3_to_11_1_0.ipynb +0 -0
  119. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_11_1_0_to_11_2_1.ipynb +0 -0
  120. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_11_2_1_to_11_3_0.ipynb +0 -0
  121. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_11_3_0_to_11_4_0.ipynb +0 -0
  122. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_7_7_2_to_7_8_0.ipynb +0 -0
  123. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_7_8_0_to_8_0_0.ipynb +0 -0
  124. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_8_0_0_to_8_1_2.ipynb +0 -0
  125. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_8_1_2_to_9_0_4.ipynb +0 -0
  126. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_9_0_4_to_9_1_0.ipynb +0 -0
  127. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_9_1_0_to_9_2_0.ipynb +0 -0
  128. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_9_3_2_to_10_0_0.ipynb +0 -0
  129. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/migrate_A_B_C_to_X_Y_Z.ipynb +0 -0
  130. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/mongosh-scripts/restore-privileges.mongo.js +0 -0
  131. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/mongosh-scripts/revoke-privileges.mongo.js +0 -0
  132. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/requirements.txt +0 -0
  133. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/stakeholders.md +0 -0
  134. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/db/migrations/notebooks/test_helpers.py +0 -0
  135. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_discovery/.env.example +0 -0
  136. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_discovery/GOLDs5levelEcosystemClassificationPaths.xlsx +0 -0
  137. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_discovery/biosamples.json +0 -0
  138. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_discovery/console_queries.dev +0 -0
  139. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_discovery/docker-compose.yml +0 -0
  140. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_discovery/envo.owl +0 -0
  141. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_discovery/indexing.ipynb +0 -0
  142. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_discovery/po.owl +0 -0
  143. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_migration/__init__.py +0 -0
  144. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_migration/main.ipynb +0 -0
  145. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/demo/metadata_migration/main.py +0 -0
  146. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/contributing-docs.md +0 -0
  147. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/draft.md +0 -0
  148. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/explanation/domain-vision-statement.md +0 -0
  149. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/explanation/identifiers.md +0 -0
  150. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/explanation/journeys.md +0 -0
  151. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/howto-guides/author-changesheets.md +0 -0
  152. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/howto-guides/claim-and-run-jobs.md +0 -0
  153. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/howto-guides/create-triggers.md +0 -0
  154. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/howto-guides/improving-search-api.md +0 -0
  155. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/howto-guides/jobs/gold-translation-etl.md +0 -0
  156. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/howto-guides/minting-ids.md +0 -0
  157. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/auth-button.png +0 -0
  158. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/auth-client-id.png +0 -0
  159. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/auth-close-modal.png +0 -0
  160. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/auth-username.png +0 -0
  161. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/dagit-apply-changesheet-job.png +0 -0
  162. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/dagster-translation-gold-job.png +0 -0
  163. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/dagster-translation-gold-launchpad.png +0 -0
  164. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/dagster-translation-gold-overview.png +0 -0
  165. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/dagster-translation-repo-jobs.png +0 -0
  166. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/dagster-workspace-repo-loaded.png +0 -0
  167. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/exporters-dagit.png +0 -0
  168. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/job-triggering.png +0 -0
  169. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/list-from-collection-filter.png +0 -0
  170. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/list-from-collection-page-token.png +0 -0
  171. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/list-from-collection.png +0 -0
  172. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/metadata-in-dagit-runs.png +0 -0
  173. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/metadata-in-put-types.png +0 -0
  174. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/nmdc-runtime-federation.png +0 -0
  175. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/rancher-nmdc-runtime-dev-workloads.png +0 -0
  176. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/translators-dagit.png +0 -0
  177. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/validate-json-copy-paste-execute.png +0 -0
  178. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/validate-json-get-one-valid.png +0 -0
  179. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/validate-json-response.png +0 -0
  180. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/validate-json-try-it-out.png +0 -0
  181. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/img/validate-json.png +0 -0
  182. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/index.md +0 -0
  183. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/nb/api_access_via_python.ipynb +0 -0
  184. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/nb/get_data.ipynb +0 -0
  185. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/nb/queue_and_trigger_data_jobs.ipynb +0 -0
  186. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/stylesheets/extra.css +0 -0
  187. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/tutorials/auth.md +0 -0
  188. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/tutorials/exporters.md +0 -0
  189. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/tutorials/metadata-in.md +0 -0
  190. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs/tutorials/translators.md +0 -0
  191. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs_prev/design/api-resource-diagram.md +0 -0
  192. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs_prev/design/api-resource-layout.md +0 -0
  193. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs_prev/design/nmdc-runtime-api-resource-diagram.png +0 -0
  194. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs_prev/design/nmdc-wfe.ttl +0 -0
  195. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs_prev/design/redoc-static.html +0 -0
  196. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs_prev/design/spec.md +0 -0
  197. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs_prev/design/workflow-automation.md +0 -0
  198. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/docs_prev/index.html +0 -0
  199. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/flake.lock +0 -0
  200. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/flake.nix +0 -0
  201. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/guix-manifest.scm +0 -0
  202. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/Makefile +0 -0
  203. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/README.md +0 -0
  204. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/__init__.py +0 -0
  205. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/Froze_Core_2015_S2_0_10_7_Metab.json +0 -0
  206. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/MAGs_activity.json +0 -0
  207. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/biosample_test.json +0 -0
  208. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/changesheet-ex-01-screenshot.png +0 -0
  209. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/changesheet-ex-01.csv +0 -0
  210. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/emsl_data_object_test.json +0 -0
  211. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/emsl_project_test.json +0 -0
  212. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/feature-set.json +0 -0
  213. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/ftms_nom_data_products.json +0 -0
  214. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/functional-annotation.json +0 -0
  215. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/gcms_metabolomics_data_products.json +0 -0
  216. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/gold_project_test.json +0 -0
  217. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/img_mg_annotation_data_objects.json +0 -0
  218. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/img_mg_annotation_objects.json +0 -0
  219. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/metagenome_annotation_activity.json +0 -0
  220. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/mg_assembly_activities_test.json +0 -0
  221. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/mg_assembly_data_objects_test.json +0 -0
  222. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/migs-template-cedar.schema.json +0 -0
  223. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/nom_analysis_activity.json +0 -0
  224. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/readQC_activities_test.json +0 -0
  225. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/readQC_data_objects_test.json +0 -0
  226. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/read_based_analysis_activity.json +0 -0
  227. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/examples/study_test.json +0 -0
  228. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/images/nmdc-etl-workflow.drawio +0 -0
  229. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/images/nmdc-etl-workflow.png +0 -0
  230. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/images/nmdc-etl-workflow.svg +0 -0
  231. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/Description_MIxS_Packages_v5.docx +0 -0
  232. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/GOLD-Paths-to-MIxS-ENVO-triad-mapping.xlsx +0 -0
  233. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSair_20180621_GOLD_Mapping_04132020.xlsx +0 -0
  234. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSbuiltenv_20180621_GOLD_Mapping_04172020.xlsx +0 -0
  235. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxShostassoc_20180621_GOLD_Mapping.xlsx +0 -0
  236. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxShumanassoc_20180621_GOLD_Mapping_04142020.xlsx +0 -0
  237. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxShumangut_20180621_GOLD_Mapping_04152020.xlsx +0 -0
  238. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxShumanoral_20180621_GOLD_Mapping_04152020.xlsx +0 -0
  239. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxShumanskin_20180621_GOLD_Mapping_04162020.xlsx +0 -0
  240. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxShumanvaginal_20180621_GOLD_04162020.xlsx +0 -0
  241. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxShydrocarbCores_20180621_Mapping_GOLD.xlsx +0 -0
  242. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxShydrocarbfs_20180621_v5_GOLD_Mapping.xlsx +0 -0
  243. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSmatbiofilm_20180621_v5_GOLD_Mapping.xlsx +0 -0
  244. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSmisc_20180621_GOLD_Mapping.xlsx +0 -0
  245. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSplantassoc_20180621_v5_GOLD_Mapping.xlsx +0 -0
  246. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSsediment_20180621_GOLD_Mapping_04102020.xlsx +0 -0
  247. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSsoil_20180621_GOLD_Mapping_04102020.xlsx +0 -0
  248. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSwastesludge_20180621_GOLD_Mapping_Apr-10.xlsx +0 -0
  249. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/MIxSwater_20180621_GOLD_Mapping_04122020.xlsx +0 -0
  250. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/Makefile +0 -0
  251. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/README.md +0 -0
  252. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/mixs_v4.xlsx +0 -0
  253. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/mapping-files/mixs_v5.xlsx +0 -0
  254. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/202106_curation_updates.ipynb +0 -0
  255. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/202106_workflow_execution_demo.ipynb +0 -0
  256. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/202109_metadata_ingest.ipynb +0 -0
  257. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/NMDC-GOLD-data-counts.ipynb +0 -0
  258. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/README.md +0 -0
  259. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/archive/generate-gold-sample-json.ipynb +0 -0
  260. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/archive/translate-30_FICUS_Proposals_Metadata_4_Emiley_Chris_11082019.ipynb +0 -0
  261. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/changesheets-example.ipynb +0 -0
  262. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/changesheets-testing.ipynb +0 -0
  263. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-array-item-nested-attributes.tsv +0 -0
  264. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-insert.tsv +0 -0
  265. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-remove-item.tsv +0 -0
  266. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-remove-property.tsv +0 -0
  267. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-replace.tsv +0 -0
  268. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-update-pi-websites.tsv +0 -0
  269. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-with-separator1.tsv +0 -0
  270. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-without-separator1.tsv +0 -0
  271. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-without-separator2.tsv +0 -0
  272. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/changesheet-without-separator3.tsv +0 -0
  273. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/study-data1.json +0 -0
  274. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/study-data2.json +0 -0
  275. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/data/study-data3.json +0 -0
  276. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/ensure_biosample_set_study_id.ipynb +0 -0
  277. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/ghissue_252_253_linked_samples.ipynb +0 -0
  278. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/ghissue_255.ipynb +0 -0
  279. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/ghissue_272.ipynb +0 -0
  280. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/gold-biosample-null-value-analysis.ipynb +0 -0
  281. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/gold_ids_to_igsns.ipynb +0 -0
  282. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/images/EMSL-data-translation.png +0 -0
  283. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/images/GOLD-data-objects-translation.png +0 -0
  284. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/images/GOLD-study-project-biosample-translation.png +0 -0
  285. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/images/NMDC-jupyter-translation-workflow.png +0 -0
  286. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/metaP_stegen.ipynb +0 -0
  287. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/metadata_db_admin.ipynb +0 -0
  288. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/mongo_etl_demo.ipynb +0 -0
  289. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/FICUS-projects-merged.owl +0 -0
  290. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/FICUS-projects-merged.owl.zip +0 -0
  291. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/FICUS-projects-translation.owl +0 -0
  292. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/catalog-v001.xml +0 -0
  293. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/gold-classification-paths-translation.json +0 -0
  294. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/gold-classification-paths-translation.json.zip +0 -0
  295. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/gold-classification-paths-translation.owl +0 -0
  296. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/gold-classification-paths-translation.owl.zip +0 -0
  297. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/gold-dataset-translation.owl +0 -0
  298. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json/biosample.json +0 -0
  299. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json/data_objects.json +0 -0
  300. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json/omics_processing.json +0 -0
  301. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json/study.json +0 -0
  302. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-01.zip +0 -0
  303. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-05.zip +0 -0
  304. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-06.zip +0 -0
  305. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-12.zip +0 -0
  306. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-18.zip +0 -0
  307. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-19.zip +0 -0
  308. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/schema-test-full.txt.zip +0 -0
  309. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/schema-test.json +0 -0
  310. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/schema-test.txt +0 -0
  311. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/schema-test.txt.zip +0 -0
  312. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/temp.txt +0 -0
  313. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-five-biosamples/biosample.json +0 -0
  314. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-five-biosamples/data_object.json +0 -0
  315. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-five-biosamples/project.json +0 -0
  316. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-five-biosamples/study.json +0 -0
  317. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-pipeline/biosample.json +0 -0
  318. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-pipeline/emsl_data_objects.json +0 -0
  319. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-pipeline/emsl_omics_processing.json +0 -0
  320. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-pipeline/faa_fna_fastq_data_objects.json +0 -0
  321. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-pipeline/gold_omics_processing.json +0 -0
  322. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-pipeline/gold_study.json +0 -0
  323. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-pipeline/nmdc-02.json +0 -0
  324. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/output/test-pipeline.zip +0 -0
  325. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/test-changesheet-with-separator.ipynb +0 -0
  326. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/test-changesheet-without-separator.ipynb +0 -0
  327. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/test-output.ipynb +0 -0
  328. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/test-pipeline-scratch.ipynb +0 -0
  329. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/test-pipeline-temp.ipynb +0 -0
  330. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/test-pipeline.ipynb +0 -0
  331. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/test.json +0 -0
  332. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/test.txt +0 -0
  333. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/translate-EMSL-data.ipynb +0 -0
  334. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/translate-GOLD-data-objects.ipynb +0 -0
  335. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/translate-GOLD-study-project-biosample.ipynb +0 -0
  336. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/notebooks/translation-pipeline.ipynb +0 -0
  337. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/__init__.py +0 -0
  338. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/__init__.py +0 -0
  339. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/align_nmdc_datatypes.py +0 -0
  340. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/execute_etl_pipeline.py +0 -0
  341. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/fix_omics_processing_json.py +0 -0
  342. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/lib/__init__.py +0 -0
  343. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/lib/data_operations.py +0 -0
  344. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/lib/extract_nmdc_data.py +0 -0
  345. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/lib/load_nmdc_data.py +0 -0
  346. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/lib/nmdc_data_source.yaml +0 -0
  347. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/lib/nmdc_dataframes.py +0 -0
  348. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/lib/nmdc_etl_class.py +0 -0
  349. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/lib/transform_nmdc_data.py +0 -0
  350. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/mandatory_mixs_terms.py +0 -0
  351. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/mandatory_mixs_terms.py.org +0 -0
  352. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/bin/validate_json.py +0 -0
  353. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/2020-23-12-brodie-Gs0135149-soil-metadata.csv +0 -0
  354. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/2021-02-03-stegen_biosample_linking_update.csv +0 -0
  355. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/2021-02-04-brodie_biosample_linking_update.csv +0 -0
  356. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/2021-02-04-stegen_biosample_template.json +0 -0
  357. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/2021-07-02-study-changes.csv +0 -0
  358. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/30_FICUS_Proposals_Metadata_4_Emiley_Chris_11082019.xlsx +0 -0
  359. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/EMSL_FICUS_project_process_data_export.xlsx +0 -0
  360. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/EMSL_Hess_Stegen_Blanchard_DatasetToMetagenomeMapping.tsv +0 -0
  361. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/EMSL_biosample_matches.tsv +0 -0
  362. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/FICUS - JGI-EMSL Proposal - Gold Study - ID mapping and PI.xlsx +0 -0
  363. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/GOLD-soil-mixs-envo-mappings.tsv +0 -0
  364. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/GOLD-to-mixs-map.tsv +0 -0
  365. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/GOLD_Ecosystem_Classification_Paths_10152019.xlsx +0 -0
  366. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/GOLD_ecosystem_classification_paths.xlsx +0 -0
  367. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/JGI-EMSL-FICUS-proposals.fnl.tsv +0 -0
  368. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/NMDC-GOLD-Fields.xlsx +0 -0
  369. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/README.md +0 -0
  370. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/__init__.py +0 -0
  371. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/Hess_emsl_analysis_data_objects.json +0 -0
  372. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/Hess_metaproteomic_analysis_activities.json +0 -0
  373. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/Stegen_emsl_analysis_data_objects.json +0 -0
  374. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/Stegen_metaproteomic_analysis_activities.json +0 -0
  375. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/metagenome_annotation_activities.json +0 -0
  376. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/metagenome_annotation_data_objects.json +0 -0
  377. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/metagenome_assembly_activities.json +0 -0
  378. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/metagenome_assembly_data_objects.json +0 -0
  379. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/readQC_activities.json +0 -0
  380. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/aim-2-workflows/readQC_data_objects.json +0 -0
  381. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/all_gold_fields.xlsx +0 -0
  382. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/ficus_project_faa.tsv +0 -0
  383. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/ficus_project_fastq.tsv +0 -0
  384. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/ficus_project_fna.tsv +0 -0
  385. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/mixs_v5.xlsx +0 -0
  386. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/nmdc-version2.zip +0 -0
  387. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/metadata-translation/src/data/nmdc-version5.zip +0 -0
  388. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/mkdocs_overrides/partials/source.html +0 -0
  389. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc-wfe.html +0 -0
  390. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/__init__.py +0 -0
  391. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/analytics.py +0 -0
  392. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/boot/__init__.py +0 -0
  393. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/boot/capabilities.py +0 -0
  394. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/boot/object_types.py +0 -0
  395. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/boot/triggers.py +0 -0
  396. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/boot/workflows.py +0 -0
  397. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/core/__init__.py +0 -0
  398. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/core/auth.py +0 -0
  399. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/core/idgen.py +0 -0
  400. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/core/metadata.py +0 -0
  401. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/core/util.py +0 -0
  402. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/db/__init__.py +0 -0
  403. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/db/s3.py +0 -0
  404. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/__init__.py +0 -0
  405. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/capabilities.py +0 -0
  406. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/ids.py +0 -0
  407. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/nmdcschema.py +0 -0
  408. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/object_types.py +0 -0
  409. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/objects.py +0 -0
  410. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/operations.py +0 -0
  411. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/runs.py +0 -0
  412. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/search.py +0 -0
  413. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/sites.py +0 -0
  414. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/triggers.py +0 -0
  415. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/endpoints/users.py +0 -0
  416. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/entrypoint.sh +0 -0
  417. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/main.py +0 -0
  418. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/__init__.py +0 -0
  419. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/capability.py +0 -0
  420. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/id.py +0 -0
  421. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/metadata.py +0 -0
  422. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/minter.py +0 -0
  423. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/nmdc_schema.py +0 -0
  424. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/object.py +0 -0
  425. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/object_type.py +0 -0
  426. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/run.py +0 -0
  427. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/site.py +0 -0
  428. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/trigger.py +0 -0
  429. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/user.py +0 -0
  430. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/util.py +0 -0
  431. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/models/workflow.py +0 -0
  432. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/api/v1/router.py +0 -0
  433. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/client/__init__.py +0 -0
  434. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/config.py +0 -0
  435. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/containers.py +0 -0
  436. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/core/__init__.py +0 -0
  437. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/core/db/Database.py +0 -0
  438. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/core/db/__init__.py +0 -0
  439. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/core/exceptions/__init__.py +0 -0
  440. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/core/exceptions/base.py +0 -0
  441. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/core/exceptions/token.py +0 -0
  442. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/domain/__init__.py +0 -0
  443. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/domain/users/__init__.py +0 -0
  444. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/domain/users/queriesInterface.py +0 -0
  445. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/domain/users/userSchema.py +0 -0
  446. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/domain/users/userService.py +0 -0
  447. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/__init__.py +0 -0
  448. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/database/__init__.py +0 -0
  449. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/database/db.py +0 -0
  450. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/database/impl/mongo/__init__.py +0 -0
  451. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/database/impl/mongo/db.py +0 -0
  452. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/database/impl/mongo/models/__init__.py +0 -0
  453. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/database/impl/mongo/models/user.py +0 -0
  454. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/database/models/__init__.py +0 -0
  455. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/infrastructure/database/models/user.py +0 -0
  456. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/lib/__init__.py +0 -0
  457. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/lib/extract_nmdc_data.py +0 -0
  458. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/lib/load_nmdc_data.py +0 -0
  459. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/lib/nmdc_data_source.yaml +0 -0
  460. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/lib/nmdc_dataframes.py +0 -0
  461. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/lib/nmdc_etl_class.py +0 -0
  462. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/lib/transform_nmdc_data.py +0 -0
  463. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/main.py +0 -0
  464. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/__init__.py +0 -0
  465. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/adapters/__init__.py +0 -0
  466. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/adapters/repository.py +0 -0
  467. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/bootstrap.py +0 -0
  468. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/config.py +0 -0
  469. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/domain/__init__.py +0 -0
  470. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/domain/model.py +0 -0
  471. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/entrypoints/__init__.py +0 -0
  472. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/minter/entrypoints/fastapi_app.py +0 -0
  473. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/__init__.py +0 -0
  474. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/backup/__init__.py +0 -0
  475. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/backup/nmdcdb_mongodump.py +0 -0
  476. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/backup/nmdcdb_mongoexport.py +0 -0
  477. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/backup/nmdcdb_mongoimport.py +0 -0
  478. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/changesheets/__init__.py +0 -0
  479. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/changesheets/base.py +0 -0
  480. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/changesheets/data/OmicsProcessing-to-catted-Biosamples.tsv +0 -0
  481. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/changesheets/scripts/missing_neon_soils_ecosystem_data.py +0 -0
  482. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/changesheets/scripts/neon_soils_add_ncbi_ids.py +0 -0
  483. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/dagster.yaml +0 -0
  484. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/drsobjects/__init__.py +0 -0
  485. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/drsobjects/ingest.py +0 -0
  486. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/drsobjects/registration.py +0 -0
  487. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/entrypoint-daemon.sh +0 -0
  488. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/entrypoint-dagit-readonly.sh +0 -0
  489. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/entrypoint-dagit.sh +0 -0
  490. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/export/__init__.py +0 -0
  491. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/export/study_metadata.py +0 -0
  492. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/normalization/__init__.py +0 -0
  493. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/normalization/gold.py +0 -0
  494. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/repair/__init__.py +0 -0
  495. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/resources.py +0 -0
  496. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/__init__.py +0 -0
  497. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/emsl.py +0 -0
  498. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/gold.py +0 -0
  499. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/jgi.py +0 -0
  500. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/neon_soil_translator.py +0 -0
  501. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/neon_surface_water_translator.py +0 -0
  502. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/neon_utils.py +0 -0
  503. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/translator.py +0 -0
  504. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/translation/util.py +0 -0
  505. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/validation/__init__.py +0 -0
  506. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/validation/emsl.py +0 -0
  507. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/validation/gold.py +0 -0
  508. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/validation/jgi.py +0 -0
  509. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/validation/util.py +0 -0
  510. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/site/workspace.yaml +0 -0
  511. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/static/ORCIDiD_icon128x128.png +0 -0
  512. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/static/favicon.ico +0 -0
  513. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/templates/search.html +0 -0
  514. /nmdc_runtime-2.4.0/tests/test_api/__init__.py → /nmdc_runtime-2.6.0/nmdc_runtime/test.Dockerfile +0 -0
  515. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime/util.py +0 -0
  516. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime.egg-info/dependency_links.txt +0 -0
  517. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime.egg-info/entry_points.txt +0 -0
  518. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/nmdc_runtime.egg-info/top_level.txt +0 -0
  519. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/requirements/dev.in +0 -0
  520. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/setup.cfg +0 -0
  521. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/setup.py +0 -0
  522. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tasks.py +0 -0
  523. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/conftest.py +0 -0
  524. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/e2e/test_minter_api.py +0 -0
  525. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/nmdc_bsm-11-0pyv7738.json +0 -0
  526. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/nmdc_bsm-11-5nhz3402.json +0 -0
  527. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/nmdc_bsm-12-7mysck21.json +0 -0
  528. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/nmdc_dobj-11-000n1286.json +0 -0
  529. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/nmdc_sty-11-pzmd0x14.json +0 -0
  530. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/planned_processes.json +0 -0
  531. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/study_no_credit_associations.json +0 -0
  532. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/test_changesheet_decimal_value.tsv +0 -0
  533. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/test_changesheet_insert_study_doi.tsv +0 -0
  534. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/test_changesheet_update_bytes_ranged_slot.tsv +0 -0
  535. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/files/test_changesheet_update_one_ph.tsv +0 -0
  536. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/integration/test_minter_repository.py +0 -0
  537. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/nmdcdb.test.archive.gz +0 -0
  538. {nmdc_runtime-2.4.0/tests/test_data → nmdc_runtime-2.6.0/tests/test_api}/__init__.py +0 -0
  539. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_api/util.py +0 -0
  540. {nmdc_runtime-2.4.0/tests/test_graphs → nmdc_runtime-2.6.0/tests/test_data}/__init__.py +0 -0
  541. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/conftest.py +0 -0
  542. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_database_updater.py +0 -0
  543. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_gold_translator.py +0 -0
  544. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_gold_translator_data.yaml +0 -0
  545. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_integrity.py +0 -0
  546. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_neon_soil_data_translator.py +0 -0
  547. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_data/test_translator.py +0 -0
  548. {nmdc_runtime-2.4.0/tests/test_normalization → nmdc_runtime-2.6.0/tests/test_graphs}/__init__.py +0 -0
  549. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_graphs/ensure_jobs.py +0 -0
  550. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_graphs/test_hello.py +0 -0
  551. {nmdc_runtime-2.4.0/tests/test_ops → nmdc_runtime-2.6.0/tests/test_normalization}/__init__.py +0 -0
  552. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_normalization/test_gold.py +0 -0
  553. {nmdc_runtime-2.4.0/tests/test_the_util → nmdc_runtime-2.6.0/tests/test_ops}/__init__.py +0 -0
  554. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_ops/test_data_api_ops.py +0 -0
  555. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_ops/test_get_csv_rows_from_url.py +0 -0
  556. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_ops/test_gold_api_ops.py +0 -0
  557. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_ops/test_materialize_alldocs.py +0 -0
  558. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_ops/test_ops.py +0 -0
  559. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_the_util/README.md +0 -0
  560. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/test_the_util/test_the_util.py +0 -0
  561. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/unit/core_util.py +0 -0
  562. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/tests/unit/test_minter_model.py +0 -0
  563. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/util/get_latest_nmdc_prod_dump_dir.sh +0 -0
  564. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/util/mongodump-nmdc.sh +0 -0
  565. {nmdc_runtime-2.4.0 → nmdc_runtime-2.6.0}/util/mongorestore-nmdc.sh +0 -0
@@ -0,0 +1,44 @@
1
+ #! /bin/sh
2
+
3
+ ###############################################################################
4
+ # Overview
5
+ # --------
6
+ # This shell script uses `mongosh` to: (a) check whether the specified MongoDB
7
+ # instance is a member of a replica set and, if is isn't, (b) creates a replica
8
+ # set of which that MongoDB instance is the sole member.
9
+ #
10
+ # This shell script was designed to be run within a Docker container based upon
11
+ # the `mongo:8.0.4` container image (i.e., https://hub.docker.com/_/mongo).
12
+ #
13
+ # Positional parameters
14
+ # ---------------------
15
+ # 1. MongoDB hostname (e.g., "mongo")
16
+ # 2. MongoDB port (e.g., "27017")
17
+ # 3. MongoDB username (e.g., "admin")
18
+ # 4. MongoDB password (e.g., "root")
19
+ #
20
+ # References
21
+ # ----------
22
+ # 1. https://www.mongodb.com/docs/manual/reference/method/rs.status/
23
+ # 2. https://www.mongodb.com/docs/mongodb-shell/reference/options/
24
+ # 3. https://www.warp.dev/terminus/docker-compose-health-check
25
+ ###############################################################################
26
+
27
+ echo 'Setting up replica set.'
28
+
29
+ echo '
30
+ try {
31
+ rs.status();
32
+ } catch (e) {
33
+ rs.initiate({ _id: "rs0", members: [{ _id: 0, host: "localhost" }] });
34
+ }
35
+ ' | mongosh \
36
+ --host "${1}" \
37
+ --port "${2}" \
38
+ --username "${3}" \
39
+ --password "${4}"
40
+
41
+ echo 'Finished setting up replica set.'
42
+
43
+ # Exit with a status code of 0.
44
+ exit 0
@@ -0,0 +1,36 @@
1
+ .env*
2
+ !.env.example
3
+ !.env.test
4
+ .idea
5
+ deployment
6
+ .eggs
7
+ .pytest_cache
8
+ build
9
+ dist
10
+
11
+ # Omit the Docker configuration/specification files from the image build context,
12
+ # so we can edit them without invalidating existing image layers.
13
+ #
14
+ # Note: Although we exclude the `.docker/` directory from the build context, we
15
+ # make an exception for the `wait-for-it.sh` file within it, since we want
16
+ # that specific file to be `COPY`-ed into the `test` container image during
17
+ # that container image's build process (which is defined in `Dockerfile`).
18
+ #
19
+ # Reference: https://docs.docker.com/build/concepts/context/#dockerignore-files
20
+ #
21
+ /.dockerignore
22
+ /.docker/
23
+ !/.docker/wait-for-it.sh
24
+ /docker-compose.yml
25
+ /docker-compose.test.yml
26
+ /nmdc_runtime/Dockerfile
27
+
28
+ # Omit any local Python virtual environment from the image build context. The
29
+ # image build process includes its own package download/installation step.
30
+ /venv
31
+ /.venv
32
+
33
+ # Omit residual files left behind by some tests.
34
+ /neon.db
35
+ /neon_api_cache.sqlite
36
+ /neon_cache.sqlite
@@ -51,4 +51,9 @@ INFO_BANNER_INNERHTML='Announcement: Something important is about to happen. If
51
51
 
52
52
  # To get the latest mongo dump directory, run e.g.
53
53
  # ssh -i ~/.ssh/nersc -q ${NERSC_USERNAME}@dtn01.nersc.gov 'bash -s ' < util/get_latest_nmdc_prod_dump_dir.sh 2>/dev/null
54
- MONGO_REMOTE_DUMP_DIR=/global/cfs/projectdirs/m3408/nmdc-mongodumps/dump_nmdc-prod_2024-11-26_20-12-40
54
+ MONGO_REMOTE_DUMP_DIR=/global/cfs/projectdirs/m3408/nmdc-mongodumps/dump_nmdc-prod_2025-02-12_20-12-02
55
+
56
+ # The path to an executable copy of the `sshproxy` program maintained by NERSC.
57
+ # Note: This is currently only used by the `nersc-sshproxy` target in `Makefile`.
58
+ # Reference: https://docs.nersc.gov/connect/mfa/#sshproxy
59
+ PATH_TO_NERSC_SSHPROXY=/Users/Alice/Downloads/sshproxy
@@ -20,4 +20,4 @@ API_SITE_ID=nmdc-runtime
20
20
  API_SITE_CLIENT_ID=chws-tk74-51
21
21
  API_SITE_CLIENT_SECRET=070d56033559e3096d4f82d30aabdd51c3b8a57ac20d24f743a27444d5edc3db
22
22
 
23
- MINTING_SERVICE_ID=nmdc:minter_service_11
23
+ MINTING_SERVICE_ID=nmdc:minter_service_11
@@ -9,7 +9,7 @@ on:
9
9
  paths:
10
10
  - '.github/workflows/build-and-release-to-spin.yml'
11
11
  - 'Makefile'
12
- - '**.Dockerfile'
12
+ - '**/Dockerfile'
13
13
  - '**.py'
14
14
  - 'requirements/main.txt'
15
15
 
@@ -78,7 +78,10 @@ jobs:
78
78
  with:
79
79
  context: .
80
80
  push: ${{ env.IS_ORIGINAL_REPO }}
81
- file: nmdc_runtime/${{ matrix.image }}.Dockerfile
81
+ file: nmdc_runtime/Dockerfile
82
+ # Note: Since our `Dockerfile` describes multiple stages, we use the `target` option to specify a stage.
83
+ # Reference: https://github.com/marketplace/actions/build-and-push-docker-images#inputs
84
+ target: ${{ matrix.image }}
82
85
  tags: ${{ steps.meta.outputs.tags }}
83
86
  labels: ${{ steps.meta.outputs.labels }}
84
87
 
@@ -17,9 +17,9 @@ jobs:
17
17
  - uses: actions/setup-python@v2
18
18
  with:
19
19
  python-version: 3.x
20
- - run: pip install git+https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
21
- - run: pip install mkdocs-mermaid2-plugin
22
- - run: pip install mkdocs-jupyter
20
+ - name: Install Python package dependencies
21
+ run: pip install mkdocs-material mkdocs-mermaid2-plugin mkdocs-jupyter
22
+
23
23
  # Build the MkDocs site (but don't deploy it).
24
24
  #
25
25
  # Note: Until January 17, 2025, we would build and deploy the MkDocs website to GitHub Pages.
@@ -40,6 +40,5 @@ jobs:
40
40
  # when the site is no longer buildable (e.g. due to someone inadvertently introducing an invalid source
41
41
  # file, or due to one of the dependencies becoming unavailable), which can prompt remedial action.
42
42
  #
43
- - run: mkdocs build
44
- env:
45
- GH_TOKEN: ${{ secrets.GH_TOKEN_MKDOCS_MATERIAL_INSIDERS }}
43
+ - name: Build MkDocs site
44
+ run: mkdocs build
@@ -0,0 +1,91 @@
1
+ # This GitHub Actions workflow spins up the "test" Docker Compose stack and runs automated tests within it.
2
+ # Reference: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions
3
+ name: Python application
4
+
5
+ # Note: The following events will trigger this workflow:
6
+ # 1. Someone pushes a commit to `main` that includes changes to any of the listed files.
7
+ # 2. Someone opens a pull request that includes changes to any of the listed files.
8
+ # 3. Someone clicks the "Run workflow" button on the "Actions" tab on GitHub.
9
+ #
10
+ # References:
11
+ # - https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow#example-including-paths
12
+ # - https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet
13
+ #
14
+ on:
15
+ push:
16
+ branches: [ main ]
17
+ paths:
18
+ - '.github/workflows/python-app.yml'
19
+ - 'Makefile'
20
+ - '**/Dockerfile'
21
+ - '**.py'
22
+ - 'requirements/main.txt'
23
+ # Every file in the `data` directory or in any of its subdirectories:
24
+ - 'metadata-translation/notebooks/data/**'
25
+ pull_request:
26
+ paths:
27
+ - '.github/workflows/python-app.yml'
28
+ - 'Makefile'
29
+ - '**/Dockerfile'
30
+ - '**.py'
31
+ - 'requirements/main.txt'
32
+ - 'metadata-translation/notebooks/data/**'
33
+ # Allow developers to trigger this workflow manually via the "Actions" page on GitHub.
34
+ # Reference: https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow
35
+ workflow_dispatch: { }
36
+
37
+ jobs:
38
+ build:
39
+ runs-on: ubuntu-latest
40
+
41
+ steps:
42
+ - uses: actions/checkout@v4 # update version to maintain consistency across workflows
43
+ # Prepare the MongoDB keyfile to be mounted by the `mongo` container.
44
+ #
45
+ # Note: This is to prevent MongoDB from reporting the error:
46
+ # > "permissions on /path/to/keyfile are too open"
47
+ #
48
+ # Note: This involves making the file be readable _only_ by the OS user that MongoDB runs as.
49
+ #
50
+ # In containers using the `mongo` image, that user is named `mongodb` and has a
51
+ # UID of `999`. That user belongs to a group named `mongodb`, whose GID is `999`.
52
+ # You can verify this by looking at the Dockerfile layers on Docker Hub.
53
+ # Reference: https://hub.docker.com/layers/library/mongo/8.0.5/images/sha256-90bf5066fed8a3cd59345d963922bc5cb557d4b4b2a0e38dfd9ee299c405741b
54
+ #
55
+ # The GHA Runner will allow me to `chmod 600` the file, but not `chown 999:999` it.
56
+ # Since the GHA Runner will not allow me to `chown` the file, I use a Docker container
57
+ # to (effectively) accomplish that. Since—after I use the Docker container to change
58
+ # the file's owner—the GHA Runner will not allow me to then `chmod` the file, I opt to
59
+ # accomplish that within the Docker container as well.
60
+ #
61
+ # The reason—within the Docker container—I do not `chmod` or `chown` the original file
62
+ # directly, is that I am under the impression that ownership/permission changes made
63
+ # within a container to mounted files that already exist on the host will not be seen
64
+ # by the host. I have not found official documentation supporting this yet.
65
+ # TODO: Include a reference about changing mounted file's permission within container.
66
+ #
67
+ - name: Restrict access to MongoDB keyfile
68
+ run: |
69
+ mkdir _tmp
70
+ docker run --rm \
71
+ -v ./.docker/mongoKeyFile:/mongoKeyFile \
72
+ -v ./_tmp:/out \
73
+ alpine \
74
+ sh -c 'cp /mongoKeyFile /out/mongoKeyFile && chmod 600 /out/mongoKeyFile && chown 999:999 /out/mongoKeyFile'
75
+ mv _tmp/mongoKeyFile ./.docker/mongoKeyFile
76
+ rmdir _tmp
77
+ - name: Set up Python 3.10
78
+ uses: actions/setup-python@v4
79
+ with:
80
+ python-version: '3.10'
81
+ # deprecated: Consider merging python.app.yml and lint.yml
82
+ # - name: Lint with flake8
83
+ # run: |
84
+ # pip install flake8
85
+ # make lint
86
+ - name: Build and run containers upon which test runner depends
87
+ run: make up-test
88
+ - name: Build container image for test runner
89
+ run: make test-build
90
+ - name: Run tests
91
+ run: make test-run
@@ -15,6 +15,7 @@ downloads/
15
15
  eggs/
16
16
  .eggs/
17
17
  lib/
18
+ !/tests/lib/
18
19
  lib64/
19
20
  parts/
20
21
  sdist/
@@ -38,25 +38,39 @@ update: update-deps init
38
38
  up-dev:
39
39
  docker compose up --build --force-recreate --detach --remove-orphans
40
40
 
41
+ # Restores the MongoDB dump residing in `./tests/nmdcdb` on the Docker host, into the MongoDB server in the dev stack.
41
42
  dev-reset-db:
42
43
  docker compose \
43
- exec mongo /bin/bash -c "./app_tests/mongorestore-nmdc-testdb.sh"
44
+ exec mongo /bin/bash -c "/mongorestore-nmdc-testdb.sh"
44
45
 
46
+ # Uses Docker Compose to build and spin up the stack upon which the `test` container (i.e. the test runner) depends.
47
+ #
48
+ # Note: This does not build or spin up the `test` container, itself, since the `test` container's Docker Compose service
49
+ # has the "donotstart" profile specified for it in `docker-compose.test.yml`.
50
+ #
45
51
  up-test:
46
52
  docker compose --file docker-compose.test.yml \
47
53
  up --build --force-recreate --detach --remove-orphans
48
54
 
55
+ # Uses Docker Compose to build the container image for the `test` container (i.e. the test runner).
49
56
  test-build:
50
57
  docker compose --file docker-compose.test.yml build test
51
58
 
52
- test-dbinit:
59
+ # Restores the MongoDB dump residing in `./tests/nmdcdb` on the Docker host, into the MongoDB server in the test stack.
60
+ test-reset-db:
53
61
  docker compose --file docker-compose.test.yml \
54
62
  exec mongo /bin/bash -c "/mongorestore-nmdc-testdb.sh"
55
63
 
56
- # Tip: If you append a file path to this "recipe", pytest will run only the tests defined in that file.
57
- # For example, append `tests/test_api/test_endpoints.py` to have pytest only run the endpoint tests.
64
+ # Uses Docker Compose to spin up the `test` container (i.e. the test runner), effectively running the tests.
65
+ #
66
+ # Tip: If you append `ARGS=` and a file path to the `make` command, pytest will run only the tests defined in that file.
67
+ # For example, to run only the tests defined in `tests/test_api/test_endpoints.py`:
68
+ # ```
69
+ # $ make test-run ARGS="tests/test_api/test_endpoints.py"
70
+ # ```
71
+ #
58
72
  test-run:
59
- docker compose --file docker-compose.test.yml run test
73
+ docker compose --file docker-compose.test.yml run test $(ARGS)
60
74
 
61
75
  test: test-build test-run
62
76
 
@@ -99,8 +113,17 @@ publish:
99
113
  docs-dev:
100
114
  mkdocs serve -a localhost:8080
101
115
 
116
+ # 🙋 Prerequisites:
117
+ #
118
+ # 1. The `PATH_TO_NERSC_SSHPROXY` environment variable is set to the path of
119
+ # an executable copy of the `sshproxy` program maintained by NERSC.
120
+ # You can read about and download that program at the following URL:
121
+ # https://docs.nersc.gov/connect/mfa/#sshproxy
122
+ #
123
+ # 2. The `NERSC_USERNAME` environment variable is set to your NERSC username.
124
+ #
102
125
  nersc-sshproxy:
103
- bash ./nersc-sshproxy.sh -u ${NERSC_USERNAME} # https://docs.nersc.gov/connect/mfa/#sshproxy
126
+ ${PATH_TO_NERSC_SSHPROXY} -u ${NERSC_USERNAME}
104
127
 
105
128
  nersc-mongo-tunnels:
106
129
  ssh -L27072:mongo-loadbalancer.nmdc.production.svc.spin.nersc.org:27017 \
@@ -116,7 +139,7 @@ mongorestore-nmdc-db:
116
139
  # export MONGO_REMOTE_DUMP_DIR=$(ssh -i ~/.ssh/nersc -q ${NERSC_USERNAME}@dtn01.nersc.gov 'bash -s ' < util/get_latest_nmdc_prod_dump_dir.sh 2>/dev/null)
117
140
  # ```
118
141
  # Rsync the remote dump directory items of interest:
119
- rsync -av --exclude='_*' --exclude='fs\.*' \
142
+ rsync -av --no-perms --exclude='_*' --exclude='fs\.*' \
120
143
  -e "ssh -i ~/.ssh/nersc" \
121
144
  ${NERSC_USERNAME}@dtn01.nersc.gov:${MONGO_REMOTE_DUMP_DIR}/nmdc/ \
122
145
  /tmp/remote-mongodump/nmdc
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: nmdc_runtime
3
- Version: 2.4.0
3
+ Version: 2.6.0
4
4
  Summary: A runtime system for NMDC data management and orchestration
5
5
  Home-page: https://github.com/microbiomedata/nmdc-runtime
6
6
  Author: Donny Winston
@@ -17,6 +17,7 @@ Dynamic: classifier
17
17
  Dynamic: description
18
18
  Dynamic: description-content-type
19
19
  Dynamic: home-page
20
+ Dynamic: license-file
20
21
  Dynamic: requires-python
21
22
  Dynamic: summary
22
23
 
@@ -37,8 +38,7 @@ houses the LinkML schema specification, as well as generated artifacts (e.g. JSO
37
38
  * [nmdc-server](https://github.com/microbiomedata/nmdc-server)
38
39
  houses code specific to the data portal -- its database, back-end API, and front-end application.
39
40
 
40
- * [workflow_documentation](https://docs.microbiomedata.org/workflows/)
41
- references workflow code spread across several repositories, that take source data and produce computed data.
41
+ * Workflows — documented in the [workflows](https://docs.microbiomedata.org/workflows/) section of the NMDC documentation website — take source data and produce computed data.
42
42
 
43
43
  * This repo (nmdc-runtime)
44
44
  * houses code that takes source data and computed data, and transforms it
@@ -106,10 +106,10 @@ docker compose version
106
106
  docker info
107
107
  ```
108
108
 
109
- Ensure the permissions of `./mongoKeyFile` are such that only the file's owner can read or write the file.
109
+ Ensure the permissions of `./.docker/mongoKeyFile` are such that only the file's owner can read or write the file.
110
110
 
111
111
  ```shell
112
- chmod 600 ./mongoKeyFile
112
+ chmod 600 ./.docker/mongoKeyFile
113
113
  ```
114
114
 
115
115
  Ensure you have a `.env` file for the Docker services to source from. You may copy `.env.example` to
@@ -156,6 +156,9 @@ Tests can be found in `tests` and are run with the following commands:
156
156
  ```bash
157
157
  make up-test
158
158
  make test
159
+
160
+ # Run a Specific test file eg. tests/test_api/test_endpoints.py
161
+ make test ARGS="tests/test_api/test_endpoints.py"
159
162
  ```
160
163
 
161
164
  As you create Dagster solids and pipelines, add tests in `tests/` to check that your code behaves as
@@ -164,6 +167,16 @@ desired and does not break over time.
164
167
  [For hints on how to write tests for solids and pipelines in Dagster, see their documentation
165
168
  tutorial on Testing](https://docs.dagster.io/tutorial/testable).
166
169
 
170
+ ### RAM usage
171
+
172
+ The `dagster-daemon` and `dagster-dagit` containers can consume a lot of RAM. If tests are failing and the console of
173
+ the `test` container shows "Error 137," here is something you can try as a workaround: In Docker Desktop, go to
174
+ "Settings > Resources > Advanced," and increase the memory limit. One of our team members has
175
+ found **12 GB** to be sufficient for running the tests.
176
+
177
+ > Dedicating 12 GB of RAM to Docker may be prohibitive for some prospective developers.
178
+ > There is an open [issue](https://github.com/microbiomedata/nmdc-runtime/issues/928) about the memory requirement.
179
+
167
180
  ## Publish to PyPI
168
181
 
169
182
  This repository contains a GitHub Actions workflow that publishes a Python package to [PyPI](https://pypi.org/project/nmdc-runtime/).
@@ -15,8 +15,7 @@ houses the LinkML schema specification, as well as generated artifacts (e.g. JSO
15
15
  * [nmdc-server](https://github.com/microbiomedata/nmdc-server)
16
16
  houses code specific to the data portal -- its database, back-end API, and front-end application.
17
17
 
18
- * [workflow_documentation](https://docs.microbiomedata.org/workflows/)
19
- references workflow code spread across several repositories, that take source data and produce computed data.
18
+ * Workflows — documented in the [workflows](https://docs.microbiomedata.org/workflows/) section of the NMDC documentation website — take source data and produce computed data.
20
19
 
21
20
  * This repo (nmdc-runtime)
22
21
  * houses code that takes source data and computed data, and transforms it
@@ -84,10 +83,10 @@ docker compose version
84
83
  docker info
85
84
  ```
86
85
 
87
- Ensure the permissions of `./mongoKeyFile` are such that only the file's owner can read or write the file.
86
+ Ensure the permissions of `./.docker/mongoKeyFile` are such that only the file's owner can read or write the file.
88
87
 
89
88
  ```shell
90
- chmod 600 ./mongoKeyFile
89
+ chmod 600 ./.docker/mongoKeyFile
91
90
  ```
92
91
 
93
92
  Ensure you have a `.env` file for the Docker services to source from. You may copy `.env.example` to
@@ -134,6 +133,9 @@ Tests can be found in `tests` and are run with the following commands:
134
133
  ```bash
135
134
  make up-test
136
135
  make test
136
+
137
+ # Run a Specific test file eg. tests/test_api/test_endpoints.py
138
+ make test ARGS="tests/test_api/test_endpoints.py"
137
139
  ```
138
140
 
139
141
  As you create Dagster solids and pipelines, add tests in `tests/` to check that your code behaves as
@@ -142,6 +144,16 @@ desired and does not break over time.
142
144
  [For hints on how to write tests for solids and pipelines in Dagster, see their documentation
143
145
  tutorial on Testing](https://docs.dagster.io/tutorial/testable).
144
146
 
147
+ ### RAM usage
148
+
149
+ The `dagster-daemon` and `dagster-dagit` containers can consume a lot of RAM. If tests are failing and the console of
150
+ the `test` container shows "Error 137," here is something you can try as a workaround: In Docker Desktop, go to
151
+ "Settings > Resources > Advanced," and increase the memory limit. One of our team members has
152
+ found **12 GB** to be sufficient for running the tests.
153
+
154
+ > Dedicating 12 GB of RAM to Docker may be prohibitive for some prospective developers.
155
+ > There is an open [issue](https://github.com/microbiomedata/nmdc-runtime/issues/928) about the memory requirement.
156
+
145
157
  ## Publish to PyPI
146
158
 
147
159
  This repository contains a GitHub Actions workflow that publishes a Python package to [PyPI](https://pypi.org/project/nmdc-runtime/).
@@ -0,0 +1,56 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "d05efc6327778f9c",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Migrate MongoDB database from `nmdc-schema` `v11.4.0` to `v11.5.0`"
9
+ ]
10
+ },
11
+ {
12
+ "cell_type": "markdown",
13
+ "id": "b99d5924e825b9a2",
14
+ "metadata": {},
15
+ "source": [
16
+ "There are no migrators associated with any schema changes between schema versions `v11.4.0` and `v11.5.0`. So, this notebook is a \"no op\" (i.e. \"no operation\")."
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "code",
21
+ "execution_count": null,
22
+ "id": "initial_id",
23
+ "metadata": {
24
+ "collapsed": true,
25
+ "jupyter": {
26
+ "is_executing": true
27
+ }
28
+ },
29
+ "outputs": [],
30
+ "source": [
31
+ "# no op"
32
+ ]
33
+ }
34
+ ],
35
+ "metadata": {
36
+ "kernelspec": {
37
+ "display_name": "Python 3",
38
+ "language": "python",
39
+ "name": "python3"
40
+ },
41
+ "language_info": {
42
+ "codemirror_mode": {
43
+ "name": "ipython",
44
+ "version": 2
45
+ },
46
+ "file_extension": ".py",
47
+ "mimetype": "text/x-python",
48
+ "name": "python",
49
+ "nbconvert_exporter": "python",
50
+ "pygments_lexer": "ipython2",
51
+ "version": "2.7.6"
52
+ }
53
+ },
54
+ "nbformat": 4,
55
+ "nbformat_minor": 5
56
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "d05efc6327778f9c",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Migrate MongoDB database from `nmdc-schema` `v11.5.0` to `v11.5.1`"
9
+ ]
10
+ },
11
+ {
12
+ "cell_type": "markdown",
13
+ "id": "b99d5924e825b9a2",
14
+ "metadata": {},
15
+ "source": [
16
+ "There are no migrators associated with any schema changes between schema versions `v11.5.0` and `v11.5.1`. So, this notebook is a \"no op\" (i.e. \"no operation\")."
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "code",
21
+ "execution_count": null,
22
+ "id": "initial_id",
23
+ "metadata": {
24
+ "collapsed": true,
25
+ "jupyter": {
26
+ "is_executing": true
27
+ }
28
+ },
29
+ "outputs": [],
30
+ "source": [
31
+ "# no op"
32
+ ]
33
+ }
34
+ ],
35
+ "metadata": {
36
+ "kernelspec": {
37
+ "display_name": "Python 3",
38
+ "language": "python",
39
+ "name": "python3"
40
+ },
41
+ "language_info": {
42
+ "codemirror_mode": {
43
+ "name": "ipython",
44
+ "version": 2
45
+ },
46
+ "file_extension": ".py",
47
+ "mimetype": "text/x-python",
48
+ "name": "python",
49
+ "nbconvert_exporter": "python",
50
+ "pygments_lexer": "ipython2",
51
+ "version": "2.7.6"
52
+ }
53
+ },
54
+ "nbformat": 4,
55
+ "nbformat_minor": 5
56
+ }