Metadata-Version: 2.4
Name: eeql
Version: 0.2.0
Summary: EEQL (Event-Entity Query Language): a query language and Python toolkit for event-entity data models.
Project-URL: Homepage, https://github.com/daisydatahq/eeql
Project-URL: Repository, https://github.com/daisydatahq/eeql
Project-URL: Issues, https://github.com/daisydatahq/eeql/issues
Author-email: Bryce Codell <you@example.com>
License: Apache-2.0
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: lark<2.0,>=1.1.9
Requires-Dist: networkx~=3.0
Requires-Dist: pydantic<3.0,>=2.0
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: snowflake-connector-python<5.0.0,>=4.1.1
Requires-Dist: sqlglot<24,>=23
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Provides-Extra: http
Requires-Dist: fastapi>=0.110; extra == 'http'
Requires-Dist: uvicorn>=0.30; extra == 'http'
Provides-Extra: lsp
Requires-Dist: lsprotocol>=2023.0.0; extra == 'lsp'
Requires-Dist: pygls<3.0,>=2.0; extra == 'lsp'
Description-Content-Type: text/markdown

# eeql
Entity-Event Query Language (EEQL) - a DSL and Python interface for querying event data.

## EEQL language pipeline
- Parse: `eeql.parser.parse(text)` → AST with spans.
- Validate: `eeql.validator.validate_query(ast, catalog)` enforces spec (aggregation-required, entity/column existence, join uniqueness).
- Compile (stub): `eeql.compiler.compile_to_dataset(ast, catalog)` returns a placeholder result; full Dataset wiring lands in DAI-154.

## LSP / editor support
- Run `eeql-lsp` (installed via console script) to expose diagnostics/completions/hover over the Language Server Protocol.
- Provide a Catalog via `EEQL_CATALOG_MODULE` env var (must expose `build()`), or use the built-in demo catalog.

## Release Automation
Pull requests to `main` publish prereleases to TestPyPI for quick validation. Merges to
`main` publish releases to PyPI when `pyproject.toml` has a new version.

TestPyPI install:

```bash
pip install -i https://test.pypi.org/simple eeql==<version>
```
