bigeye-cli 0.3.51__tar.gz → 0.3.53__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 (36) hide show
  1. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/PKG-INFO +8 -6
  2. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/CLI_DOCS.md +6 -4
  3. bigeye_cli-0.3.53/bigeye_cli/__version__.py +2 -0
  4. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/catalog/catalog_commands.py +58 -5
  5. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/deltas/deltas_commands.py +2 -6
  6. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/functions.py +1 -0
  7. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/metric/metric_commands.py +6 -2
  8. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/pyproject.toml +2 -2
  9. bigeye_cli-0.3.51/bigeye_cli/__version__.py +0 -2
  10. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/LICENSE +0 -0
  11. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/__init__.py +0 -0
  12. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/__main__.py +0 -0
  13. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/bigconfig/__init__.py +0 -0
  14. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/bigconfig/bigconfig_commands.py +0 -0
  15. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/bigconfig/bigconfig_options.py +0 -0
  16. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/catalog/__init__.py +0 -0
  17. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/collections/__init__.py +0 -0
  18. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/collections/collection_commands.py +0 -0
  19. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/configure/__init__.py +0 -0
  20. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/configure/configure_commands.py +0 -0
  21. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/deltas/__init__.py +0 -0
  22. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/enums.py +0 -0
  23. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/exceptions/__init__.py +0 -0
  24. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/exceptions/exceptions.py +0 -0
  25. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/global_options.py +0 -0
  26. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/issues/__init__.py +0 -0
  27. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/issues/issue_commands.py +0 -0
  28. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/lineage/__init__.py +0 -0
  29. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/lineage/lineage_commands.py +0 -0
  30. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/metric/__init__.py +0 -0
  31. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/model/__init__.py +0 -0
  32. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/model/cicd_conf.py +0 -0
  33. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/model/github_report.py +0 -0
  34. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/model/vendor_report.py +0 -0
  35. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/workspace/__init__.py +0 -0
  36. {bigeye_cli-0.3.51 → bigeye_cli-0.3.53}/bigeye_cli/workspace/workspace_commands.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bigeye-cli
3
- Version: 0.3.51
3
+ Version: 0.3.53
4
4
  Summary: Bigeye CLI offers developer tools for maintaining your developer workspace.
5
5
  Home-page: https://docs.bigeye.com/docs
6
6
  License: Proprietary
@@ -13,13 +13,13 @@ Classifier: Programming Language :: Python :: 3.9
13
13
  Classifier: Programming Language :: Python :: 3.10
14
14
  Classifier: Programming Language :: Python :: 3.11
15
15
  Requires-Dist: PyGithub (>=1.57,<2.0)
16
- Requires-Dist: bigeye-sdk (>=0.4.71,<0.5.0)
16
+ Requires-Dist: bigeye-sdk (>=0.4.73,<0.5.0)
17
17
  Requires-Dist: click (>=8.0.4,<9.0.0)
18
18
  Requires-Dist: rich (>=12.4.4,<13.0.0)
19
19
  Description-Content-Type: text/markdown
20
20
 
21
21
  # **Bigeye CLI**
22
- Version: 0.3.51
22
+ Version: 0.3.52
23
23
  ## Installation
24
24
 
25
25
  **Setting up your local/build environment**
@@ -191,7 +191,9 @@ password = fakepassword1234
191
191
 
192
192
  **Note:** Most use cases will only require you to have a single `DEFAULT` credential that all workspaces can utilize. Running the `bigeye configure -w <workspace-name>` command for a non-default workspace will prompt you to inherit the credentials from default or create a new set of credentials. A workspace credential is only required if the `use_default_credential` setting is set to False in the configuration of the corresponding workspace.
193
193
 
194
- # CLI Documentation# `bigeye configure`
194
+ # CLI Documentation
195
+
196
+ # `bigeye configure`
195
197
 
196
198
  Configuration Commands for Bigeye CLI
197
199
 
@@ -1481,8 +1483,8 @@ $ bigeye deltas suggest-deltas [OPTIONS]
1481
1483
  * `-b, --bigeye_conf TEXT`: Bigeye Credential File Path [env var: BIGEYE_API_CRED_FILE]
1482
1484
  * `-c, --config_file TEXT`: Bigeye CLI Configuration File Path [env var: BIGEYE_API_CONFIG_FILE]
1483
1485
  * `-w, --workspace TEXT`: Name of the workspace configuration. [env var: BIGEYE_WORKSPACE; default: DEFAULT]
1484
- * `--source-selector TEXT`: [default: <typer.models.OptionInfo object at 0x7f8310164c10>]
1485
- * `--target-selector TEXT`: [default: <typer.models.OptionInfo object at 0x7f8310164c40>]
1486
+ * `-source, --source_selector TEXT`: The pattern of tables in the source to select. Wildcard (*) indicates all tables or all schemas, e.g. source_1.*.* would be all schemas in source_1. [required]
1487
+ * `-target, --target_selector TEXT`: The pattern of tables in the target to select. Wildcard (*) indicates all tables or all schemas, e.g. source_2.*.* would be all schemas in source_2. [required]
1486
1488
  * `-mt, --match_type [strict|fuzzy]`: How to match tables between the source and target destinations. Strict will only create relations if table names match exactly, Fuzzy will attempt to create relations using a fuzzy match. [default: MatchType.STRICT]
1487
1489
  * `-op, --output_path TEXT`: File to write the delta configuration. [required]
1488
1490
  * `--help`: Show this message and exit.
@@ -1,5 +1,5 @@
1
1
  # **Bigeye CLI**
2
- Version: 0.3.51
2
+ Version: 0.3.52
3
3
  ## Installation
4
4
 
5
5
  **Setting up your local/build environment**
@@ -171,7 +171,9 @@ password = fakepassword1234
171
171
 
172
172
  **Note:** Most use cases will only require you to have a single `DEFAULT` credential that all workspaces can utilize. Running the `bigeye configure -w <workspace-name>` command for a non-default workspace will prompt you to inherit the credentials from default or create a new set of credentials. A workspace credential is only required if the `use_default_credential` setting is set to False in the configuration of the corresponding workspace.
173
173
 
174
- # CLI Documentation# `bigeye configure`
174
+ # CLI Documentation
175
+
176
+ # `bigeye configure`
175
177
 
176
178
  Configuration Commands for Bigeye CLI
177
179
 
@@ -1461,8 +1463,8 @@ $ bigeye deltas suggest-deltas [OPTIONS]
1461
1463
  * `-b, --bigeye_conf TEXT`: Bigeye Credential File Path [env var: BIGEYE_API_CRED_FILE]
1462
1464
  * `-c, --config_file TEXT`: Bigeye CLI Configuration File Path [env var: BIGEYE_API_CONFIG_FILE]
1463
1465
  * `-w, --workspace TEXT`: Name of the workspace configuration. [env var: BIGEYE_WORKSPACE; default: DEFAULT]
1464
- * `--source-selector TEXT`: [default: <typer.models.OptionInfo object at 0x7f8310164c10>]
1465
- * `--target-selector TEXT`: [default: <typer.models.OptionInfo object at 0x7f8310164c40>]
1466
+ * `-source, --source_selector TEXT`: The pattern of tables in the source to select. Wildcard (*) indicates all tables or all schemas, e.g. source_1.*.* would be all schemas in source_1. [required]
1467
+ * `-target, --target_selector TEXT`: The pattern of tables in the target to select. Wildcard (*) indicates all tables or all schemas, e.g. source_2.*.* would be all schemas in source_2. [required]
1466
1468
  * `-mt, --match_type [strict|fuzzy]`: How to match tables between the source and target destinations. Strict will only create relations if table names match exactly, Fuzzy will attempt to create relations using a fuzzy match. [default: MatchType.STRICT]
1467
1469
  * `-op, --output_path TEXT`: File to write the delta configuration. [required]
1468
1470
  * `--help`: Show this message and exit.
@@ -0,0 +1,2 @@
1
+ from importlib.metadata import version
2
+ version: str = version('bigeye-cli')
@@ -1,8 +1,7 @@
1
- # create logger
2
1
  import json
3
2
  import logging
4
3
  from pathlib import Path
5
- from typing import Optional, List, Tuple, Dict
4
+ from typing import Optional, List, Dict
6
5
 
7
6
  import typer
8
7
  from rich.progress import track
@@ -12,12 +11,12 @@ from bigeye_sdk.client.enum import Method
12
11
  from bigeye_cli.enums import OPS_METRICS
13
12
  from bigeye_cli import global_options
14
13
  from bigeye_sdk.functions.dbt import parse_dbt_manifest
14
+ from bigeye_sdk.functions.file_functs import read_json_file
15
15
  from bigeye_sdk.functions.search_and_match_functions import fuzzy_match
16
16
  from bigeye_sdk.model.dbt_manifest import DbtManifest
17
17
  from bigeye_sdk.model.protobuf_enum_facade import (
18
18
  MetricStatus,
19
19
  SimpleMetricCategory,
20
- SimpleMetricTemplateParameterType,
21
20
  SimpleMetricTemplateFieldType,
22
21
  )
23
22
  from bigeye_sdk.functions.aws import get_secret
@@ -46,6 +45,7 @@ from bigeye_cli.functions import (
46
45
  from bigeye_sdk.functions.metric_functions import has_auto_threshold
47
46
  from bigeye_sdk.functions.core_py_functs import int_enum_enum_list_joined
48
47
 
48
+ # create logger
49
49
  log = get_logger(__file__)
50
50
 
51
51
  app = typer.Typer(no_args_is_help=True, help="Catalog Commands for Bigeye CLI")
@@ -520,7 +520,7 @@ def backfill_metrics(
520
520
  "--queue",
521
521
  "-q",
522
522
  help="Submit the batch to a queue. (Recommended for larger batches)",
523
- )
523
+ ),
524
524
  ):
525
525
  """Backfills metrics by warehouse id, schema names, and/or table ids."""
526
526
  client = cli_client_factory(bigeye_conf, config_file, workspace)
@@ -571,7 +571,7 @@ def run_metrics(
571
571
  "--queue",
572
572
  "-q",
573
573
  help="Submit the batch to a queue. (Recommended for larger batches)",
574
- )
574
+ ),
575
575
  ):
576
576
  """Runs metrics by warehouse id, schema names, and/or table ids"""
577
577
  client = cli_client_factory(bigeye_conf, config_file, workspace)
@@ -1075,3 +1075,56 @@ def ingest_owners_from_dbt(
1075
1075
  f"No matching Bigeye user found for model: {model_name} - "
1076
1076
  f"owner: {node.config.meta.owner}"
1077
1077
  )
1078
+
1079
+
1080
+ @app.command()
1081
+ def ingest_dbt_core_run_info(
1082
+ bigeye_conf: str = global_options.bigeye_conf,
1083
+ config_file: str = global_options.config_file,
1084
+ workspace: str = global_options.workspace,
1085
+ target_path: Optional[str] = typer.Option(
1086
+ "./target",
1087
+ "--target_path",
1088
+ "-tp",
1089
+ help="The path to the target directory created with dbt run, build, and test commands.",
1090
+ ),
1091
+ project_name: Optional[str] = typer.Option(
1092
+ None, "--project_name", "-pn", help="The name of the dbt project. Will attempt to parse from metadata section of manifest.json, if not present"
1093
+ ),
1094
+ job_name: Optional[str] = typer.Option(
1095
+ None, "--job_name", "-jn", help="The name of the dbt job."
1096
+ ),
1097
+ job_run_id: Optional[str] = typer.Option(
1098
+ None, "--job_run_id", "-jid", help="The ID of the dbt job run."
1099
+ ),
1100
+ project_url: Optional[str] = typer.Option(
1101
+ None, "--project_url", "-purl", help="The URL of the project."
1102
+ ),
1103
+ job_url: Optional[str] = typer.Option(
1104
+ None, "--job_url", "-jurl", help="The URL of the job."
1105
+ ),
1106
+ job_run_url: Optional[str] = typer.Option(
1107
+ None, "--job_run_url", "-jrurl", help="The URL of the job run."
1108
+ ),
1109
+ ):
1110
+ """Ingest manifest.json and run_results.json from different dbt commands."""
1111
+
1112
+ manifest_json = read_json_file(file_path=f"{target_path}/manifest.json")
1113
+ run_results_json = read_json_file(file_path=f"{target_path}/run_results.json")
1114
+
1115
+ client = cli_client_factory(bigeye_conf, config_file, workspace)
1116
+
1117
+ response = client.send_dbt_core_job_info(
1118
+ project_name=project_name,
1119
+ job_name=job_name,
1120
+ job_run_id=job_run_id,
1121
+ manifest_json=json.dumps(manifest_json),
1122
+ run_results_json=json.dumps(run_results_json),
1123
+ project_url=project_url,
1124
+ job_url=job_url,
1125
+ job_run_url=job_run_url
1126
+ )
1127
+
1128
+ log.info(
1129
+ f"The following response was returned:\n\n\t{response.to_json(indent=True)}"
1130
+ )
@@ -45,23 +45,19 @@ def suggest_deltas(
45
45
  bigeye_conf: str = global_options.bigeye_conf,
46
46
  config_file: str = global_options.config_file,
47
47
  workspace: str = global_options.workspace,
48
- source_selector: str = (
49
- typer.Option(
48
+ source_selector: str = typer.Option(
50
49
  ...,
51
50
  "--source_selector",
52
51
  "-source",
53
52
  help="The pattern of tables in the source to select. Wildcard (*) indicates all tables or all "
54
53
  "schemas, e.g. source_1.*.* would be all schemas in source_1.",
55
- ),
56
54
  ),
57
- target_selector: List[str] = (
58
- typer.Option(
55
+ target_selector: List[str] = typer.Option(
59
56
  ...,
60
57
  "--target_selector",
61
58
  "-target",
62
59
  help="The pattern of tables in the target to select. Wildcard (*) indicates all tables or all "
63
60
  "schemas, e.g. source_2.*.* would be all schemas in source_2.",
64
- ),
65
61
  ),
66
62
  match_type: Optional[MatchType] = typer.Option(
67
63
  MatchType.STRICT,
@@ -1,4 +1,5 @@
1
1
  import enum
2
+ import json
2
3
  import os
3
4
  from typing import List, Dict
4
5
  import typer
@@ -8,6 +8,8 @@ import typer
8
8
  import json
9
9
  from pathlib import Path
10
10
 
11
+ import yaml
12
+
11
13
  from bigeye_cli import global_options
12
14
  from bigeye_cli.enums import MetricFileType
13
15
  from bigeye_sdk.controller.metric_controller import MetricController
@@ -329,12 +331,14 @@ def dbt_tests_to_metrics(
329
331
  ),
330
332
  ):
331
333
  """Convert tests in a dbt schema.yml to metrics in Bigeye"""
332
- dbt_schema = SimpleDbtSchema.parse_file(path=schema_file)
334
+ with open(schema_file) as fin:
335
+ schema_yml = yaml.safe_load(fin)
336
+ dbt_schema = SimpleDbtSchema(**schema_yml)
333
337
  client = cli_client_factory(bigeye_conf, config_file, workspace)
334
338
  metric_controller = MetricController(client=client)
335
339
  source = client.get_sources_by_name(source_names=[warehouse_name])[warehouse_name]
336
340
  dbt_tables: Dict[str, List[SimpleMetricDefinition]] = {
337
- t.name: t.model_tests for t in dbt_schema.models
341
+ t.name: t.column_tests for t in dbt_schema.models
338
342
  }
339
343
  tables: Dict[str, Table] = {
340
344
  t.name.lower(): t
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "bigeye-cli"
3
- version = "0.3.51"
3
+ version = "0.3.53"
4
4
  description = "Bigeye CLI offers developer tools for maintaining your developer workspace."
5
5
  license = "Proprietary"
6
6
  authors = ["Bigeye <support@bigeye.com>"]
@@ -19,7 +19,7 @@ bigeye = "bigeye_cli.__main__:app"
19
19
  [tool.poetry.dependencies]
20
20
  python = "^3.9.0"
21
21
  click = "^8.0.4"
22
- bigeye-sdk = "^0.4.71"
22
+ bigeye-sdk = "^0.4.73"
23
23
  rich = "^12.4.4"
24
24
  PyGithub = '^1.57'
25
25
 
@@ -1,2 +0,0 @@
1
- import importlib_metadata
2
- version: str = importlib_metadata.version('bigeye-cli')
File without changes