coltrace 0.1.0.dev8__tar.gz → 0.1.0.dev9__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.
- {coltrace-0.1.0.dev8/src/coltrace.egg-info → coltrace-0.1.0.dev9}/PKG-INFO +5 -2
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/README.md +316 -313
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/backlog.md +5 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/compatibility-checkpoint.md +254 -224
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/decisions.md +7 -0
- coltrace-0.1.0.dev9/docs/extraction-architectures.md +66 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/supported-patterns.md +35 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/troubleshooting.md +10 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/README.md +2 -1
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/main_orchestrator.py +10 -0
- coltrace-0.1.0.dev9/examples/databricks_project/pipeline_a/transform/combine_sources.py +9 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/notebook_cell.py +9 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/pyproject.toml +54 -54
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/__init__.py +22 -22
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/analysis.py +682 -20
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/graph.py +500 -461
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/lineage_models.py +122 -122
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/models.py +92 -92
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/source_readers.py +85 -83
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/sql_sources.py +669 -561
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9/src/coltrace.egg-info}/PKG-INFO +5 -2
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace.egg-info/SOURCES.txt +4 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_databricks_example.py +321 -280
- coltrace-0.1.0.dev9/tests/integration/test_extraction_architectures.py +277 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_notebook_reporting.py +11 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_public_project_patterns.py +7 -2
- coltrace-0.1.0.dev9/tests/integration/test_result_containers.py +222 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_sql_templates.py +1 -1
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_sql_sources.py +453 -419
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/LICENSE +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/MANIFEST.in +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/accuracy.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/architecture.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/column-history.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/column-journey-checkpoint.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/database-patterns.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/database-sources.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/discovery-json.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/graph-workspace-checkpoint.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/history-checkpoint.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/lineage-json.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/mvp-checkpoint.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/nlp-checkpoint.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/other-column-checkpoint.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/pandas-sources-proposal.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/phase-1.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/read-capture.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/docs/source-checkpoint.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/database_pipeline/README.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/database_pipeline/build_query.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/database_pipeline/pipeline.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/database_pipeline/pyproject.toml +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/main_orchestrator.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/__init__.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/extract/__init__.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/extract/primary_extract.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/extract/quality_extract.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/publish/__init__.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/publish/serialize_webapp.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/transform/__init__.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/pipeline_a/transform/priority_rank.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/shared/__init__.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/shared/config.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/shared/token_tracker.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/shared/topic_changes_extract.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/databricks_project/shared/warehouse.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/pricing_pipeline/extract/prices.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/pricing_pipeline/features/pricing.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/pricing_pipeline/pipeline.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/pricing_pipeline/transform/pricing.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/read_capture/README.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/read_capture/project/input.csv +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/read_capture/project/pipeline.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/read_capture/run_capture.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/robustness_pipeline/README.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/robustness_pipeline/extract.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/robustness_pipeline/pipeline.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/robustness_pipeline/transform.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/sample_pipeline/prices.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/text_pipeline/README.md +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/text_pipeline/pipeline.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/text_pipeline/processing.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/text_pipeline/readers.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/examples/text_pipeline/text.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/setup.cfg +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/__main__.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/callbacks.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/capture.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/cli.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/collector.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/compatibility.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/exporters.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/history.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/journey.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/nosql_sources.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/notebooks.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/pandas_api.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/py.typed +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/scanner.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/source_models.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/templates/graph.html +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace/visual_layout.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace.egg-info/dependency_links.txt +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace.egg-info/entry_points.txt +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace.egg-info/requires.txt +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/src/coltrace.egg-info/top_level.txt +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/fixtures/sample_pipeline/extract/prices.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/fixtures/sample_pipeline/features/pricing.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/fixtures/sample_pipeline/pipeline.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/fixtures/sample_pipeline/transform/pricing.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_annotation_effects.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_callback_roles.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_capture_workflow.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_cli.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_column_story.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_compatibility_cli.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_conditional_flow.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_database_sources.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_journey_boundaries.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_lineage_acceptance.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_nosql_extraction.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_other_column_stories.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_pandas_boundaries.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_pandas_observation.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_production_patterns.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_project_compatibility.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_reader_inventory.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_resolution_boundaries.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_scan_project.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_source_config.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_source_precision.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_sql_reader_boundaries.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/integration/test_text_pipeline.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_analysis.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_callbacks.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_collector.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_compatibility.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_exporters.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_graph.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_graph_workspace.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_history.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_journey.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_nosql_sources.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_notebooks.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_read_capture.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_scanner.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_source_models.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_source_presentation.py +0 -0
- {coltrace-0.1.0.dev8 → coltrace-0.1.0.dev9}/tests/unit/test_visual_layout.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coltrace
|
|
3
|
-
Version: 0.1.0.
|
|
3
|
+
Version: 0.1.0.dev9
|
|
4
4
|
Summary: Static Pandas column lineage, impact analysis, and local dependency graphs
|
|
5
5
|
Author: Cristiano Diniz
|
|
6
6
|
License-Expression: MIT
|
|
@@ -32,7 +32,7 @@ column versions across direct function calls. Static scanning never imports or
|
|
|
32
32
|
executes the project or reads its input data. Optional read capture observes
|
|
33
33
|
column labels while you explicitly execute your own pipeline.
|
|
34
34
|
|
|
35
|
-
**Development preview: `0.1.0.
|
|
35
|
+
**Development preview: `0.1.0.dev9`.** The supported subset is deliberately small.
|
|
36
36
|
Unsupported operations produce diagnostics and may interrupt lineage. A graph
|
|
37
37
|
with no edge is not proof that a dependency does not exist.
|
|
38
38
|
|
|
@@ -65,6 +65,9 @@ Query filters are control metadata rather than value dependencies of every
|
|
|
65
65
|
output. `spark.sql(build_query(table)).toPandas()` keeps its SQL text even with
|
|
66
66
|
an injected, unresolved session; SQL assembled from f-strings, `.format`, `%`
|
|
67
67
|
and joins keeps its known text, with unknown parts shown as `{expression}`.
|
|
68
|
+
`SELECT *`, `UNION`, tables read by name (`spark.table`, Snowpark
|
|
69
|
+
`session.table`, `dbt.ref`) and SQL files read inside the project are modeled
|
|
70
|
+
too; see [extraction architectures](docs/extraction-architectures.md).
|
|
68
71
|
|
|
69
72
|
`report.readers` inventories resolved `pd.read_*` calls with file, line, context,
|
|
70
73
|
return shape and resulting DataFrame identity. File schemas are unknown unless
|