InfoTracker 0.2.4__py3-none-any.whl → 0.2.6__py3-none-any.whl
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.
- infotracker/config.py +22 -4
- infotracker/infotracker.yml +45 -0
- {infotracker-0.2.4.dist-info → infotracker-0.2.6.dist-info}/METADATA +1 -1
- {infotracker-0.2.4.dist-info → infotracker-0.2.6.dist-info}/RECORD +6 -5
- {infotracker-0.2.4.dist-info → infotracker-0.2.6.dist-info}/WHEEL +0 -0
- {infotracker-0.2.4.dist-info → infotracker-0.2.6.dist-info}/entry_points.txt +0 -0
infotracker/config.py
CHANGED
@@ -31,10 +31,28 @@ class RuntimeConfig:
|
|
31
31
|
def load_config(path: Optional[Path]) -> RuntimeConfig:
|
32
32
|
cfg = RuntimeConfig()
|
33
33
|
if path is None:
|
34
|
-
# Try
|
35
|
-
|
36
|
-
|
37
|
-
|
34
|
+
# Try package default first (works for installed packages)
|
35
|
+
try:
|
36
|
+
import importlib.resources
|
37
|
+
from . import __package__
|
38
|
+
|
39
|
+
if hasattr(importlib.resources, 'files'): # Python 3.9+
|
40
|
+
package_config = importlib.resources.files('infotracker') / 'infotracker.yml'
|
41
|
+
if package_config.is_file():
|
42
|
+
path = Path(str(package_config))
|
43
|
+
else: # Python 3.8 fallback
|
44
|
+
with importlib.resources.path('infotracker', 'infotracker.yml') as p:
|
45
|
+
if p.exists():
|
46
|
+
path = p
|
47
|
+
except (ImportError, AttributeError):
|
48
|
+
pass
|
49
|
+
|
50
|
+
# Fallback to current directory (development mode)
|
51
|
+
if path is None:
|
52
|
+
default = Path("infotracker.yml")
|
53
|
+
if default.exists():
|
54
|
+
path = default
|
55
|
+
|
38
56
|
if path and path.exists():
|
39
57
|
data = yaml.safe_load(path.read_text()) or {}
|
40
58
|
for k, v in data.items():
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# InfoTracker Configuration
|
2
|
+
# This file contains default settings for InfoTracker CLI commands
|
3
|
+
|
4
|
+
# Default SQL adapter to use
|
5
|
+
default_adapter: mssql
|
6
|
+
|
7
|
+
# Default database name (optional)
|
8
|
+
default_database: WarehouseDB
|
9
|
+
|
10
|
+
# Directory containing SQL files to analyze
|
11
|
+
sql_dir: examples/warehouse/sql
|
12
|
+
|
13
|
+
# Directory to output lineage JSON files
|
14
|
+
out_dir: build/lineage
|
15
|
+
|
16
|
+
# File patterns to include (glob patterns)
|
17
|
+
include:
|
18
|
+
- "*.sql"
|
19
|
+
|
20
|
+
# File patterns to exclude (glob patterns)
|
21
|
+
exclude:
|
22
|
+
- "*_wip.sql"
|
23
|
+
- "**/temp/**"
|
24
|
+
- "**/archive/**"
|
25
|
+
|
26
|
+
# Minimum severity level for breaking change detection
|
27
|
+
# Options: NON_BREAKING, POTENTIALLY_BREAKING, BREAKING
|
28
|
+
severity_threshold: BREAKING
|
29
|
+
|
30
|
+
# Objects to ignore during analysis (glob patterns)
|
31
|
+
ignore:
|
32
|
+
- "dbo.temp_*"
|
33
|
+
- "sys.*"
|
34
|
+
- "information_schema.*"
|
35
|
+
|
36
|
+
# Path to catalog file for schema metadata (optional)
|
37
|
+
catalog: null
|
38
|
+
|
39
|
+
# Default log level
|
40
|
+
# Options: debug, info, warn, error
|
41
|
+
log_level: info
|
42
|
+
|
43
|
+
# Default output format
|
44
|
+
# Options: text, json
|
45
|
+
output_format: text
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: InfoTracker
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.6
|
4
4
|
Summary: Column-level SQL lineage, impact analysis, and breaking-change detection (MS SQL first)
|
5
5
|
Project-URL: homepage, https://example.com/infotracker
|
6
6
|
Project-URL: documentation, https://example.com/infotracker/docs
|
@@ -2,14 +2,15 @@ infotracker/__init__.py,sha256=XkoK2R_QULA1UDQqgaLbmKQ2bdsi-lO3mo_wi7dy9Gg,57
|
|
2
2
|
infotracker/__main__.py,sha256=_iCom0ddZ1myy6ly3ID1dBlLzzjf7iV7Kq9uUfkat74,121
|
3
3
|
infotracker/adapters.py,sha256=UEQeGSS3_fMOc5_Jsrw5aTtmIXlOdqqbHWL2uSgqkGM,3011
|
4
4
|
infotracker/cli.py,sha256=PQQoxqSmu8fSFTeGCdLKIKiY7WTcCzddiANYGc1qqe8,5666
|
5
|
-
infotracker/config.py,sha256=
|
5
|
+
infotracker/config.py,sha256=AG3go2kmaN_yTZ-zwVCV0ib7IF7xvLWVnNSEritwqPE,2628
|
6
6
|
infotracker/diff.py,sha256=LmIl3FL5NVxil6AFefrqQBkCCRonueg6BEXrnleVpw8,19796
|
7
7
|
infotracker/engine.py,sha256=JlsrzPoB4Xe4qnTrEZ7emYP0K-zkqTqYOGzZiEZesks,23441
|
8
8
|
infotracker/lineage.py,sha256=GcNflXSO5QhqJj9eJewlWwfL_86N4aHdEgoY3ESD6_U,4863
|
9
9
|
infotracker/models.py,sha256=aQwU_4V69CnnHdgsybd99uvE3fzoQoW-nwn5aMhxdbU,14796
|
10
10
|
infotracker/openlineage_utils.py,sha256=-g9Pkl5hOMQP2Rtu47ItHBC13z6Y0K3gEG6x9GrTJH8,5845
|
11
11
|
infotracker/parser.py,sha256=8NVtCMvyt7l_dIfAydR_VJGB7A_NBLb2T827ac8uMXc,70255
|
12
|
-
infotracker
|
13
|
-
infotracker-0.2.
|
14
|
-
infotracker-0.2.
|
15
|
-
infotracker-0.2.
|
12
|
+
infotracker/infotracker.yml,sha256=iTVS246TS4DWLwN-vMiLHPbgDegjGIEpYF5UaL_lTd0,994
|
13
|
+
infotracker-0.2.6.dist-info/METADATA,sha256=Ukx6UAXLMs8kAEiRzWNagDVRP2LRMTfeuNN7byn3nqM,10449
|
14
|
+
infotracker-0.2.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
15
|
+
infotracker-0.2.6.dist-info/entry_points.txt,sha256=5ulAYRSvW3SohjeMwlYRX6LoWIHkEtc1qnwxWJQgN2Y,59
|
16
|
+
infotracker-0.2.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|