semvec/pypi-packages huggingface dataset:
sdbsrtbssjjhvj 0.1.0
CLI tool for schema tracking
License: MIT
Requires Python: >=3.7

# Datatrack - Lightweight Schema Change Tracker

Datatrack is a minimal open-source CLI tool to **track schema changes** across versions in your data systems. It's built for **Data Engineers** and **Platform Teams** who want **automated schema linting, verification, diffs, and export** across snapshots.



## Features

- Snapshot schemas from any SQL-compatible DB
- Lint schema naming issues
- Enforce verification rules
- Compare schema snapshots (diff)
- Export to JSON/YAML for auditing or CI
- Full pipeline in one command

##  Installation

```bash
git clone https://github.com/nrnavaneet/datatrack.git
cd datatrack
pip install -r requirements.txt
pip install -e .
```

##  How to Use

### 1. Initialize Tracking

```bash
datatrack init
```

Creates `.datatrack/`, `.databases/`, and optional initial files.


### 2. Create Example SQLite DB (Optional)

```python
import sqlite3
from pathlib import Path

Path(".databases").mkdir(parents=True, exist_ok=True)
conn = sqlite3.connect(".databases/example.db")
c = conn.cursor()
c.execute("CREATE TABLE users (id INTEGER, name TEXT, created_at TEXT)")
c.execute("CREATE TABLE orders (order_id INTEGER, user_id INTEGER, amount REAL)")
conn.commit()
conn.close()
```

### 3. Take a Schema Snapshot

```bash
datatrack snapshot --source sqlite:///.databases/example.db
```


### 4. Run Linter

```bash
datatrack lint
```

Warns if ambiguous names, overly generic types, etc.


### 5. Schema Verification

```bash
datatrack verify
```

By default reads rules from `schema_rules.yaml` in project root.


### 6. Show Schema Differences

```bash
datatrack diff
```

Compares latest 2 snapshots.


### 7. Export Snapshot or Diff

```bash
datatrack export --type snapshot --format json --output output/snapshot.json

datatrack export --type diff --format yaml --output output/diff.yaml
```


### 8. View Snapshot History

```bash
datatrack history
```

Lists snapshot filenames.


### 9. Run Full Pipeline

```bash
datatrack run --source sqlite:///.databases/example.db
```

This runs:

- `lint`
- `snapshot`
- `verify`
- `diff`
- `export`

To change export location:

```bash
datatrack run --source sqlite:///.databases/example.db --export-dir my_output_dir
```

## 👤 Author

Built with ❤️ by [@nrnavaneet](https://github.com/nrnavaneet)


## 📝 License

MIT License
datatrack-cli 0.1.0
CLI tool for schema tracking
License: MIT
Requires Python: >=3.7

# Datatrack - Lightweight Schema Change Tracker

Datatrack is a minimal open-source CLI tool to **track schema changes** across versions in your data systems. It's built for **Data Engineers** and **Platform Teams** who want **automated schema linting, verification, diffs, and export** across snapshots.



## Features

- Snapshot schemas from any SQL-compatible DB
- Lint schema naming issues
- Enforce verification rules
- Compare schema snapshots (diff)
- Export to JSON/YAML for auditing or CI
- Full pipeline in one command

##  Installation

```bash
git clone https://github.com/nrnavaneet/datatrack.git
cd datatrack
pip install -r requirements.txt
pip install -e .
```

##  How to Use

### 1. Initialize Tracking

```bash
datatrack init
```

Creates `.datatrack/`, `.databases/`, and optional initial files.


### 2. Create Example SQLite DB (Optional)

```python
import sqlite3
from pathlib import Path

Path(".databases").mkdir(parents=True, exist_ok=True)
conn = sqlite3.connect(".databases/example.db")
c = conn.cursor()
c.execute("CREATE TABLE users (id INTEGER, name TEXT, created_at TEXT)")
c.execute("CREATE TABLE orders (order_id INTEGER, user_id INTEGER, amount REAL)")
conn.commit()
conn.close()
```

### 3. Take a Schema Snapshot

```bash
datatrack snapshot --source sqlite:///.databases/example.db
```


### 4. Run Linter

```bash
datatrack lint
```

Warns if ambiguous names, overly generic types, etc.


### 5. Schema Verification

```bash
datatrack verify
```

By default reads rules from `schema_rules.yaml` in project root.


### 6. Show Schema Differences

```bash
datatrack diff
```

Compares latest 2 snapshots.


### 7. Export Snapshot or Diff

```bash
datatrack export --type snapshot --format json --output output/snapshot.json

datatrack export --type diff --format yaml --output output/diff.yaml
```


### 8. View Snapshot History

```bash
datatrack history
```

Lists snapshot filenames.


### 9. Run Full Pipeline

```bash
datatrack run --source sqlite:///.databases/example.db
```

This runs:

- `lint`
- `snapshot`
- `verify`
- `diff`
- `export`

To change export location:

```bash
datatrack run --source sqlite:///.databases/example.db --export-dir my_output_dir
```

## 👤 Author

Built with ❤️ by [@nrnavaneet](https://github.com/nrnavaneet)


## 📝 License

MIT License
Jedutils 0.2.7
Jedutils is a Python utilities package that provides a collection of useful helper functions.
License: MIT
Keywords: utilities, tools, library, helper, functions, development

# Jedutils [![Version](https://img.shields.io/pypi/v/jedutils?style=flat&logo=pypi)](https://pypi.org/project/jedutils) [![Downloads](https://static.pepy.tech/personalized-badge/jedutils?period=month&units=none&left_color=grey&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/jedutils)

Jedutils is a Python utilities package that provides a collection of useful helper functions.

## Installation

You can install Jedutils using `pip`:

```bash
pip install jedutils
```

To install all the dependencies for all utilities, use the following command:
```bash
pip install jedutils[all]
```

## Contributing

Contributions to Jedutils are welcome! If you have an idea for a new utility or an improvement to an existing one, please open an issue or submit a pull request on GitHub.

## License

Jedutils is licensed under the MIT License. See the `LICENSE` file for details.