Metadata-Version: 2.4
Name: phlo
Version: 0.3.2
Summary: Lakehouse platform
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: asyncpg>=0.30.0
Requires-Dist: click>=8.0
Requires-Dist: dagster-webserver>=1.12.1
Requires-Dist: dagster>=1.12.1
Requires-Dist: duckdb>=0.9.0
Requires-Dist: fastapi>=0.127.0
Requires-Dist: httpx>=0.28.1
Requires-Dist: jsonschema>=4.23.0
Requires-Dist: pandas>=2.3.3
Requires-Dist: pandera>=0.26.1
Requires-Dist: psycopg2-binary>=2.9.11
Requires-Dist: pydantic-settings>=2.11.0
Requires-Dist: python-ulid>=2.0.0
Requires-Dist: requests>=2.32.5
Requires-Dist: rich>=13.0
Requires-Dist: structlog>=25.5.0
Provides-Extra: core-services
Requires-Dist: phlo-dagster>=0.1.0; extra == 'core-services'
Requires-Dist: phlo-minio>=0.1.0; extra == 'core-services'
Requires-Dist: phlo-nessie>=0.1.0; extra == 'core-services'
Requires-Dist: phlo-postgres>=0.1.0; extra == 'core-services'
Requires-Dist: phlo-trino>=0.1.0; extra == 'core-services'
Provides-Extra: defaults
Requires-Dist: phlo-core-plugins>=0.1.0; extra == 'defaults'
Requires-Dist: phlo-dagster>=0.1.0; extra == 'defaults'
Requires-Dist: phlo-dbt>=0.1.0; extra == 'defaults'
Requires-Dist: phlo-dlt>=0.1.0; extra == 'defaults'
Requires-Dist: phlo-iceberg>=0.1.0; extra == 'defaults'
Requires-Dist: phlo-minio>=0.1.0; extra == 'defaults'
Requires-Dist: phlo-nessie>=0.1.0; extra == 'defaults'
Requires-Dist: phlo-postgres>=0.1.0; extra == 'defaults'
Requires-Dist: phlo-trino>=0.1.0; extra == 'defaults'
Provides-Extra: openmetadata
Requires-Dist: phlo-openmetadata>=0.1.0; extra == 'openmetadata'
Description-Content-Type: text/markdown

<p align="center">
  <img src="docs/assets/phlo.png" alt="Phlo" width="400">
</p>

<p align="center">
  <strong>Modern data lakehouse platform built on Dagster, DLT, Iceberg, Nessie, and dbt.</strong>
</p>

<p align="center">
  <a href="https://github.com/iamgp/phlo/actions/workflows/ci.yml"><img src="https://github.com/iamgp/phlo/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
  <a href="https://pypi.org/project/phlo/"><img src="https://img.shields.io/pypi/v/phlo" alt="PyPI"></a>
  <img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="Python 3.11+">
</p>

## Features

- **Decorator-driven development** - Reduce boilerplate by 74% with `@phlo.operations.ingestion` and `@phlo.quality`
- **Write-Audit-Publish pattern** - Git-like branching with automatic quality gates and promotion
- **Type-safe data quality** - Pandera schemas enforce validation and generate Iceberg tables
- **Plugin architecture** - Extensible via service, source, quality, and transformation plugins
- **Observatory UI** - Web-based interface for data exploration, lineage, and monitoring
- **Production-ready patterns** - Auto-publishing to Postgres, configurable merge strategies, freshness policies
- **Modern tooling** - Built on Dagster, DLT, Iceberg, Nessie, dbt, and Trino

## Quick Start

```bash
# Install with default services
uv pip install phlo[defaults]

# Initialize a new project
phlo init my-project
cd my-project

# Start services and run
phlo services start
phlo materialize --select "dlt_glucose_entries+"
```

## Documentation

Full documentation at [docs/index.md](docs/index.md):

- [Installation Guide](docs/getting-started/installation.md)
- [Quickstart Guide](docs/getting-started/quickstart.md)
- [Core Concepts](docs/getting-started/core-concepts.md)
- [Developer Guide](docs/guides/developer-guide.md)
- [Plugin Development](docs/guides/plugin-development.md)
- [CLI Reference](docs/reference/cli-reference.md)
- [Configuration Reference](docs/reference/configuration-reference.md)
- [Operations Guide](docs/operations/operations-guide.md)
- [Blog Series](docs/blog/README.md) - 13-part deep dive

## Development

```bash
# Services
phlo services start    # Start all services
phlo services stop     # Stop services
phlo services logs -f  # View logs

# Development
uv pip install -e .    # Install Phlo
ruff check src/        # Lint
ruff format src/       # Format
basedpyright src/      # Type check
phlo test              # Run tests
```
