Metadata-Version: 2.4
Name: polars-result
Version: 0.1.0
Summary: Railway-oriented Result type for Polars data pipelines
Author-email: Attica-oss <g.mounac@gmail.com>
License: MIT
Keywords: error-handling,polars,railway-oriented-programming,result
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: polars>=1.0
Provides-Extra: dev
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.11; extra == 'dev'
Requires-Dist: ty>=0.0.1a7; extra == 'dev'
Description-Content-Type: text/markdown

# polars-result

Railway-oriented `Result` type for building robust Polars data pipelines.

## Installation

```bash
uv add polars-result
```

## Quick Start

```python
from polars_result import Result, PolarsResultError

# Successful pipeline
result = (
    Result.ok(raw_dataframe)
    .map(clean_columns)
    .bind(validate_schema)
    .map(compute_totals)
)

if result.is_ok():
    df = result.unwrap()
else:
    print(f"Pipeline failed: {result.unwrap_err()}")
```

## Development

```bash
# Install dev dependencies
uv sync --extra dev

# Run tests
uv run pytest

# Lint & format
uv run ruff check src/ tests/
uv run ruff format src/ tests/

# Type check
uv run ty check src/
```
