Skip to content

Commit 3b59a93

Browse files
committed
initial commit
0 parents  commit 3b59a93

69 files changed

Lines changed: 18332 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# =============================================================================
2+
# Azure OpenAI (required)
3+
# =============================================================================
4+
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
5+
AZURE_OPENAI_API_KEY=your-api-key
6+
AZURE_OPENAI_API_VERSION=2024-12-01-preview
7+
AZURE_OPENAI_DEPLOYMENT=gpt-4o
8+
9+
# =============================================================================
10+
# Database Configuration
11+
# All values can be set via environment variables OR in YAML config files.
12+
# Environment variables take precedence over YAML values.
13+
# Connection strings take precedence over individual connection parameters.
14+
# =============================================================================
15+
16+
# -----------------------------------------------------------------------------
17+
# Databricks
18+
# -----------------------------------------------------------------------------
19+
DATABRICKS_HOSTNAME=your-workspace.azuredatabricks.net
20+
DATABRICKS_HTTP_PATH=/sql/1.0/warehouses/xxxxx
21+
DATABRICKS_CATALOG=main
22+
DATABRICKS_SCHEMA=default
23+
DATABRICKS_TOKEN=dapi...
24+
25+
# -----------------------------------------------------------------------------
26+
# Azure SQL Database
27+
# Option 1: Connection string (takes precedence)
28+
# Option 2: Individual parameters with use_aad=true or password
29+
# -----------------------------------------------------------------------------
30+
AZURE_SQL_CONNECTION_STRING=
31+
# OR individual parameters:
32+
AZURE_SQL_SERVER=your-server.database.windows.net
33+
AZURE_SQL_DATABASE=your-database
34+
AZURE_SQL_USERNAME=your-username
35+
AZURE_SQL_PASSWORD=
36+
AZURE_SQL_USE_AAD=false
37+
AZURE_SQL_DRIVER=ODBC Driver 18 for SQL Server
38+
39+
# -----------------------------------------------------------------------------
40+
# Azure Synapse Analytics
41+
# Option 1: Connection string (takes precedence)
42+
# Option 2: Individual parameters with use_aad=true or password
43+
# -----------------------------------------------------------------------------
44+
SYNAPSE_CONNECTION_STRING=
45+
# OR individual parameters:
46+
SYNAPSE_SERVER=your-workspace.sql.azuresynapse.net
47+
SYNAPSE_DATABASE=your-database
48+
SYNAPSE_USERNAME=your-username
49+
SYNAPSE_PASSWORD=
50+
SYNAPSE_USE_AAD=false
51+
SYNAPSE_DRIVER=ODBC Driver 18 for SQL Server
52+
SYNAPSE_POOL=Built-in
53+
54+
# -----------------------------------------------------------------------------
55+
# Azure Cosmos DB
56+
# Option 1: Connection string (takes precedence)
57+
# Option 2: Individual parameters with use_aad=true or key
58+
# -----------------------------------------------------------------------------
59+
COSMOS_CONNECTION_STRING=
60+
# OR individual parameters:
61+
COSMOS_ENDPOINT=https://your-account.documents.azure.com:443/
62+
COSMOS_DATABASE=your-database
63+
COSMOS_CONTAINER=your-container
64+
COSMOS_KEY=
65+
COSMOS_USE_AAD=false
66+
67+
# -----------------------------------------------------------------------------
68+
# PostgreSQL
69+
# Option 1: Connection string (takes precedence)
70+
# Option 2: Individual parameters with use_aad=true or password
71+
# -----------------------------------------------------------------------------
72+
POSTGRES_CONNECTION_STRING=
73+
# OR individual parameters:
74+
POSTGRES_HOST=your-server.postgres.database.azure.com
75+
POSTGRES_PORT=5432
76+
POSTGRES_DATABASE=your-database
77+
POSTGRES_USERNAME=your-username
78+
POSTGRES_PASSWORD=
79+
POSTGRES_SCHEMA=public
80+
POSTGRES_USE_AAD=false
81+
82+
# -----------------------------------------------------------------------------
83+
# Google BigQuery
84+
# -----------------------------------------------------------------------------
85+
GOOGLE_CLOUD_PROJECT=your-project-id
86+
BIGQUERY_DATASET=your-dataset
87+
BIGQUERY_LOCATION=US
88+
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
89+
BIGQUERY_CREDENTIALS_JSON=

.github/workflows/ci.yaml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, develop]
6+
pull_request:
7+
branches: [main, develop]
8+
workflow_dispatch:
9+
10+
env:
11+
PYTHON_VERSION: "3.13"
12+
13+
jobs:
14+
lint:
15+
name: Lint & Format
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Install uv
21+
uses: astral-sh/setup-uv@v3
22+
with:
23+
version: "latest"
24+
25+
- name: Set up Python
26+
run: uv python install ${{ env.PYTHON_VERSION }}
27+
28+
- name: Install dependencies
29+
run: uv sync --all-extras
30+
31+
- name: Run pre-commit check
32+
run: uv run pre-commit run --all-files

.gitignore

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Environment variables
2+
.env
3+
4+
# Python
5+
__pycache__/
6+
*.py[cod]
7+
*$py.class
8+
*.so
9+
.Python
10+
build/
11+
develop-eggs/
12+
dist/
13+
downloads/
14+
eggs/
15+
.eggs/
16+
lib/
17+
lib64/
18+
parts/
19+
sdist/
20+
var/
21+
wheels/
22+
*.egg-info/
23+
.installed.cfg
24+
*.egg
25+
26+
# Virtual environment
27+
.venv/
28+
venv/
29+
env/
30+
ENV/
31+
32+
# IDE
33+
.idea/
34+
.vscode/
35+
*.swp
36+
*.swo
37+
38+
# macOS
39+
.DS_Store
40+
41+
# Logs
42+
*.log
43+
44+
# Streamlit
45+
.streamlit/
46+
47+
# Chainlit
48+
.chainlit/
49+
.files/
50+
51+
# Jupyter Notebook
52+
.ipynb_checkpoints
53+
54+
# Ignore logs folder
55+
logs/
56+
57+
# Ignore .venv folder
58+
.venv/
59+
60+
# Ignore .env file
61+
.env
62+
63+
# Ignore .env.local file
64+
.env.local
65+
66+
# Big query
67+
credentials.json

.pre-commit-config.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v6.0.0
4+
hooks:
5+
- id: trailing-whitespace
6+
- id: end-of-file-fixer
7+
- id: check-added-large-files
8+
- id: check-merge-conflict
9+
- id: check-toml
10+
- id: debug-statements
11+
- id: check-ast
12+
- id: check-case-conflict
13+
- id: check-yaml
14+
- id: check-docstring-first
15+
16+
- repo: https://github.com/psf/black
17+
rev: 25.1.0
18+
hooks:
19+
- id: black
20+
exclude: ^scripts/
21+
22+
- repo: local
23+
hooks:
24+
- id: autoflake
25+
name: autoflake
26+
entry: uv run autoflake --in-place --remove-all-unused-imports --remove-unused-variables
27+
language: system
28+
types: [python]
29+
30+
- id: isort
31+
name: isort
32+
entry: uv run isort --profile black
33+
language: system
34+
types: [python]

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.12

0 commit comments

Comments
 (0)