Metadata-Version: 2.4
Name: feldera
Version: 0.61.0
Summary: The feldera python client
Author-email: Abhinav <abhinav.gyawali@feldera.com>
License: MIT
Project-URL: Homepage, https://www.feldera.com
Project-URL: Documentation, https://docs.feldera.com/python
Project-URL: Repository, https://github.com/feldera/feldera
Project-URL: Issues, https://github.com/feldera/feldera/issues
Keywords: feldera,python
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: pandas>=2.1.2
Requires-Dist: typing-extensions
Requires-Dist: numpy>=2.2.4
Requires-Dist: pretty-errors
Requires-Dist: ruff>=0.6.9

# Feldera Python SDK

Feldera Python is the Feldera SDK for Python developers.

## Installation

```bash
pip install feldera
```

### Installing from Github

```bash
pip install git+https://github.com/feldera/feldera#subdirectory=python
```

Similarly, to install from a specific branch:

```bash
$ pip install git+https://github.com/feldera/feldera@{BRANCH_NAME}#subdirectory=python
```

Replace `{BRANCH_NAME}` with the name of the branch you want to install from.

### Installing from Local Directory

If you have cloned the Feldera repo, you can install the python SDK as follows:

```bash
# the Feldera Python SDK is present inside the python/ directory
pip install python/
```

Checkout the docs [here](./feldera/__init__.py) for an example on how to use the SDK.

## Documentation

To build the html documentation run:

Ensure that you have sphinx installed. If not, install it using `pip install sphinx`.

Then run the following commands:

```bash
cd docs
sphinx-apidoc -o . ../feldera
make html
```

To clean the build, run `make clean`.

## Testing

To run unit tests:

```bash
(cd python && python3 -m unittest)
```

The following command runs end-to-end tests.  You'll need a pipeline
manager running at `http://localhost:8080`.  For the pipeline builder
tests, you'll also need a broker available at `localhost:9092` and
(from the pipelines) `redpanda:19092`.  (To change those locations,
set the environment variables listed in `python/tests/__init__.py`.)

```bash
(cd python/tests && python3 -m pytest .)
```

To run tests from a specific file:

```bash
(cd python/tests && python3 -m unittest ./tests/path-to-file.py)
```

To run the aggregate tests use:

```bash
cd python
PYTHONPATH=`pwd` python3 ./tests/aggregate_tests/main.py
```
