gen3-dataops-toolkit 5.0.0__tar.gz → 5.0.2__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 (63) hide show
  1. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/PKG-INFO +1 -1
  2. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/pyproject.toml +1 -1
  3. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/dict_cmds.py +8 -1
  4. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/utils/athena_utils.py +22 -0
  5. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/README.md +0 -0
  6. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/__init__.py +0 -0
  7. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/__init__.py +0 -0
  8. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/_internal/__init__.py +0 -0
  9. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/_internal/aws_quiet.py +0 -0
  10. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/_internal/dispatch.py +0 -0
  11. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/_internal/helptext.py +0 -0
  12. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/_internal/registry.py +0 -0
  13. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/_internal/resolve.py +0 -0
  14. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/_internal/runner.py +0 -0
  15. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/_internal/safety.py +0 -0
  16. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/config_cmds.py +0 -0
  17. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/delete_cmds.py +0 -0
  18. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/ec2_cmds.py +0 -0
  19. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/indexd_cmds.py +0 -0
  20. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/jobs.py +0 -0
  21. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/k8s.py +0 -0
  22. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/main.py +0 -0
  23. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/metadata.py +0 -0
  24. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/pipeline_cmds.py +0 -0
  25. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/release_cmds.py +0 -0
  26. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/study_cmds.py +0 -0
  27. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/cli/synth.py +0 -0
  28. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/config.py +0 -0
  29. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/contexts.py +0 -0
  30. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/import_order.py +0 -0
  31. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/indexd/__init__.py +0 -0
  32. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/indexd/file_access.py +0 -0
  33. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/indexd/indexd_registrar.py +0 -0
  34. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/ingest/ingest.py +0 -0
  35. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/resolver.py +0 -0
  36. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/delete/delete_all_metadata_for_project.py +0 -0
  37. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/delete/delete_metadata.sh +0 -0
  38. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/delete/delete_metadata_by_guid.py +0 -0
  39. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/delete/delete_synth_metadata_by_version.py +0 -0
  40. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/dictionary/deploy_dd.sh +0 -0
  41. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/dictionary/pull_dict.sh +0 -0
  42. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/dictionary/upload_dictionary.py +0 -0
  43. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/indexd/register_indexd.py +0 -0
  44. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/indexd/verify_file_access.py +0 -0
  45. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/k8s_ops/argocd_restart_etl.sh +0 -0
  46. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/k8s_ops/argocd_restart_ms.sh +0 -0
  47. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/k8s_ops/argocd_restart_schema.sh +0 -0
  48. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/k8s_ops/login_to_pod.sh +0 -0
  49. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/k8s_ops/restart_etl_and_ms.sh +0 -0
  50. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/synthetic_data/delete_synth_metadata_sheepdog.py +0 -0
  51. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/synthetic_data/full_deploy_dd_and_synth.sh +0 -0
  52. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/synthetic_data/generate_synth_metadata.sh +0 -0
  53. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/synthetic_data/upload_synth_metadata_sheepdog.py +0 -0
  54. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/upload/metadata/upload_all_studies.sh +0 -0
  55. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/services/upload/metadata/upload_metadata.py +0 -0
  56. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/studies.py +0 -0
  57. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/upload/__init__.py +0 -0
  58. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/upload/metadata_deleter.py +0 -0
  59. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/upload/metadata_submitter.py +0 -0
  60. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/upload/upload_synthdata_s3.py +0 -0
  61. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/utils/dbt_utils.py +0 -0
  62. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/utils/release_writer.py +0 -0
  63. {gen3_dataops_toolkit-5.0.0 → gen3_dataops_toolkit-5.0.2}/src/g3dt/validate/validate.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gen3-dataops-toolkit
3
- Version: 5.0.0
3
+ Version: 5.0.2
4
4
  Summary: Gen3 DataOps toolkit (g3dt): operate SSM-published Gen3 data pipeline environments
5
5
  License: Apache-2.0
6
6
  Author: JoshuaHarris391
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "gen3-dataops-toolkit"
3
- version = "5.0.0"
3
+ version = "5.0.2"
4
4
  description = "Gen3 DataOps toolkit (g3dt): operate SSM-published Gen3 data pipeline environments"
5
5
  authors = ["JoshuaHarris391 <harjo391@gmail.com>"]
6
6
  readme = "README.md"
@@ -37,6 +37,11 @@ def _version(env_cfg, override):
37
37
  return override or env_cfg.dictionary_version
38
38
 
39
39
 
40
+ def _bare_version(v) -> str:
41
+ """``v1.2.0`` / ``1.2.0`` / ``V1.2.0`` -> ``1.2.0`` (None -> "")."""
42
+ return (v or "").strip().lstrip("vV")
43
+
44
+
40
45
  def warn_if_overridden(env_cfg, version: Optional[str]) -> None:
41
46
  """Say so, loudly, when the deployed version isn't the one SSM declares.
42
47
 
@@ -148,7 +153,9 @@ def status(
148
153
  stamp = deployed or "(no version stamp on the object)"
149
154
  when = uploaded.strftime("%Y-%m-%d %H:%M %Z") if hasattr(uploaded, "strftime") else uploaded
150
155
  typer.echo(f"deployed : {stamp} (s3://{location}, uploaded {when})")
151
- state = "in sync" if deployed == declared else "DRIFT"
156
+ # The S3 stamp is the JSON's _settings _dict_version (often "1.2.0")
157
+ # while the declared tag carries the git "v" prefix; the same version.
158
+ state = "in sync" if _bare_version(deployed) == _bare_version(declared) else "DRIFT"
152
159
  if state == "in sync":
153
160
  typer.secho("status : in sync", fg=typer.colors.GREEN)
154
161
  return
@@ -915,6 +915,28 @@ def write_gold_json_to_s3(
915
915
  logger.info(f"Object created at s3://{s3_bucket}/{s3_object_key}")
916
916
 
917
917
 
918
+ def construct_data_import_order(s3_uri: str) -> list:
919
+ """Submission order (parents first) of the dictionary bundle at ``s3_uri``.
920
+
921
+ Kept for the aws-gen3-pipeline release-export Glue job
922
+ (``write_data_release_to_json.py``), which imports this name from here to
923
+ write each release's ``DataImportOrder.txt``. 5.0.0 moved the derivation
924
+ to :mod:`g3dt.import_order` and dropped the name, so any deployment with
925
+ ``toolkitVersion >= 5.0.0`` failed its release export with
926
+ ``ImportError: cannot import name 'construct_data_import_order'``.
927
+
928
+ Delegates to :func:`g3dt.import_order.derive_import_order` (a topological
929
+ sort of the raw bundle). Compared with the pre-5.0 gen3_validator order it
930
+ omits the unsubmittable ``program`` node and does not force
931
+ ``core_metadata_collection`` last; both are valid submission orders and
932
+ the upload only uses the file to sequence the node JSONs it finds.
933
+ """
934
+ from g3dt.import_order import derive_import_order
935
+ from g3dt.validate.validate import load_schema_from_s3_uri
936
+
937
+ return derive_import_order(load_schema_from_s3_uri(s3_uri))
938
+
939
+
918
940
  def write_release_jsons_to_s3(s3_bucket, release_id, study_id, table_name, json_data,
919
941
  s3_client=None, key_prefix="release_jsons"):
920
942
  """