Feldera Python is the Feldera SDK for Python developers.
pip install felderapip install git+https://github.com/feldera/feldera#subdirectory=pythonSimilarly, to install from a specific branch:
$ pip install git+https://github.com/feldera/feldera@{BRANCH_NAME}#subdirectory=pythonReplace {BRANCH_NAME} with the name of the branch you want to install from.
If you have cloned the Feldera repo, you can install the python SDK as follows:
# the Feldera Python SDK is present inside the python/ directory
pip install python/Checkout the docs here for an example on how to use the SDK.
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:
cd docs
sphinx-apidoc -o . ../feldera
make htmlTo clean the build, run make clean.
To run unit tests:
(cd python && python3 -m unittest)
⚠️ Running the unit tests will delete all existing pipelines.
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.)
(cd python && python3 -m pytest tests)To run tests from a specific file:
(cd python && python3 -m unittest ./tests/path-to-file.py)To run the aggregate tests use:
cd python
PYTHONPATH=`pwd` python3 ./tests/aggregate_tests/main.pyUse Ruff to run the lint checks that will be executed by the precommit hook when a PR is submitted:
ruff check python/To reformat the code in the same way as the precommit hook:
ruff format