# Run JoinCraft on any PC

This package contains no datasets. Data stays on the computer running it.

## Windows

1. Install Python 3.11+ from <https://python.org/downloads/> and select **Add Python to PATH**.
2. Extract the ZIP.
3. Double-click `run_windows.bat`.
4. Open <http://localhost:8080> and enter token `local`.

## macOS or Linux

```bash
unzip data-architect-local.zip
cd data-architect-local
chmod +x run_local.sh
./run_local.sh
```

Open <http://localhost:8080> and enter token `local`.

## Supported files

CSV, TSV/TXT, Excel XLSX/XLS/XLSM, Parquet, Feather, ORC, JSON and JSONL.

## Database connections

The GUI accepts a SQLAlchemy connection URL and a read-only `SELECT` or `WITH` query for each dataset.

Included:

```text
SQLite:      sqlite:///C:/data/database.db
PostgreSQL:  postgresql+psycopg://user:password@server:5432/database
MySQL:       mysql+pymysql://user:password@server:3306/database
MariaDB:     mysql+pymysql://user:password@server:3306/database
```

Install optional SQL Server, Oracle, Snowflake, BigQuery, DuckDB and ClickHouse connectors:

```powershell
python -m pip install -r requirements-connectors.txt
```

```text
SQL Server: mssql+pyodbc://user:password@server/database?driver=ODBC+Driver+18+for+SQL+Server&TrustServerCertificate=yes
Oracle:     oracle+oracledb://user:password@server:1521/?service_name=service
Snowflake:  snowflake://user:password@account/database/schema?warehouse=warehouse
BigQuery:   bigquery://project/dataset
DuckDB:     duckdb:///C:/data/warehouse.duckdb
```

Some platforms also require their vendor ODBC driver, wallet, certificate or cloud authentication. Always use a read-only database account.

## Command line

```powershell
python data_architect.py left.csv right.xlsx --right-sheet RawData -o report.xlsx
```

The Excel report includes profiling, quality issues, mappings, keys, cardinality, join risks, Tableau calculations, SQL expressions and Power Query keys.
