Metadata-Version: 2.4
Name: sigil-ai
Version: 1.1.0
Summary: Collect, store, and analyze AI usage data across modalities
Requires-Python: >=3.11
Requires-Dist: click>=8.1
Requires-Dist: clickhouse-connect>=0.8
Requires-Dist: daft>=0.5
Requires-Dist: orjson>=3.10
Requires-Dist: pyarrow>=17.0
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pyiceberg[pyiceberg-core]>=0.9.0
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: python-dotenv>=1.0
Requires-Dist: rich>=13.0
Requires-Dist: xxhash>=3.6.0
Provides-Extra: dev
Requires-Dist: poethepoet>=0.34; extra == 'dev'
Requires-Dist: pre-commit>=4.0; extra == 'dev'
Requires-Dist: pyiceberg[sql-sqlite]>=0.9.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.11; extra == 'dev'
Description-Content-Type: text/markdown

# sigil

Collect, store, and analyze your AI usage data from Claude Code and OpenAI Codex CLI.

## Install

```bash
pip install sigil-ai
```

## Quick Start

```bash
# See all available commands
uvx --from sigil-ai sigil --help

# Interactive config setup
uvx --from sigil-ai sigil init

# Push session data (auto-detects ~/.claude/projects/ and ~/.codex/sessions/)
uvx --from sigil-ai sigil push

# Incremental push is the default — use --full to re-push everything
uvx --from sigil-ai sigil push --full
```

## Storage Backends

Configure via `sigil init` or `~/.sigil/config.toml`. Three backends are supported:

| Backend | Use case | Config key |
|---|---|---|
| `local` (default) | Parquet files in `~/.sigil/rows/` | — |
| `iceberg` | Apache Iceberg via REST catalog | `[iceberg]` |
| `clickhouse` | ClickHouse Cloud/self-hosted | `[clickhouse]` |

Environment variables (`SIGIL_*`) can override any config value. See `.env.template` for the full list.

## Configuration

```toml
# ~/.sigil/config.toml
storage_backend = "clickhouse"

[iceberg]
catalog_name = "default"
catalog_uri = "http://localhost:8181"
warehouse = "s3://bucket/warehouse"

[clickhouse]
host = "localhost"
database = "sigil"
user = "default"
password = ""
```

## Development

```bash
uv run pytest              # Run tests
uv run ruff check src/     # Lint
uv run sigil --help        # CLI help
```
