Metadata-Version: 2.4
Name: aaiclick
Version: 0.0.7
Summary: A Python framework that translates Python code into ClickHouse operations for big data computing
Author: aaiclick Contributors
License: MIT
Project-URL: Homepage, https://github.com/kolodkin/aaiclick
Project-URL: Repository, https://github.com/kolodkin/aaiclick
Project-URL: Issues, https://github.com/kolodkin/aaiclick/issues
Project-URL: Documentation, https://aaiclick.readthedocs.io
Keywords: clickhouse,big data,database,analytics,data processing
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.10
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.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: sqlmodel>=0.0.14
Requires-Dist: alembic>=1.13.0
Requires-Dist: chdb>=4.0.0
Requires-Dist: aiosqlite>=0.19.0
Provides-Extra: distributed
Requires-Dist: clickhouse-connect>=0.6.0; extra == "distributed"
Requires-Dist: asyncpg>=0.29.0; extra == "distributed"
Requires-Dist: psycopg2-binary>=2.9.9; extra == "distributed"
Provides-Extra: ai
Requires-Dist: litellm>=1.0; extra == "ai"
Requires-Dist: ollama>=0.1.0; extra == "ai"
Provides-Extra: all
Requires-Dist: aaiclick[ai,distributed]; extra == "all"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: pytest-xdist>=3.5.0; extra == "test"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == "docs"
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.25; extra == "docs"
Provides-Extra: dev
Requires-Dist: aaiclick[all,test]; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Dynamic: license-file

# aaiclick

A Python framework that translates Python code into ClickHouse operations for big data computing.

## Overview

aaiclick converts Python computational logic into a flow of ClickHouse database operations, enabling execution of Python-equivalent computations at scale. The framework analyzes Python code and generates optimized ClickHouse queries that produce results equivalent to native Python execution, while leveraging ClickHouse's columnar storage and distributed processing capabilities for big data workloads.

## Installation

The base install includes embedded [chdb](https://clickhouse.com/docs/chdb) and SQLite — no external servers needed:

```bash
pip install aaiclick
python -m aaiclick setup
```

For a distributed deployment (remote ClickHouse server + PostgreSQL):

```bash
pip install "aaiclick[distributed]"
```

For AI features (lineage tracing, debug agents):

```bash
pip install "aaiclick[ai]"
# or everything:
pip install "aaiclick[all]"
```

## Inspiration

- **ClickHouse** — data warehouse for storage and built-in operators; all computation runs as ClickHouse queries whenever possible
- **Apache Spark** — inspiration for custom operators when the data warehouse's built-in operators are not sufficient
- **Airflow** — enterprise-grade orchestration
- **Pandas** — API design inspiration
- **SQLAlchemy** — API design inspiration

## License

MIT License - see [LICENSE](LICENSE) for details.
