Feldera Python SDK
The feldera Python package is the Python client for the Feldera HTTP API.
The Python SDK documentation is available at: https://docs.feldera.com/python
Getting started
Installation
uv pip install feldera
Example usage
The Python client interacts with the API server of the Feldera instance.
# File: example.py
from feldera import FelderaClient, PipelineBuilder, Pipeline
# Instantiate client
client = FelderaClient() # Default: http://localhost:8080 without authentication
# client = FelderaClient(url="https://localhost:8080", api_key="apikey:...", requests_verify="/path/to/tls.crt")
# (Re)create pipeline
name = "example"
sql = """
CREATE TABLE t1 (i1 INT) WITH ('materialized' = 'true');
CREATE MATERIALIZED VIEW v1 AS SELECT * FROM t1;
"""
print("(Re)creating pipeline...")
pipeline = PipelineBuilder(client, name, sql).create_or_replace()
pipeline.start()
print(f"Pipeline status: {pipeline.status()}")
pipeline.pause()
print(f"Pipeline status: {pipeline.status()}")
pipeline.stop(force=True)
# Find existing pipeline
pipeline = Pipeline.get(name, client)
pipeline.start()
print(f"Pipeline status: {pipeline.status()}")
pipeline.stop(force=True)
pipeline.clear_storage()
Run using:
uv run python example.py
Environment variables
Some default parameter values in the Python SDK can be overridden via environment variables.
Environment variables for FelderaClient(...)
export FELDERA_HOST="https://localhost:8080" # Overrides default for `url`
export FELDERA_API_KEY="apikey:..." # Overrides default for `api_key`
# The following together override default for `requests_verify`
# export FELDERA_TLS_INSECURE="false" # If set to "1", "true" or "yes" (all case-insensitive), disables TLS certificate verification
# export FELDERA_HTTPS_TLS_CERT="/path/to/tls.crt" # Custom TLS certificate
Environment variables for PipelineBuilder(...)
export FELDERA_RUNTIME_VERSION="..." # Overrides default for `runtime_version`
Development
Development assumes you have cloned the Feldera code repository.
Installation
cd python
# Optional: create and activate virtual environment if you don't have one
uv venv
source .venv/bin/activate
# Install in editable mode
uv pip install -e .
Formatting
Formatting requires the ruff package: uv pip install ruff
cd python
ruff check
ruff format
Tests
Running the test requires the pytest package: uv pip install pytest
# All tests
cd python
uv run python -m pytest tests/
# Specific tests directory
uv run python -m pytest tests/platform/
# Specific test file
uv run python -m pytest tests/platform/test_pipeline_crud.py
# Specific test
uv run python -m pytest tests/platform/test_pipeline_crud.py::test_pipeline_post
# Tip: add argument -x at the end for it to fail fast
# Tip: add argument -s at the end to show stdout/stderr
For further information about the tests, please see tests/README.md.
Documentation
Building documentation requires the sphinx package: uv pip install sphinx
cd python/docs
sphinx-apidoc -o . ../feldera
make html
make clean # Cleanup afterwards
Installation from GitHub
Latest main branch:
uv pip install git+https://github.com/feldera/feldera#subdirectory=python
Different branch (replace BRANCH_NAME):
uv pip install git+https://github.com/feldera/feldera@BRANCH_NAME#subdirectory=python
Metadata
Release files for feldera 0.340.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| feldera-0.340.0.tar.gz | 67.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| feldera-0.340.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 142.0 kB
Release files / feldera-0.340.0.tar.gz
| Download URL | feldera-0.340.0.tar.gz |
|---|---|
| Size | 67.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31bcd34bec8e024dbdf1515bf849ea8e57a7fe6972180ea3059f8f6aa6ce39d5
|
|
BLAKE2b-256 checksum How to use checksums |
8bbd4f19afd773d933e4d9cb9f2057a1dd4b5b5bf133d8dd648a27b81c2d5649
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.
Transparency logRelease files / feldera-0.340.0-py3-none-any.whl
| Download URL | feldera-0.340.0-py3-none-any.whl |
|---|---|
| Size | 74.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a17cdedabf3d53d457663fb30884188e004077ad65a0f04ca69a9ae972a67fa8
|
|
BLAKE2b-256 checksum How to use checksums |
f345ca3400fa2e993e960e652abc3cce96b827bb6adb0fa1ec64b7d8ff732f73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.
Transparency log