Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

feldera-0.319.0.tar.gz (56.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

feldera-0.319.0-py3-none-any.whl (62.4 kB view details)

Uploaded Python 3

File details

Details for the file feldera-0.319.0.tar.gz.

File metadata

  • Download URL: feldera-0.319.0.tar.gz
  • Upload date:
  • Size: 56.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for feldera-0.319.0.tar.gz
Algorithm Hash digest
SHA256 642bea31645f1a7526e76b268473f4ca0d98fb7d8126e8753e66784c7bdd6c50
MD5 88ed672a928c09ffdac45184c4171c5c
BLAKE2b-256 358f56e7e7fad7a8c35364045cd1c61b841129f777b14320044bb237236f1930

See more details on using hashes here.

Provenance

The following attestation bundles were made for feldera-0.319.0.tar.gz:

Publisher: ci-post-release.yml on feldera/feldera

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file feldera-0.319.0-py3-none-any.whl.

File metadata

  • Download URL: feldera-0.319.0-py3-none-any.whl
  • Upload date:
  • Size: 62.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for feldera-0.319.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f695ab7f07cf571ac14ea9efdfdf3db02793f984be783cb456b5b7bae715c684
MD5 ef27ef609f45dec26b3332b02edc3a15
BLAKE2b-256 1d75c017a9003fbe338ba5e536c319d34632e718e00a2d40685ac9b86d5f0f25

See more details on using hashes here.

Provenance

The following attestation bundles were made for feldera-0.319.0-py3-none-any.whl:

Publisher: ci-post-release.yml on feldera/feldera

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.338.0

2 files

0.337.0

2 files

0.336.0

2 files

0.335.0

2 files

0.334.0

2 files

0.333.0

2 files

0.332.0

2 files

0.331.0

2 files

0.330.0

2 files

0.329.0

2 files

0.328.0

2 files

0.327.0

2 files

0.326.0

2 files

0.325.0

2 files

0.324.0

2 files

0.323.0

2 files

0.322.0

2 files

0.321.0

2 files

0.320.0

2 files

This release

0.319.0 This release

2 files

0.318.0

2 files

0.317.0

2 files

0.316.0

2 files

0.315.0

2 files

0.314.0

2 files

0.313.0

2 files

0.312.0

2 files

0.311.0

2 files

0.310.0

2 files

0.309.0

2 files

0.308.0

2 files

0.307.0

2 files

0.306.0

2 files

0.305.0

2 files

0.304.0

2 files

0.303.0

2 files

0.302.0

2 files

0.301.0

2 files

0.300.0

2 files

0.299.0

2 files

0.298.0

2 files

0.297.0

2 files

0.296.0

2 files

0.295.0

2 files

0.294.0

2 files

0.293.0

2 files

0.292.0

2 files

0.291.0

2 files

0.290.0

2 files

0.289.0

2 files

0.288.0

2 files

0.287.0

2 files

0.286.0

2 files

0.285.0

2 files

0.284.0

2 files

0.283.0

2 files

0.282.0

2 files

0.281.0

2 files

0.280.0

2 files

0.279.0

2 files

0.278.0

2 files

0.277.0

2 files

0.276.0

2 files

0.275.0

2 files

0.274.0

2 files

0.273.0

2 files

0.272.0

2 files

0.271.0

2 files

0.270.0

2 files

0.269.0

2 files

0.268.0

2 files

0.267.0

2 files

0.266.0

2 files

0.265.0

2 files

0.264.0

2 files

0.263.0

2 files

0.262.0

2 files

0.261.0

2 files

0.260.0

2 files

0.259.0

2 files

0.258.0

2 files

0.257.0

2 files

0.256.0

2 files

0.255.0

2 files

0.254.0

2 files

0.253.0

2 files

0.252.0

2 files

0.251.0

2 files

0.250.0

2 files

0.249.0

2 files

0.248.0

2 files

0.247.0

2 files

0.246.0

2 files

0.245.0

2 files

0.244.0

2 files

0.243.0

2 files

0.242.0

2 files

0.241.0

2 files

0.240.0

2 files

0.239.0

2 files

0.238.0

2 files

0.237.0

2 files

0.236.0

2 files

0.235.0

2 files

0.234.0

2 files

0.233.0

2 files

0.232.0

2 files

0.231.0

2 files

0.230.0

2 files

0.229.0

2 files

0.228.0

2 files

0.227.0

2 files

0.226.0

2 files

0.225.0

2 files

0.224.0

2 files

0.223.0

2 files

0.222.0

2 files

0.221.0

2 files

0.220.0

2 files

0.219.0

2 files

0.218.0

2 files

0.217.0

2 files

0.216.0

2 files

0.215.0

2 files

0.214.0

2 files

0.213.0

2 files

0.212.0

2 files

0.211.0

2 files

0.210.0

2 files

0.209.0

2 files

0.208.0

2 files

0.207.0

2 files

0.206.0

2 files

0.205.0

2 files

0.204.0

2 files

0.203.0

2 files

0.202.0

2 files

0.201.0

2 files

0.200.0

2 files

0.199.0

2 files

0.198.0

2 files

0.197.0

2 files

0.196.0

2 files

0.195.0

2 files

0.194.0

2 files

0.193.0

2 files

0.192.0

2 files

0.191.0

2 files

0.189.0

2 files

0.188.0

2 files

0.187.0

2 files

0.186.0

2 files

0.185.0

2 files

0.184.0

2 files

0.183.0

2 files

0.182.0

2 files

0.181.0

2 files

0.180.0

2 files

0.179.0

2 files

0.178.0

2 files

0.177.0

2 files

0.176.0

2 files

0.175.0

2 files

0.173.0

2 files

0.172.0

2 files

0.171.0

2 files

0.170.0

2 files

0.169.0

2 files

0.168.0

2 files

0.167.0

2 files

0.166.0

2 files

0.165.0

2 files

0.164.0

2 files

0.163.0

2 files

0.162.0

2 files

0.161.0

2 files

0.160.0

2 files

0.159.0

2 files

0.158.0

2 files

0.157.0

2 files

0.156.0

2 files

0.155.0

2 files

0.154.0

2 files

0.153.0

2 files

0.152.0

2 files

0.151.0

2 files

0.150.0

2 files

0.149.0

2 files

0.148.0

2 files

0.147.0

2 files

0.146.0

2 files

0.145.0

2 files

0.144.0

2 files

0.143.0

2 files

0.142.0

2 files

0.141.0

2 files

0.140.0

2 files

0.139.0

2 files

0.138.0

2 files

0.137.0

2 files

0.136.0

2 files

0.135.0

2 files

0.134.0

2 files

0.133.0

2 files

0.132.0

2 files

0.131.0

2 files

0.130.0

2 files

0.129.0

2 files

0.128.0

2 files

0.127.0

2 files

0.126.0

2 files

0.125.0

2 files

0.124.0

2 files

0.123.0

2 files

0.122.0

2 files

0.121.0

2 files

0.120.0

2 files

0.119.0

2 files

0.118.0

2 files

0.117.0

2 files

0.116.0

2 files

0.115.0

2 files

0.114.0

2 files

0.113.0

2 files

0.112.0

2 files

0.111.0

2 files

0.110.0

2 files

0.109.0

2 files

0.108.0

2 files

0.107.0

2 files

0.106.0

2 files

0.105.0

2 files

0.104.0

2 files

0.103.0

2 files

0.102.0

2 files

0.101.0

2 files

0.100.0

2 files

0.99.0

2 files

0.98.0

2 files

0.96.0

2 files

0.95.0

2 files

0.94.0

2 files

0.93.0

2 files

0.92.0

2 files

0.91.0

2 files

0.90.0

2 files

0.69.0

2 files

0.68.0

2 files

0.67.0

2 files

0.66.0

2 files

0.65.0

2 files

0.64.0

2 files

0.63.0

2 files

0.62.0

2 files

0.61.0

2 files

0.60.0

2 files

0.59.0

2 files

0.58.0

2 files

0.57.0

2 files

0.56.0

2 files

0.55.0

2 files

0.54.0

2 files

0.53.0

2 files

0.52.0

2 files

0.51.0

2 files

0.50.0

2 files

0.49.0

2 files

0.48.0

2 files

0.47.0

2 files

0.46.0

2 files

0.45.0

2 files

0.44.0

2 files

0.43.0

2 files

0.42.0

2 files

0.41.0

2 files

0.40.0

2 files

0.39.0

2 files

0.38.0

2 files

0.37.0

2 files

0.36.0

2 files

0.35.0

2 files

0.34.1

2 files

0.34.0

2 files

0.33.0

2 files

0.32.0

2 files

0.31.2

2 files

0.31.1

2 files

0.31.0

2 files

0.30.0

2 files

0.29.0

2 files

0.28.0

2 files

0.27.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page