Metadata-Version: 2.3
Name: redis-featureform
Version: 3.0.0rc2
Summary: Enterprise Python client for Featureform v2 API
Author: Simba Khadder
Author-email: Simba Khadder <simba.khadder@redis.com>
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
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: Typing :: Typed
Requires-Dist: cloudpickle>=3.0.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: keyring>=25.0.0
Requires-Dist: packaging>=24.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: structlog>=24.0.0
Requires-Dist: typer>=0.12.0
Requires-Dist: rich>=13.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: grpcio>=1.60.0
Requires-Dist: grpcio-health-checking>=1.60.0
Requires-Dist: protobuf>=4.25.0
Requires-Dist: pyarrow>=17.0.0
Requires-Dist: pandas>=2.3.3
Requires-Dist: tomli>=2.0.0 ; python_full_version < '3.11'
Requires-Dist: pytest>=9.0.3 ; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0 ; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0 ; extra == 'dev'
Requires-Dist: pytest-httpx>=0.30.0 ; extra == 'dev'
Requires-Dist: psycopg[binary]>=3.2.0 ; extra == 'dev'
Requires-Dist: snowflake-connector-python>=3.12.0 ; extra == 'dev'
Requires-Dist: requests>=2.33.0 ; extra == 'dev'
Requires-Dist: redis>=5.0.0 ; extra == 'dev'
Requires-Dist: schemathesis>=4 ; extra == 'dev'
Requires-Dist: polars>=1.30.0 ; extra == 'dev'
Requires-Dist: schemathesis>=4 ; extra == 'dev'
Requires-Dist: ruff>=0.8.0 ; extra == 'dev'
Requires-Dist: mypy>=1.8.0 ; extra == 'dev'
Requires-Dist: pyright>=1.1.350 ; extra == 'dev'
Requires-Dist: datamodel-code-generator>=0.55.0 ; extra == 'dev'
Requires-Dist: opentelemetry-api>=1.20.0 ; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.20.0 ; extra == 'otel'
Requires-Dist: pyspark>=3.5,<5 ; extra == 'pyspark'
Requires-Python: >=3.10
Provides-Extra: dev
Provides-Extra: otel
Provides-Extra: pyspark
Description-Content-Type: text/markdown

# Python Client

A modern Python client library built with best-in-class tooling.

## Features

- Built with [UV](https://docs.astral.sh/uv/) for fast, reliable dependency management
- Type-safe with [mypy](https://mypy-lang.org/)
- Linted and formatted with [Ruff](https://docs.astral.sh/ruff/)
- Tested with [pytest](https://docs.pytest.org/)
- Full type annotations (PEP 561 compatible)

## Development Setup

### Prerequisites

- Python 3.9 or higher
- [UV](https://docs.astral.sh/uv/) package manager

### Installation

Install the package with development dependencies:

```bash
make dev-install
```

Or using UV directly:

```bash
uv sync --all-extras
```

## Development

### Running Tests

```bash
make test
```

### Linting

```bash
make lint
```

### Formatting

```bash
make format
```

### Type Checking

```bash
make type-check
```

### Building

```bash
make build
```

## Project Structure

```
python-client/
├── src/
│   └── python_client/     # Main package
│       ├── __init__.py
│       └── py.typed       # PEP 561 marker
├── tests/                 # Test suite
├── pyproject.toml         # Project configuration
├── Makefile              # Development commands
└── README.md             # This file
```
