DataCoolie Studio
DataCoolie Studio is a local web app for exploring DataCoolie projects. Use it to manage sources, edit metadata, inspect lineage, and monitor extract, transform, and load (ETL) runs.
What you can do
- Organize sources by Project and Environment
- Read and edit metadata in
JSON,YAML, orXLSXformat - Inspect lineage from metadata, SQL queries, and Python code
- Monitor Dataflow, Job, and System logs
- Connect to Local, S3, MinIO, ADLS, OneLake, GCS, and Databricks storage
- Store cloud credentials in the operating system credential store
Studio keeps source files as the source of truth. Metadata saves validate the document and create a backup before replacing the original file. Lineage combines evidence for display without creating a merged metadata file.
Screenshots
The screenshots below show the main Studio workflow using a populated local DataCoolie environment.
Projects and Environment
Projects provides a single workspace view for project readiness, environment navigation, and source coverage.
Environment Overview brings Metadata, Lineage, Monitoring, freshness, and next actions together in one screen.
Metadata, Assets, Lineage, and Sources
Metadata presents connections, dataflows, schema hints, and ordered source-defined transform configuration in an editable workspace.
Assets provides an inventory of discovered assets and references, including resolution and usage context.
Lineage connects metadata, SQL, and Python evidence into an interactive graph with filters and run-status context.
Sources shows Local and cloud bindings, readable/cache status, scheduled Log refresh, and one-click path copying.
When scanning a project, Studio always uses automatic layout discovery. It
keeps the configured functions root and also recognizes common Python
layouts from a root pyproject.toml. A project with src/<package>/**/*.py
is indexed with import names such as package.module, without executing or
installing the project. .py, .zip, and .whl files found below the code
root become separate code artifacts, so their provenance and validation state
remain independent. Unsupported or ambiguous namespace layouts are reported
for manual module-root/module-prefix configuration. The API still accepts
code_discovery_mode=explicit for advanced integrations that need to limit a
scan to the configured folder.
Monitoring
Monitoring is split into nine focused pages so operational questions can be answered without leaving the Environment.
Open all 9 Monitoring pages
| Overview Health KPIs, trends, runtime context, and attention signals. |
Jobs Job status, duration, runtime context, and drill-in evidence. |
| Dataflows Dataflow filtering, execution status, timings, and source/destination context. |
Failures Failure categories, repeated failures, and investigation entry points. |
| Freshness Source freshness, event time, watermarks, and stale-data signals. |
Performance Duration percentiles, phase contribution, pressure, and candidates. |
| Volume Rows, bytes, files, workload trends, and file-churn candidates. |
Maintenance Maintenance operations, destination impact, and performance signals. |
| Diagnostics Bounded diagnostic aggregates and investigation evidence. |
Install and run
DataCoolie Studio requires Python 3.11 or later.
pip install datacoolie-studio
datacoolie-studio
The launcher starts Studio at http://127.0.0.1:8765, creates its local workspace on first run, and opens your browser. On a wide interactive terminal it prints a large DataCoolie wordmark, links to the DataCoolie and DataCoolie Studio repositories, and the URL it is starting. Narrow terminals and redirected output use a compact version of the introduction.
Use --no-banner when only the server logs are needed:
datacoolie-studio --no-banner
The startup introduction looks like this:
____ _ ____ _ _
| _ \ __ _| |_ __ _ / ___|___ ___ | (_) ___
| | | |/ _` | __/ _` | | / _ \ / _ \| | |/ _ \
| |_| | (_| | || (_| | |__| (_) | (_) | | | __/
|____/ \__,_|\__\__,_|\____\___/ \___/|_|_|\___|
Studio v<version>
Explore DataCoolie metadata, lineage, and ETL logs.
DataCoolie - Metadata-driven ETL framework
https://github.com/datacoolie/datacoolie
DataCoolie Studio - Local web app for DataCoolie projects
https://github.com/datacoolie/datacoolie-studio
Starting at: http://127.0.0.1:8765
Press Ctrl+C to stop.
Install only the cloud integrations you need:
pip install "datacoolie-studio[s3]"
pip install "datacoolie-studio[minio]"
pip install "datacoolie-studio[adls]"
pip install "datacoolie-studio[onelake]"
pip install "datacoolie-studio[gcs]"
Databricks SDK support is included in the base installation. Use
pip install "datacoolie-studio[cloud]" to install every other cloud
integration. For a complete environment with every cloud integration and
the development, test, and packaging tools, use:
pip install "datacoolie-studio[all]"
Create your first workspace
- Create a Project
- Add an Environment such as
dev,test, orprod - Add a metadata file or scan a DataCoolie project
- Add ETL logs for Monitoring
- Add Python code artifacts when metadata references Python functions
- Open Metadata, Assets, Lineage, or Monitoring
Metadata is required. Logs and code artifacts are optional.
Configure Studio
Studio stores local state under ~\.datacoolie\datacoolie-studio\:
db\studio.db
backups\
cache\
logs\
Common launcher options:
datacoolie-studio --port 8765
datacoolie-studio --host 127.0.0.1
datacoolie-studio --db .\.scratch\studio.db
datacoolie-studio --database-url "postgresql+psycopg://user:password@host:5432/datacoolie_studio"
datacoolie-studio --no-open
You can also configure storage with environment variables:
| Variable | Purpose |
|---|---|
DATACOOLIE_STUDIO_DB |
SQLite workspace database path |
DATACOOLIE_STUDIO_DATABASE_URL |
SQLAlchemy database URL; overrides the SQLite path |
DATACOOLIE_STUDIO_RESULT_CACHE_URL |
Result-cache SQLite URL |
Studio binds to 127.0.0.1 by default. Choose a shared database and review network access before hosting it for multiple users.
Develop from source
Run the backend directly from src. This assumes the active Python environment already contains the dependencies declared in pyproject.toml.
$env:PYTHONPATH = "$PWD\src"
python -m uvicorn datacoolie_studio.main:app `
--reload `
--host 127.0.0.1 `
--port 8765
Run the frontend in another terminal:
cd frontend
npm install
npm run dev
Open http://127.0.0.1:5173. Vite sends API requests to the backend at http://127.0.0.1:8765.
Build the frontend into the Python package:
cd frontend
npm run build
Run repository checks:
.\scripts\verify.ps1
.\scripts\verify.ps1 -Mode Full
The default check covers architecture, packaged static assets, security, API contracts, frontend tests, and the production build. Full mode also runs the complete backend test suite.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file datacoolie_studio-0.1.9.tar.gz.
File metadata
- Download URL: datacoolie_studio-0.1.9.tar.gz
- Upload date:
- Size: 6.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ae9b8bd74047ab604c3ebd3910b47dc1fa64a068c0543a88525f7b0155a897f
|
|
| MD5 |
14e6558d92f4501ccac08581d59b58eb
|
|
| BLAKE2b-256 |
2c9ccf25a652d21e222497efbe9cb8253e56b5f2c19e6a8acda44f350afbfa2e
|
Provenance
The following attestation bundles were made for datacoolie_studio-0.1.9.tar.gz:
Publisher:
publish-pypi.yml on datacoolie/datacoolie-studio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
datacoolie_studio-0.1.9.tar.gz -
Subject digest:
5ae9b8bd74047ab604c3ebd3910b47dc1fa64a068c0543a88525f7b0155a897f - Sigstore transparency entry: 2721602649
- Sigstore integration time:
-
Permalink:
datacoolie/datacoolie-studio@4bfb49e93c2bf30d43f8dd720365ae282b3cbdfd -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/datacoolie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@4bfb49e93c2bf30d43f8dd720365ae282b3cbdfd -
Trigger Event:
push
-
Statement type:
File details
Details for the file datacoolie_studio-0.1.9-py3-none-any.whl.
File metadata
- Download URL: datacoolie_studio-0.1.9-py3-none-any.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad926cba5a89f86852ede4ec25ade9facb3d52b7d69ae190c033f16f3c4f45e9
|
|
| MD5 |
ae18a6e7ce6adcd89391e5f91a87a706
|
|
| BLAKE2b-256 |
b075f6602627f4ac4ec895d0790ae9dca9d069203757e103aa89cafaf62cae70
|
Provenance
The following attestation bundles were made for datacoolie_studio-0.1.9-py3-none-any.whl:
Publisher:
publish-pypi.yml on datacoolie/datacoolie-studio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
datacoolie_studio-0.1.9-py3-none-any.whl -
Subject digest:
ad926cba5a89f86852ede4ec25ade9facb3d52b7d69ae190c033f16f3c4f45e9 - Sigstore transparency entry: 2721602679
- Sigstore integration time:
-
Permalink:
datacoolie/datacoolie-studio@4bfb49e93c2bf30d43f8dd720365ae282b3cbdfd -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/datacoolie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@4bfb49e93c2bf30d43f8dd720365ae282b3cbdfd -
Trigger Event:
push
-
Statement type: