### InfoTracker
This is a Python CLI that extracts column-level lineage from SQL, runs impact analysis, and detects breaking changes. First adapter targets MS SQL.
#### For Students
Start with a simple command: `infotracker extract --sql-dir examples/warehouse/sql --out-dir build/lineage`. This analyzes SQL files in the directory.
#### Setup & Installation
```bash
# Activate virtual environment first (REQUIRED)
source infotracker-env/bin/activate # or your venv path
# Install dependencies
pip install -e .
# Verify installation
infotracker --help
```
#### Quickstart
```bash
# IMPORTANT: Always run InfoTracker commands in the activated virtual environment
# Extract lineage from all SQL files
infotracker extract --sql-dir examples/warehouse/sql --out-dir build/lineage
# Impact analysis (downstream dependencies)
infotracker impact -s dbo.fct_sales.Revenue+
# Impact analysis (upstream sources)
infotracker impact -s +dbo.Orders.OrderID
# Branch diff for breaking changes
infotracker diff --base main --head feature/x --sql-dir examples/warehouse/sql
```
#### Configuration
InfoTracker follows this configuration precedence:
1. **CLI flags** (highest priority) - override everything
2. **infotracker.yml** config file - project defaults
3. **Built-in defaults** (lowest priority) - fallback values
Create an `infotracker.yml` file in your project root:
```yaml
default_adapter: mssql
sql_dir: examples/warehouse/sql
out_dir: build/lineage
include: ["*.sql"]
exclude: ["*_wip.sql"]
severity_threshold: BREAKING
```
#### Documentation
- `docs/overview.md` — what it is, goals, scope
- `docs/algorithm.md` — how extraction works
- `docs/lineage_concepts.md` — core concepts with visuals
- `docs/cli_usage.md` — commands and options
- `docs/breaking_changes.md` — definition and detection
- `docs/edge_cases.md` — SELECT *, UNION, temp tables, etc.
- `docs/adapters.md` — interface and MSSQL specifics
- `docs/architecture.md` — system and sequence diagrams
- `docs/configuration.md` — configuration reference
- `docs/openlineage_mapping.md` — how outputs map to OpenLineage
- `docs/faq.md` — common questions
- `docs/dbt_integration.md` — how to use with dbt projects
#### Requirements
- Python 3.10+
- Virtual environment (activated)
- Basic SQL knowledge
- Git and shell
#### Troubleshooting
- **Error tracebacks on help commands**: Make sure you're running in an activated virtual environment
- **Command not found**: Activate your virtual environment first
- **Import errors**: Ensure all dependencies are installed with `pip install -e .`
#### License
MIT (or your team’s preferred license)
Raw data
{
"_id": null,
"home_page": null,
"name": "InfoTracker",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": "data-lineage, impact-analysis, lineage, mssql, openlineage, sql",
"author": "InfoTracker Authors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/e2/cf/a347cb9caa20525b7588844e1686bf58f330b662a7f526a9dafd9cc4f5e4/infotracker-0.1.0.tar.gz",
"platform": null,
"description": "### InfoTracker\n\nThis is a Python CLI that extracts column-level lineage from SQL, runs impact analysis, and detects breaking changes. First adapter targets MS SQL.\n\n#### For Students\nStart with a simple command: `infotracker extract --sql-dir examples/warehouse/sql --out-dir build/lineage`. This analyzes SQL files in the directory.\n\n#### Setup & Installation\n```bash\n# Activate virtual environment first (REQUIRED)\nsource infotracker-env/bin/activate # or your venv path\n\n# Install dependencies\npip install -e .\n\n# Verify installation\ninfotracker --help\n```\n\n#### Quickstart\n```bash\n# IMPORTANT: Always run InfoTracker commands in the activated virtual environment\n\n# Extract lineage from all SQL files\ninfotracker extract --sql-dir examples/warehouse/sql --out-dir build/lineage\n\n# Impact analysis (downstream dependencies)\ninfotracker impact -s dbo.fct_sales.Revenue+\n\n# Impact analysis (upstream sources)\ninfotracker impact -s +dbo.Orders.OrderID\n\n# Branch diff for breaking changes\ninfotracker diff --base main --head feature/x --sql-dir examples/warehouse/sql\n```\n\n#### Configuration\nInfoTracker follows this configuration precedence:\n1. **CLI flags** (highest priority) - override everything\n2. **infotracker.yml** config file - project defaults \n3. **Built-in defaults** (lowest priority) - fallback values\n\nCreate an `infotracker.yml` file in your project root:\n```yaml\ndefault_adapter: mssql\nsql_dir: examples/warehouse/sql\nout_dir: build/lineage\ninclude: [\"*.sql\"]\nexclude: [\"*_wip.sql\"]\nseverity_threshold: BREAKING\n```\n\n#### Documentation\n- `docs/overview.md` \u2014 what it is, goals, scope\n- `docs/algorithm.md` \u2014 how extraction works\n- `docs/lineage_concepts.md` \u2014 core concepts with visuals\n- `docs/cli_usage.md` \u2014 commands and options\n- `docs/breaking_changes.md` \u2014 definition and detection\n- `docs/edge_cases.md` \u2014 SELECT *, UNION, temp tables, etc.\n- `docs/adapters.md` \u2014 interface and MSSQL specifics\n- `docs/architecture.md` \u2014 system and sequence diagrams\n- `docs/configuration.md` \u2014 configuration reference\n- `docs/openlineage_mapping.md` \u2014 how outputs map to OpenLineage\n- `docs/faq.md` \u2014 common questions\n- `docs/dbt_integration.md` \u2014 how to use with dbt projects\n\n#### Requirements\n- Python 3.10+\n- Virtual environment (activated)\n- Basic SQL knowledge\n- Git and shell\n\n#### Troubleshooting\n- **Error tracebacks on help commands**: Make sure you're running in an activated virtual environment\n- **Command not found**: Activate your virtual environment first\n- **Import errors**: Ensure all dependencies are installed with `pip install -e .`\n\n#### License\nMIT (or your team\u2019s preferred license) ",
"bugtrack_url": null,
"license": "MIT",
"summary": "Column-level SQL lineage, impact analysis, and breaking-change detection (MS SQL first)",
"version": "0.1.0",
"project_urls": {
"documentation": "https://example.com/infotracker/docs",
"homepage": "https://example.com/infotracker"
},
"split_keywords": [
"data-lineage",
" impact-analysis",
" lineage",
" mssql",
" openlineage",
" sql"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "43642714643edbafc88c56206955e6c4bfbd9e09c9d3f6ff680107877af22968",
"md5": "95a2fa394866dc7f35f92fb849c822a3",
"sha256": "71f9f64ad7bf573aab56a761046c599fc47e8b4c4b4259c60b9b5713f7af214a"
},
"downloads": -1,
"filename": "infotracker-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "95a2fa394866dc7f35f92fb849c822a3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 24911,
"upload_time": "2025-08-13T18:33:01",
"upload_time_iso_8601": "2025-08-13T18:33:01.773116Z",
"url": "https://files.pythonhosted.org/packages/43/64/2714643edbafc88c56206955e6c4bfbd9e09c9d3f6ff680107877af22968/infotracker-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e2cfa347cb9caa20525b7588844e1686bf58f330b662a7f526a9dafd9cc4f5e4",
"md5": "11e7ec664789faa0397b362ba52df7c4",
"sha256": "aca4164e9a5631444668578b288bad3ec034a172016d794b376c0e6f6b7cffcd"
},
"downloads": -1,
"filename": "infotracker-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "11e7ec664789faa0397b362ba52df7c4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 58653,
"upload_time": "2025-08-13T18:33:03",
"upload_time_iso_8601": "2025-08-13T18:33:03.517607Z",
"url": "https://files.pythonhosted.org/packages/e2/cf/a347cb9caa20525b7588844e1686bf58f330b662a7f526a9dafd9cc4f5e4/infotracker-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-13 18:33:03",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "infotracker"
}