An Open Standard for lineage metadata collection
This report summarizes scanner evidence for OpenLineage/OpenLineage, a Java project with 2,698 GitHub stars. SynthScan examined 360,687 lines of code across 2427 source files, recording 1300 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 5.6 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 961 finding(s).
Are imports declared and package/API names verified? 210 finding(s).
Are wrappers, guards, and repeated structures necessary? 947 finding(s).
Which changes need focused human review? 1300 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1300 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | proxy/fluentd/lib/fluent/plugin/parser_openlineage.rb | 93 | def rewrite_schema_to_include_facets(schema) | CODE |
| LOW | proxy/fluentd/lib/fluent/plugin/parser_openlineage.rb | 145 | def add_ref_as_parent_property(schema, parent, facet_name, property) | CODE |
| LOW | proxy/fluentd/lib/fluent/plugin/parser_openlineage.rb | 156 | def find_parent_object_getter(parent) | CODE |
| LOW | integration/dbt/tests/test_main.py | 45 | def test_main_strips_openlineage_job_name_before_dbt(job_name_args, monkeypatch): | CODE |
| LOW | integration/dbt/tests/test_main.py | 110 | def test_consume_structured_logs(command_line, os_envs, function_kwargs, monkeypatch): | CODE |
| LOW | integration/dbt/tests/test_main.py | 161 | def _setup_local_artifacts_mocks(monkeypatch, env): | CODE |
| LOW | integration/dbt/tests/test_main.py | 183 | def test_consume_local_artifacts_propagates_root_parent_metadata(monkeypatch): | CODE |
| LOW | integration/dbt/tests/test_main.py | 215 | def test_consume_local_artifacts_reads_parent_from_openlineage_context(monkeypatch): | CODE |
| LOW | integration/dbt/tests/test_main.py | 253 | def test_consume_local_artifacts_root_when_no_external_parent(monkeypatch): | CODE |
| LOW | integration/dbt/tests/test_main.py | 278 | def test_consume_local_artifacts_explicit_root_different_from_parent(monkeypatch): | CODE |
| LOW | integration/dbt/tests/test_main.py | 316 | def test_consume_local_artifacts_partial_root_falls_back_to_parent(monkeypatch): | CODE |
| LOW | …egration/dbt/tests/integration/test_structured_logs.py | 10 | def test_structured_logs_event_hierarchy(self, dbt_runner, reset_test_server): | CODE |
| LOW | …egration/dbt/tests/integration/test_structured_logs.py | 157 | def test_singular_test_data_quality_assertions(self, dbt_runner, reset_test_server): | CODE |
| LOW | …egration/dbt/tests/integration/test_structured_logs.py | 230 | def test_singular_test_multi_table_data_quality_assertions(self, dbt_runner, reset_test_server): | CODE |
| LOW | integration/dbt/tests/integration/test_integration.py | 15 | def test_basic_seed_to_staging_pipeline(self, dbt_runner, reset_test_server): | CODE |
| LOW | integration/dbt/tests/integration/test_integration.py | 43 | def test_full_pipeline_lineage(self, dbt_runner, reset_test_server): | CODE |
| LOW | integration/dbt/tests/integration/test_integration.py | 84 | def test_empty_model_execution(self, dbt_runner, reset_test_server): | CODE |
| LOW | integration/dbt/tests/integration/test_integration.py | 121 | def test_local_artifacts_mode(self, dbt_runner, reset_test_server): | CODE |
| LOW | integration/dbt/tests/integration/test_integration.py | 139 | def test_job_name_local_artifacts_mode(self, dbt_runner, reset_test_server): | CODE |
| LOW | integration/dbt/tests/integration/test_integration.py | 164 | def test_event_schema_validation(self, dbt_runner, reset_test_server): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 17 | def test_nullable_chain_fails(): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 22 | def test_nullable_chain_works(): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 30 | def test_nullable_chain_does_not_mutate_chain(): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 38 | def test_parse_single_arg_does_not_exist(): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 43 | def test_parse_single_arg_next(): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 48 | def test_parse_single_arg_equals(): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 53 | def test_parse_single_arg_gets_first_key(): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 57 | def test_parse_single_arg_default(): | CODE |
| LOW⚡ | integration/common/tests/test_utils.py | 62 | def test_parse_single_arg_trailing_key_uses_default(): | CODE |
| LOW | integration/common/tests/test_utils.py | 108 | def test_add_command_line_arg(command_line, arg_name, arg_value, expected_command_line): | CODE |
| LOW | integration/common/tests/test_utils.py | 137 | def test_add_or_replace_command_line_option(command_line, option, replace_option, expected_command_line): | CODE |
| LOW | integration/common/tests/test_utils.py | 167 | def test_remove_command_line_option(command_line, command_option, expected_command_line): | CODE |
| LOW | integration/common/tests/test_utils.py | 188 | def test_remove_command_line_option_with_value(command_line, command_option, expected_command_line): | CODE |
| LOW | integration/common/tests/test_utils.py | 204 | def test_has_command_line_option(command_line, command_option, expected): | CODE |
| LOW | integration/common/tests/test_utils.py | 223 | def test_incremental_file_reader(incremental_reads, expected_lines): | CODE |
| LOW | integration/common/tests/test_snowflake.py | 52 | def test_snowflake_sqlite_account_urls(source, target): | CODE |
| LOW | integration/common/tests/test_dataset.py | 44 | def test_dataset_with_db_name(source): | CODE |
| LOW | integration/common/tests/test_dataset.py | 49 | def test_dataset_to_openlineage(table_schema): | CODE |
| LOW | integration/common/tests/dbt/test_meta_owner.py | 33 | def test_missing_owner_emits_no_facet(processor): | CODE |
| LOW | integration/common/tests/dbt/test_meta_owner.py | 38 | def test_string_owner_emits_single(processor): | CODE |
| LOW | integration/common/tests/dbt/test_meta_owner.py | 53 | def test_regression_single_element_list(processor): | CODE |
| LOW⚡ | integration/common/tests/dbt/test_dbt_local.py | 93 | def test_get_parent_run_metadata_from_context_not_set(monkeypatch): | CODE |
| LOW⚡ | integration/common/tests/dbt/test_dbt_local.py | 98 | def test_get_parent_run_metadata_from_context_malformed_json(monkeypatch, caplog): | CODE |
| LOW⚡ | integration/common/tests/dbt/test_dbt_local.py | 104 | def test_get_parent_run_metadata_from_context_missing_parent_run_key(monkeypatch): | CODE |
| LOW⚡ | integration/common/tests/dbt/test_dbt_local.py | 347 | def test_jinja_undefined_variable(jinja_env): | CODE |
| LOW⚡ | integration/common/tests/dbt/test_dbt_local.py | 352 | def test_jinja_undefined_method(jinja_env): | CODE |
| LOW⚡ | integration/common/tests/dbt/test_dbt_local.py | 357 | def test_jinja_defined_method(jinja_env): | CODE |
| LOW⚡ | integration/common/tests/dbt/test_dbt_local.py | 364 | def test_jinja_defined_variable(jinja_env): | CODE |
| LOW⚡ | integration/common/tests/dbt/test_dbt_local.py | 369 | def test_jinja_undefined_method_with_args(jinja_env): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 46 | def test_get_parent_run_metadata_from_context_valid(monkeypatch): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 119 | def test_get_parent_run_metadata_from_context_missing_required_fields(monkeypatch, caplog, parent): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 126 | def test_get_parent_run_metadata_from_context_without_root_defaults_to_self(monkeypatch): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 146 | def test_get_parent_run_metadata_from_context_unknown_top_level_keys_ignored(monkeypatch): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 163 | def test_get_parent_run_metadata_context_takes_precedence_over_legacy(monkeypatch): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 185 | def test_get_parent_run_metadata_falls_back_to_legacy_when_context_malformed(monkeypatch): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 220 | def test_dbt_parse_and_compare_event(path, job_name, parent_run_metadata): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 247 | def test_dbt_parse_dbt_test_event(mock_datetime, mock_uuid, parent_run_metadata, path): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 276 | def test_dbt_parse_singular_test_event(mock_datetime, mock_uuid, parent_run_metadata): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 317 | def test_dbt_parse_profile_with_env_vars(mock_uuid, parent_run_metadata): | CODE |
| LOW | integration/common/tests/dbt/test_dbt_local.py | 400 | def test_lazy_load_jinja_dict(jinja_env): | CODE |
| 758 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …e/flink/visitor/facet/TypeDatasetFacetVisitorTest.java | 69 | new org.apache.flink.connector.kinesis.lineage.TypeDatasetFacet( | CODE |
| CRITICAL | …est/java/io/openlineage/hive/InMemoryHiveTestBase.java | 101 | String jdbcDriver = org.apache.derby.jdbc.EmbeddedDriver.class.getName(); | CODE |
| CRITICAL | …/test/java/io/openlineage/hive/util/HiveUtilsTest.java | 20 | new org.apache.hadoop.hive.metastore.api.Table(); | CODE |
| CRITICAL | …/test/java/io/openlineage/hive/util/HiveUtilsTest.java | 34 | new org.apache.hadoop.hive.metastore.api.Table(); | CODE |
| CRITICAL | …/test/java/io/openlineage/hive/util/HiveUtilsTest.java | 49 | new org.apache.hadoop.hive.metastore.api.Table(); | CODE |
| CRITICAL | …java/io/openlineage/spark/agent/Spark4CompatUtils.java | 36 | org.apache.commons.lang3.reflect.MethodUtils.invokeMethod(queryExecution, "sparkSession"); | CODE |
| CRITICAL | …nlineage/spark/agent/OpenLineageSparkListenerTest.java | 190 | // org.apache.spark.sql.SparkSession org.apache.spark.sql.execution.QueryExecution.sparkSession() | COMMENT |
| CRITICAL | …lineage/spark/agent/lifecycle/RddExecutionContext.java | 603 | path = org.apache.hadoop.mapred.FileOutputFormat.getOutputPath(jobConf); | CODE |
| CRITICAL | …lineage/spark/agent/lifecycle/RddExecutionContext.java | 609 | org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.getOutputPath(new Job(jobConf)); | CODE |
| CRITICAL | …park/agent/lifecycle/Spark34DatasetBuilderFactory.java | 149 | return new io.openlineage.spark33.agent.lifecycle.plan.CreateReplaceDatasetBuilder(context); | CODE |
| CRITICAL | …park/agent/lifecycle/Spark32DatasetBuilderFactory.java | 133 | return new io.openlineage.spark33.agent.lifecycle.plan.CreateReplaceDatasetBuilder(context); | CODE |
| CRITICAL | …cycle/SparkOpenLineageExtensionVisitorWrapperTest.java | 71 | new io.openlineage.client.utils.DatasetIdentifier.Symlink( | CODE |
| CRITICAL | …cycle/SparkOpenLineageExtensionVisitorWrapperTest.java | 100 | new io.openlineage.client.utils.DatasetIdentifier.Symlink( | CODE |
| CRITICAL | …nlineage/spark/agent/util/RddDatasetInfoExtractor.java | 131 | org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getInputPaths( | CODE |
| CRITICAL | …park/agent/lifecycle/HadoopRDDInputDatasetBuilder.java | 69 | org.apache.hadoop.mapred.FileInputFormat.getInputPaths( | CODE |
| CRITICAL | …park/agent/lifecycle/HadoopRDDInputDatasetBuilder.java | 74 | org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getInputPaths( | CODE |
| CRITICAL | …e/spark/agent/lifecycle/plan/KustoRelationVisitor.java | 154 | io.openlineage.spark.agent.util.ScalaConversionUtils.fromMap(options); | CODE |
| CRITICAL | …spark3/agent/lifecycle/plan/column/VisitorFactory.java | 43 | new io.openlineage.spark3.agent.lifecycle.plan.column.visitors.operator.WindowVisitor(), | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 251 | at io.openlineage.client.transports.HttpTransport.emit(HttpTransport.java:113) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 255 | at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.jav | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 256 | at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java: | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 257 | at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 258 | at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 259 | at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 260 | at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 261 | at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 262 | at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 263 | at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 264 | at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 265 | at io.openlineage.client.transports.HttpTransport.emit(HttpTransport.java:108) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 274 | at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:75) | CODE |
| CRITICAL⚡ | website/docs/client/java/developing/logging.md | 275 | at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.jav | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | generator/go/render/spec/renderer.go | 75 | // ── Internal types ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/spec/renderer.go | 85 | // ── Emitters ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/spec/renderer.go | 128 | // ── BaseEvent ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/spec/renderer.go | 155 | // ── Typed event structs ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/spec/renderer.go | 206 | // ── Emittable marker methods ───────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/spec/renderer.go | 241 | // ── Property collection ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/spec/renderer.go | 287 | // ── Type resolution ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/spec/renderer.go | 386 | // ── Helpers ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | generator/go/render/client/facets.go | 78 | // ── 1. Facet root structs ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | generator/go/render/client/facets.go | 83 | // ── 2. Enum types + constants ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | generator/go/render/client/facets.go | 88 | // ── 3. Union interfaces, raw wrappers, and seal methods ─────────────────── | COMMENT |
| MEDIUM⚡ | generator/go/render/client/facets.go | 93 | // ── 4. Nested concrete helper structs (unique by TypeName) ─────────────── | COMMENT |
| MEDIUM⚡ | generator/go/render/client/facets.go | 120 | // ── 1. Container structs ────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | generator/go/render/client/facets.go | 123 | // ── 2. Apply + constructor + With* per facet ────────────────────────────── | COMMENT |
| MEDIUM⚡ | generator/go/render/client/facets.go | 128 | // ── 3. Variant constructors for all union types ─────────────────────────── | COMMENT |
| MEDIUM⚡ | generator/go/render/client/facets.go | 138 | // ── Facet root struct ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/client/facets.go | 173 | // ── Nested struct ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/client/facets.go | 284 | // ── Container structs ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/client/facets.go | 329 | // ── Apply + constructor + With* ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/client/facets.go | 480 | // ── OL Go type helpers ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/client/facets.go | 648 | // ── Nested type collection ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/client/facets.go | 924 | // ── Enum type + constants ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/client/facets.go | 952 | // ── Union interface + raw wrapper ───────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/go/render/client/facets.go | 1079 | // ── Naming / kind helpers ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 156 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 158 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 172 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 174 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 194 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 196 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 234 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 236 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 273 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 275 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 347 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 349 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 376 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 378 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 543 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | client/python/tests/test_source_code_location.py | 545 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | client/python/tests/test_source_code_location.py | 82 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | client/python/tests/test_source_code_location.py | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …o/openlineage/client/transports/HttpTransportTest.java | 491 | // ── proxy configuration tests ──────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integration/common/src/openlineage/common/models.py | 9 | CODE | |
| LOW | integration/common/src/openlineage/common/__init__.py | 4 | CODE | |
| LOW | …common/src/openlineage/common/provider/dbt/__init__.py | 4 | CODE | |
| LOW | …common/src/openlineage/common/provider/dbt/__init__.py | 5 | CODE | |
| LOW | …common/src/openlineage/common/provider/dbt/__init__.py | 6 | CODE | |
| LOW | …common/src/openlineage/common/provider/dbt/__init__.py | 7 | CODE | |
| LOW | …ommon/src/openlineage/common/provider/dbt/processor.py | 3 | CODE | |
| LOW | …lineage/common/provider/great_expectations/__init__.py | 4 | CODE | |
| LOW | …egration/common/src/openlineage/common/sql/__init__.py | 6 | CODE | |
| LOW | …egration/common/src/openlineage/common/sql/__init__.py | 6 | CODE | |
| LOW | …egration/common/src/openlineage/common/sql/__init__.py | 6 | CODE | |
| LOW | …egration/common/src/openlineage/common/sql/__init__.py | 6 | CODE | |
| LOW | …egration/common/src/openlineage/common/sql/__init__.py | 6 | CODE | |
| LOW | client/python/tests/test_composite.py | 3 | CODE | |
| LOW | client/python/tests/test_utils.py | 3 | CODE | |
| LOW | client/python/tests/conftest.py | 3 | CODE | |
| LOW | client/python/tests/test_lineage_facet.py | 3 | CODE | |
| LOW | client/python/tests/test_source_code_location.py | 3 | CODE | |
| LOW | client/python/tests/test_kafka.py | 3 | CODE | |
| LOW | client/python/tests/test_async_http.py | 3 | CODE | |
| LOW | client/python/tests/transport.py | 3 | CODE | |
| LOW | client/python/tests/test_facet.py | 3 | CODE | |
| LOW | client/python/tests/test_http_integration.py | 3 | CODE | |
| LOW | client/python/tests/test_factory.py | 3 | CODE | |
| LOW | client/python/tests/test_gcplineage.py | 3 | CODE | |
| LOW | client/python/tests/test_facet_v2.py | 3 | CODE | |
| LOW | client/python/tests/test_http.py | 3 | CODE | |
| LOW | client/python/tests/test_amazon_datazone.py | 4 | CODE | |
| LOW | …tests/test_oauth2_client_credentials_token_provider.py | 3 | CODE | |
| LOW | client/python/tests/test_datadog.py | 3 | CODE | |
| LOW | client/python/tests/test_msk_iam.py | 3 | CODE | |
| LOW | client/python/tests/test_events.py | 3 | CODE | |
| LOW | client/python/tests/test_serde.py | 3 | CODE | |
| LOW | client/python/tests/test_client.py | 3 | CODE | |
| LOW | client/python/tests/test_uuid.py | 3 | CODE | |
| LOW | client/python/tests/test_jwt_token_provider.py | 3 | CODE | |
| LOW | client/python/tests/dataset/test_reducer.py | 4 | CODE | |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 3 | CODE | |
| LOW | client/python/tests/generator/test_cli.py | 3 | CODE | |
| LOW | client/python/tests/generator/test_base.py | 3 | CODE | |
| LOW | client/python/tests/transform/test_transform.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/tags.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/git.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/client.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/serde.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/constants.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/__init__.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/__init__.py | 7 | CODE | |
| LOW | client/python/src/openlineage/client/__init__.py | 7 | CODE | |
| LOW | client/python/src/openlineage/client/__init__.py | 8 | CODE | |
| LOW | client/python/src/openlineage/client/utils.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/filter.py | 3 | CODE | |
| LOW | client/python/src/openlineage/client/facet_v2.py | 4 | CODE | |
| LOW | client/python/src/openlineage/client/facet_v2.py | 4 | CODE | |
| LOW | client/python/src/openlineage/client/facet_v2.py | 4 | CODE | |
| LOW | client/python/src/openlineage/client/facet_v2.py | 4 | CODE | |
| LOW | client/python/src/openlineage/client/facet_v2.py | 4 | CODE | |
| LOW | client/python/src/openlineage/client/facet_v2.py | 4 | CODE | |
| LOW | client/python/src/openlineage/client/facet_v2.py | 4 | CODE | |
| LOW | client/python/src/openlineage/client/facet_v2.py | 4 | CODE | |
| 91 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | website/docs/integrations/feast.md | 167 | api_key: "your-api-key" | CODE |
| HIGH | website/docs/integrations/feast.md | 178 | export FEAST_OPENLINEAGE_CONSUMER_API_KEY=your-api-key | CODE |
| HIGH⚡ | website/docs/integrations/feast.md | 227 | OPENLINEAGE_API_KEY = "your-api-key" | CODE |
| HIGH⚡ | website/docs/integrations/feast.md | 237 | spark.openlineage.transport.auth.apiKey=your-api-key | CODE |
| HIGH⚡ | website/docs/integrations/feast.md | 244 | OPENLINEAGE_API_KEY: "your-api-key" | CODE |
| HIGH | website/docs/client/python/configuration.md | 365 | OPENLINEAGE__TRANSPORT__AUTH__API_KEY=your-api-key | CODE |
| HIGH | website/docs/client/python/configuration.md | 392 | apiKey: your-api-key | CODE |
| HIGH | website/docs/client/python/configuration.md | 404 | apiKey: your-api-key | CODE |
| HIGH | website/docs/client/python/configuration.md | 436 | "apiKey": "your-api-key", | CODE |
| HIGH | website/docs/client/java/partials/java_transport.md | 428 | apiKey: your-api-key | CODE |
| HIGH | website/docs/client/java/partials/java_transport.md | 440 | apiKey: your-api-key | CODE |
| HIGH | website/docs/client/java/partials/java_transport.md | 469 | spark.openlineage.transport.auth.apiKey=your-api-key | CODE |
| HIGH | website/docs/client/java/partials/java_transport.md | 494 | openlineage.transport.auth.apiKey=your-api-key | CODE |
| HIGH | website/docs/client/java/partials/java_transport.md | 522 | jwtTokenProvider.setApiKey("your-api-key"); | CODE |
| HIGH | client/go/README.md | 48 | APIKey: "your-api-key", | CODE |
| HIGH | client/go/README.md | 256 | APIKey: "your-api-key", // optional | CODE |
| HIGH⚡ | client/python/tests/test_client.py | 838 | '"auth": {"type": "api_key", "apiKey": "YOUR_API_KEY"}}', | CODE |
| HIGH⚡ | client/python/tests/test_client.py | 849 | assert transport.config.auth.api_key == "YOUR_API_KEY" | CODE |
| HIGH⚡ | client/python/tests/test_client.py | 857 | "OPENLINEAGE_API_KEY": "YOUR_API_KEY", | CODE |
| HIGH⚡ | client/python/tests/test_client.py | 869 | assert transport.config.auth.api_key == "YOUR_API_KEY" | CODE |
| HIGH | client/python/src/openlineage/client/transport/http.py | 267 | "apiKey": "your-api-key", | STRING |
| HIGH | …io/openlineage/client/transports/JwtTokenProvider.java | 40 | * apiKey: your-api-key | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | integration/common/tests/dbt/snapshot/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ | COMMENT |
| HIGH | integration/common/tests/dbt/alias/dbt_project.yml | 30 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | integration/common/tests/dbt/large/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | integration/common/tests/dbt/fail/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | integration/common/tests/dbt/test/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | integration/common/tests/dbt/catalog/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | …tion/common/tests/dbt/no_test_metadata/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | integration/common/tests/dbt/small/dbt_project.yml | 30 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | integration/common/tests/dbt/env_vars/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | integration/common/tests/dbt/profiles/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| HIGH | …gration/common/tests/dbt/compiled_code/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | integration/dbt/tests/integration/conftest.py | 145 | except docker.errors.NotFound: | CODE |
| HIGH | integration/dbt/tests/integration/conftest.py | 152 | except docker.errors.NotFound: | CODE |
| HIGH | integration/dbt/tests/integration/conftest.py | 243 | except (requests.exceptions.RequestException, requests.exceptions.Timeout): | CODE |
| HIGH | …mmon/tests/dbt/structured_logs/test_structured_logs.py | 343 | except StopIteration: | CODE |
| HIGH | …mmon/tests/dbt/structured_logs/test_structured_logs.py | 375 | except StopIteration: | CODE |
| HIGH | integration/common/src/openlineage/common/test.py | 25 | except Exception: | CODE |
| HIGH | integration/common/src/openlineage/common/test.py | 34 | except Exception: | CODE |
| HIGH | integration/common/src/openlineage/common/utils.py | 101 | except ValueError: | CODE |
| HIGH | …on/common/src/openlineage/common/provider/dbt/utils.py | 37 | except ValueError: | CODE |
| HIGH | integration/spark/jar_compare.py | 152 | except (subprocess.TimeoutExpired, FileNotFoundError): | CODE |
| HIGH | integration/sql/iface-py/tests/python/sql_tester.py | 47 | except KeyboardInterrupt: | CODE |
| HIGH | client/python/src/openlineage/client/transport/kafka.py | 217 | except ImportError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integration/dbt/src/openlineage/dbt/__init__.py | 236 | except Exception as e: | CODE |
| LOW | integration/dbt/src/openlineage/dbt/__init__.py | 246 | except Exception: | CODE |
| LOW | integration/dbt/src/openlineage/dbt/__init__.py | 410 | except Exception as e: | CODE |
| LOW | integration/common/src/openlineage/common/test.py | 25 | except Exception: | CODE |
| LOW | integration/common/src/openlineage/common/test.py | 34 | except Exception: | CODE |
| LOW | …ion/common/src/openlineage/common/provider/bigquery.py | 159 | except Exception as e: | CODE |
| LOW | …ion/common/src/openlineage/common/provider/bigquery.py | 250 | except Exception as e: | CODE |
| LOW | …ion/common/src/openlineage/common/provider/bigquery.py | 275 | except Exception as e: | CODE |
| MEDIUM | …ion/common/src/openlineage/common/provider/bigquery.py | 272 | def _get_table_safely(self, output_table_name): | CODE |
| LOW | …ommon/src/openlineage/common/provider/redshift_data.py | 55 | except Exception as e: | CODE |
| LOW | …ommon/src/openlineage/common/provider/redshift_data.py | 98 | except Exception as e: | CODE |
| LOW | …ommon/src/openlineage/common/provider/redshift_data.py | 108 | except Exception as e: | CODE |
| MEDIUM | …ommon/src/openlineage/common/provider/redshift_data.py | 105 | def _get_table_safely(self, output_table_name): | CODE |
| LOW | …ommon/src/openlineage/common/provider/dbt/processor.py | 686 | except Exception as e: | CODE |
| LOW | …ommon/src/openlineage/common/provider/dbt/processor.py | 1097 | except Exception as error: | CODE |
| LOW | …ommon/src/openlineage/common/provider/dbt/processor.py | 1138 | except Exception as error: | CODE |
| LOW | …ommon/src/openlineage/common/provider/dbt/processor.py | 1361 | except Exception as e: | CODE |
| MEDIUM | …ommon/src/openlineage/common/provider/dbt/processor.py | 683 | def to_openlineage_events(self, *args, **kwargs) -> DbtRunResult | None: | CODE |
| LOW | …src/openlineage/common/provider/dbt/structured_logs.py | 945 | except Exception: | CODE |
| LOW | …src/openlineage/common/provider/dbt/structured_logs.py | 966 | except Exception: | CODE |
| MEDIUM | integration/spark/jar_compare.py | 366 | print(f"Error: {e}", file=sys.stderr) | STRING |
| LOW | client/python/tests/conftest.py | 184 | except Exception as e: | CODE |
| LOW | client/python/tests/conftest.py | 194 | except Exception as e: | CODE |
| MEDIUM | client/python/tests/test_async_http.py | 499 | def worker(thread_id): | CODE |
| LOW | client/python/tests/test_async_http.py | 509 | except Exception as e: | CODE |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 301 | except Exception as e: | CODE |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 431 | except Exception as e: | CODE |
| LOW | client/python/src/openlineage/client/client.py | 315 | except Exception: | CODE |
| LOW | client/python/src/openlineage/client/client.py | 336 | except Exception: | CODE |
| LOW | client/python/src/openlineage/client/client.py | 616 | except Exception: | CODE |
| LOW | client/python/src/openlineage/client/utils.py | 28 | except Exception as e: | CODE |
| LOW | …on/src/openlineage/client/transport/amazon_datazone.py | 65 | except Exception as error: | CODE |
| LOW | client/python/src/openlineage/client/transport/file.py | 262 | except Exception as error: | CODE |
| LOW | client/python/src/openlineage/client/transport/http.py | 130 | except Exception as e: | CODE |
| LOW | client/python/src/openlineage/client/transport/http.py | 189 | except Exception as e: | CODE |
| LOW | client/python/src/openlineage/client/transport/http.py | 245 | except Exception as e: | CODE |
| LOW | client/python/src/openlineage/client/transport/http.py | 479 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …/python/src/openlineage/client/transport/gcplineage.py | 150 | except Exception as e: | CODE |
| LOW | …/python/src/openlineage/client/transport/gcplineage.py | 164 | except Exception as e: | CODE |
| LOW | …/python/src/openlineage/client/transport/gcplineage.py | 208 | except Exception as e: | CODE |
| LOW | …/python/src/openlineage/client/transport/gcplineage.py | 218 | except Exception as e: | CODE |
| LOW | …t/python/src/openlineage/client/transport/composite.py | 124 | except Exception as e: # Handle failure | CODE |
| LOW | …t/python/src/openlineage/client/transport/composite.py | 165 | except Exception as e: | CODE |
| LOW | …ent/python/src/openlineage/client/transport/datadog.py | 55 | except Exception: | CODE |
| LOW | …/python/src/openlineage/client/transport/async_http.py | 200 | except Exception as e: | CODE |
| LOW⚡ | …/python/src/openlineage/client/transport/async_http.py | 249 | except Exception: | CODE |
| LOW | …/python/src/openlineage/client/transport/async_http.py | 326 | except Exception: | CODE |
| LOW | …/python/src/openlineage/client/transport/async_http.py | 432 | except Exception as e: | CODE |
| LOW | client/python/src/openlineage/client/dataset/dataset.py | 76 | except Exception as e: | CODE |
| LOW | client/python/src/openlineage/client/dataset/dataset.py | 253 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …src/test/java/io/openlineage/spark/agent/AwsUtils.java | 77 | // Step 1: List objects with the specified prefix | COMMENT |
| LOW | …src/test/java/io/openlineage/spark/agent/AwsUtils.java | 96 | // Step 2: Delete objects in batches (up to 1000 per request) | COMMENT |
| LOW | …src/test/java/io/openlineage/spark/agent/AwsUtils.java | 114 | // Step 3: Prepare for the next iteration if more objects are available | COMMENT |
| LOW⚡ | …ty/compatibility_test/contributing/new_input_events.md | 10 | ## Step 1: Create Scenario Directory | COMMENT |
| LOW⚡ | …ty/compatibility_test/contributing/new_input_events.md | 18 | ## Step 2: Configure OpenLineage Version | COMMENT |
| LOW⚡ | …ty/compatibility_test/contributing/new_input_events.md | 28 | ## Step 3: Define Maintainers | COMMENT |
| LOW | …ty/compatibility_test/contributing/new_input_events.md | 45 | ## Step 4: Add Events | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_producer.md | 13 | ## Step 1: Create Producer Directory Structure | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_producer.md | 20 | ## Step 2: Set Up Runner Environment | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_producer.md | 33 | ## Step 3: Create Scenarios Structure | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_producer.md | 40 | ## Step 4: Define Maintainers | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_producer.md | 57 | ## Step 5: Configure Supported Versions | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_producer.md | 70 | ## Step 6: Create GitHub Workflow | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_producer.md | 172 | ## Step 7: Update main workflow files | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_producer.md | 315 | ## Step 8: Update Release Configuration | COMMENT |
| LOW⚡ | …bility/compatibility_test/contributing/new_consumer.md | 12 | ## Step 1: Create Consumer Directory Structure | COMMENT |
| LOW⚡ | …bility/compatibility_test/contributing/new_consumer.md | 19 | ## Step 2: Set Up Consumer Infrastructure | COMMENT |
| LOW⚡ | …bility/compatibility_test/contributing/new_consumer.md | 29 | ## Step 3: Create Field Mapping Configuration | COMMENT |
| LOW⚡ | …bility/compatibility_test/contributing/new_consumer.md | 32 | ## Step 4: Define Maintainers | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_consumer.md | 51 | ## Step 5: Create Consumer Workflow | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_consumer.md | 109 | ## Step 6: Update main workflow files | COMMENT |
| LOW | …bility/compatibility_test/contributing/new_consumer.md | 196 | ## Step 6: Create Consumer Scenarios | COMMENT |
| LOW | …mpatibility_test/contributing/new_consumer_scenario.md | 12 | ## Step 1: Create Consumer Scenario Directory | COMMENT |
| LOW | …mpatibility_test/contributing/new_consumer_scenario.md | 20 | ## Step 2: Create configuration file | COMMENT |
| LOW | …mpatibility_test/contributing/new_consumer_scenario.md | 45 | ## Step 3: Define Maintainers | COMMENT |
| LOW | …mpatibility_test/contributing/new_consumer_scenario.md | 64 | ## Step 5: Document the Scenario | COMMENT |
| LOW | …mpatibility_test/contributing/new_consumer_scenario.md | 88 | ## Step 8: Create Expected Validation Files | COMMENT |
| LOW | …mpatibility_test/contributing/new_producer_scenario.md | 17 | ## Step 1: Create Producer Scenario Directory | COMMENT |
| LOW | …mpatibility_test/contributing/new_producer_scenario.md | 25 | ## Step 2: Configure Test Specifications | COMMENT |
| LOW | …mpatibility_test/contributing/new_producer_scenario.md | 85 | ## Step 3: Define Maintainers | COMMENT |
| LOW | …mpatibility_test/contributing/new_producer_scenario.md | 103 | ## Step 4: Add Expected Events | COMMENT |
| LOW | …mpatibility_test/contributing/new_producer_scenario.md | 115 | ## Step 5: Document the Scenario | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ectations/test_great_expectations_validation_action.py | 81 | # Create a modern GE v3 context | COMMENT |
| MEDIUM | …ectations/test_great_expectations_validation_action.py | 167 | # Create a modern GE v3 context | COMMENT |
| MEDIUM | …ectations/test_great_expectations_validation_action.py | 276 | # Create a modern GE v3 context | COMMENT |
| MEDIUM | …ommon/src/openlineage/common/provider/dbt/processor.py | 58 | # This class represents supported adapters. | COMMENT |
| MEDIUM | client/python/tests/test_async_http.py | 178 | # Create a mock event that's not a RunEvent | COMMENT |
| MEDIUM | client/python/tests/test_http_integration.py | 68 | # Create a complete run lifecycle | COMMENT |
| MEDIUM | client/python/tests/test_http_integration.py | 168 | # Create a second complete event with different timestamp | COMMENT |
| MEDIUM | client/python/tests/test_factory.py | 238 | # Create a transport with invalid config_class | COMMENT |
| MEDIUM | client/python/tests/test_gcplineage.py | 295 | # Create a non-RunEvent | COMMENT |
| MEDIUM | client/python/tests/test_file.py | 140 | # Create the file and make it read-only | COMMENT |
| MEDIUM | client/python/tests/test_file.py | 483 | # Create a filesystem that raises an error on open | COMMENT |
| MEDIUM | client/python/tests/test_datadog.py | 482 | # Create a non-RunEvent | COMMENT |
| MEDIUM | client/python/tests/test_jwt_token_provider.py | 295 | # Create a JWT with exp claim | COMMENT |
| MEDIUM⚡ | …/python/src/openlineage/client/transport/async_http.py | 256 | # Create a semaphore to limit concurrent requests | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …egration/dbt/tests/integration/test_structured_logs.py | 10 | CODE | |
| LOW | integration/dbt/src/openlineage/dbt/__init__.py | 194 | CODE | |
| LOW | …mmon/tests/dbt/structured_logs/test_structured_logs.py | 656 | CODE | |
| LOW | integration/common/script/match.py | 9 | CODE | |
| LOW | integration/common/src/openlineage/common/test.py | 83 | CODE | |
| LOW | integration/common/src/openlineage/common/utils.py | 62 | CODE | |
| LOW | …ion/common/src/openlineage/common/provider/bigquery.py | 121 | CODE | |
| LOW | …ommon/src/openlineage/common/provider/dbt/processor.py | 300 | CODE | |
| LOW | …ommon/src/openlineage/common/provider/dbt/processor.py | 1158 | CODE | |
| LOW | …on/common/src/openlineage/common/provider/dbt/utils.py | 223 | CODE | |
| LOW | …src/openlineage/common/provider/dbt/structured_logs.py | 203 | CODE | |
| LOW | …src/openlineage/common/provider/dbt/structured_logs.py | 260 | CODE | |
| LOW | …src/openlineage/common/provider/dbt/structured_logs.py | 450 | CODE | |
| LOW | …src/openlineage/common/provider/dbt/structured_logs.py | 883 | CODE | |
| LOW | …enlineage/common/provider/great_expectations/action.py | 301 | CODE | |
| LOW | …enlineage/common/provider/great_expectations/action.py | 477 | CODE | |
| LOW | dev/get_contributor_stats.py | 107 | CODE | |
| LOW | dev/get_contributor_stats.py | 125 | CODE | |
| LOW | dev/get_changes.py | 38 | CODE | |
| LOW | client/python/tests/test_async_http.py | 369 | CODE | |
| LOW | client/python/tests/test_async_http.py | 491 | CODE | |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 236 | CODE | |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 275 | CODE | |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 306 | CODE | |
| LOW | client/python/src/openlineage/client/client.py | 462 | CODE | |
| LOW | …/python/src/openlineage/client/transport/gcplineage.py | 168 | CODE | |
| LOW | …ent/python/src/openlineage/client/transport/datadog.py | 150 | CODE | |
| LOW | …/python/src/openlineage/client/transport/async_http.py | 255 | CODE | |
| LOW | …/python/src/openlineage/client/transport/async_http.py | 358 | CODE | |
| LOW | client/python/src/openlineage/client/dataset/dataset.py | 179 | CODE | |
| LOW | …ient/python/src/openlineage/client/dataset/trimmers.py | 132 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | release.sh | 1 | #!/bin/bash | COMMENT |
| LOW | .taskrc.yml | 1 | # Make `env:` declared in Taskfiles take precedence over inherited shell | COMMENT |
| LOW | integration/hive-docker/entrypoint.sh | 1 | #!/bin/bash | COMMENT |
| LOW | …ion/flink/flink2/src/test/resources/generate_events.sh | 21 | COMMENT | |
| LOW | …est/java/io/openlineage/flink/Flink2ContainerTest.java | 201 | List<SchemaDatasetFacetFields> fields = input.get().getFacets().getSchema().getFields(); | COMMENT |
| LOW | integration/spark/Taskfile.yml | 1 | # Tasks for the OpenLineage Spark integration. Included by the root Taskfile | COMMENT |
| LOW | integration/spark/docker-compose.yml | 61 | # Enables SQL statement logging (see: https://www.postgresql.org/docs/12/runtime-config-logging.html#GUC-LOG-STATEME | COMMENT |
| LOW | integration/spark/databricks/upload-to-databricks.sh | 1 | #!/bin/bash | COMMENT |
| LOW | integration/spark/cli/configurable-test.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | integration/sql/impl/src/context/mod.rs | 61 | // since it's supposed to be opaque blob - so we want to keep input and output info. | COMMENT |
| LOW | integration/sql/iface-py/script/build.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .github/dependabot.yml | 1 | # For information about how to configure Dependabot, see: | COMMENT |
| LOW | .github/workflows/visual-difference-detection.yml | 1 | name: Visual difference detection | COMMENT |
| LOW | .github/workflows/integration-tests-spark-aws.yml | 1 | name: Integration tests for Spark AWS | COMMENT |
| LOW | .github/workflows/integration-tests-spark-azure.yml | 1 | name: Integration tests for Spark Azure | COMMENT |
| LOW | dev/java-home.sh | 1 | #!/bin/sh | COMMENT |
| LOW | .circleci/check-changes.sh | 81 | # Collect all the jobs from each workflow except for the "workflow_complete" job and | COMMENT |
| LOW | .circleci/config.yml | 21 | nightly-run: | COMMENT |
| LOW | client/go/pkg/openlineage/context.go | 61 | NewEvent(EventType) *RunEvent | COMMENT |
| LOW | client/go/pkg/openlineage/helpers.go | 21 | // | COMMENT |
| LOW | client/python/tests/__init__.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| LOW | client/python/tests/dataset/__init__.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| LOW | client/python/tests/generator/__init__.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| LOW | client/python/tests/transform/__init__.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| LOW | client/python/tests/transform/transformers/__init__.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| LOW | …ge/client/transport/transform/transformers/__init__.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| LOW | …ient/python/src/openlineage/client/generator/header.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| LOW | …nt/python/src/openlineage/client/generator/__init__.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| LOW | client/python/src/openlineage/client/naming/__init__.py | 1 | # Copyright 2018-2026 contributors to the OpenLineage project | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integration/dbt/tests/integration/conftest.py | 61 | # Check if there's already a valid SQL wheel with matching version and platform | COMMENT |
| LOW | …on/common/src/openlineage/common/provider/snowflake.py | 29 | # Check if it's organization-account format (contains hyphen) | COMMENT |
| LOW | integration/spark/jar_compare.py | 187 | # Check if files are identical | COMMENT |
| LOW | .pre_commit/check_version_update_path.sh | 30 | # Check if all paths exist | COMMENT |
| LOW⚡ | .pre_commit/run-spec-snapshot.sh | 45 | # Check if the file is tracked by Git | COMMENT |
| LOW⚡ | .pre_commit/run-spec-snapshot.sh | 48 | # Check if the copied file differs from the committed version and is not staged | COMMENT |
| LOW⚡ | .pre_commit/run-spec-snapshot.sh | 50 | # Check if the differences are not already staged | COMMENT |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 360 | # Check if we should simulate an error | COMMENT |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 533 | # Check if there are completion events before START | COMMENT |
| LOW | …nt/python/tests/integration/test_server/test_server.py | 537 | # Check if there's a START event later in the sequence | COMMENT |
| LOW | client/python/src/openlineage/client/transport/file.py | 92 | # Check if fsspec features are requested but not available | COMMENT |
| LOW | …/python/src/openlineage/client/transport/gcplineage.py | 137 | # Check if event should use async transport based on rules | COMMENT |
| LOW | …ent/python/src/openlineage/client/transport/datadog.py | 137 | # Check if event has JobTypeJobFacet with integration = "dbt" | COMMENT |
| LOW | …/python/src/openlineage/client/transport/async_http.py | 550 | # Check if worker thread is still alive | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integration/common/src/openlineage/common/__init__.py | 6 | __all__ = ["__version__"] | CODE |
| LOW | integration/common/src/openlineage/common/utils.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | …common/src/openlineage/common/provider/dbt/__init__.py | 9 | __all__ = [ | CODE |
| LOW | …lineage/common/provider/great_expectations/__init__.py | 8 | __all__ = ["OpenLineageValidationAction"] | CODE |
| LOW | …egration/common/src/openlineage/common/sql/__init__.py | 16 | __all__ = [ | CODE |
| LOW | client/python/tests/conftest.py | 42 | def _setup_producer(test_producer) -> None: | CODE |
| LOW | client/python/src/openlineage/client/__init__.py | 16 | def set_producer(producer: str) -> None: | CODE |
| LOW | client/python/src/openlineage/client/__init__.py | 21 | __all__ = ["OpenLineageClient", "OpenLineageClientOptions", "set_producer", "__version__"] | CODE |
| LOW | client/python/src/openlineage/client/facet.py | 20 | def set_producer(producer: str) -> None: | CODE |
| LOW | client/python/src/openlineage/client/facet_v2.py | 55 | __all__ = [ | CODE |
| LOW | client/python/src/openlineage/client/event_v2.py | 23 | __all__ = [ | CODE |
| LOW | …on/src/openlineage/client/transport/amazon_datazone.py | 75 | def _setup_datazone(self, region: str | None = None, endpoint_url: str | None = None) -> None: | CODE |
| LOW | …nt/python/src/openlineage/client/transport/__init__.py | 49 | __all__ = [ | CODE |
| LOW | client/python/src/openlineage/client/transport/kafka.py | 189 | def _setup_producer(self, config: dict) -> None: # type: ignore[type-arg] | CODE |
| LOW | …ent/python/src/openlineage/client/transport/msk_iam.py | 79 | def _setup_producer(self, config: dict) -> None: # type: ignore[type-arg] | CODE |
| LOW⚡ | …/python/src/openlineage/client/transport/async_http.py | 244 | def _setup_loop(self) -> None: | CODE |
| LOW | …src/openlineage/client/transport/transform/__init__.py | 14 | __all__ = [ | CODE |
| LOW | …ient/python/src/openlineage/client/dataset/__init__.py | 6 | __all__ = [ | CODE |
| LOW | client/python/src/openlineage/client/generator/base.py | 45 | def set_producer(producer: str) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | website/docs/spec/facets/custom-facets.md | 0 | create or replace table tmp_demo.user_counts as ( select date_trunc(day, created_at) date, count(id) as user_count from | STRING |
| HIGH | website/docs/client/python/usage.md | 0 | create or replace table tmp_demo.user_counts as ( select date_trunc(day, created_at) date, count(id) as user_count from | STRING |
| HIGH | website/docs/client/python/development/logging.md | 0 | create or replace table tmp_demo.user_counts as ( select date_trunc(day, created_at) date, count(id) as user_count from | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …mmon/tests/dbt/structured_logs/test_structured_logs.py | 1571 | # Valid manifest - comprehensive scenario | COMMENT |
| LOW | …on/common/src/openlineage/common/provider/snowflake.py | 70 | # else - its new hostname, just return it | COMMENT |
| MEDIUM | client/python/src/openlineage/client/client.py | 407 | # Special case - for seamless switch to async transport | COMMENT |
| MEDIUM | …/python/src/openlineage/client/transport/gcplineage.py | 113 | """Safely run async coroutine in sync context with robust event loop handling.""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | integration/common/tests/dbt/test_dbt_local.py | 381 | {{ undefined }} | STRING |
| HIGH | integration/common/tests/dbt/test_dbt_local.py | 392 | {{ undefined }} | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …rc/openlineage/client/transport/transform/transform.py | 63 | Create a TransformConfig instance from a dictionary of parameters. Validates that required fields (`transport` | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …src/test/java/io/openlineage/spark/agent/AwsUtils.java | 77 | // Step 1: List objects with the specified prefix | COMMENT |
| LOW | …src/test/java/io/openlineage/spark/agent/AwsUtils.java | 96 | // Step 2: Delete objects in batches (up to 1000 per request) | COMMENT |
| LOW | …src/test/java/io/openlineage/spark/agent/AwsUtils.java | 114 | // Step 3: Prepare for the next iteration if more objects are available | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …penlineage/spark/agent/PostgresJDBCSparkQueryTest.java | 374 | "INSERT INTO authors (author_id, author_name) VALUES (1, 'John Doe');"); | CODE |
| LOW | …penlineage/spark/agent/PostgresJDBCSparkQueryTest.java | 382 | "INSERT INTO authors (author_id, author_name) VALUES (2, 'Jane Doe');"); | CODE |
| LOW | client/python/tests/test_http_integration.py | 448 | {"Authorization": "Bearer fake-token", "X-Custom": "value"}, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | client/python/tests/generator/test_base.py | 144 | def my_function(): | CODE |
| LOW⚡ | client/python/tests/generator/test_base.py | 150 | assert "def my_function():" in rest | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …va/io/openlineage/flink/visitor/JdbcSourceVisitor.java | 54 | // TODO: implement namespace resolver | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integration/sql/iface-py/tests/python/sql_tester.py | 24 | # via UNIX pipe to the tool. In case of inputing directly, make sure to press | COMMENT |