Python SDK and runtime for Flyde - a visual flow-based programming language and IDE.
Project description
PyFlyde
Python runtime for Flyde with Data Engineering emphasis.
Getting started
You need Python 3.9+ installed on your machine to run PyFlyde.
Then you can install PyFlyde using pip:
pip install pyflyde
Running the examples
You can copy examples
folder from this repository to your local project to give it a try. Then you can run the example flow with:
pyflyde examples/HelloWorld.flyde
Using the visual editor
Install Flyde VSCode extension from the marketplace. It will open existing .flyde
files in the visual editor. You can call Flyde: New Visual Flow
command in VSCode to create a new flow file.
You can browse the component library in the panel on the right. To see your local components click the "View all" button. They will appear under the "Current project". Note that PyFlyde doesn't implement all of the Flyde's stdlib components, only a few essential ones.
Whenever you change your component library classes or their interfaces, use pyflyde gen
command to generate .flyde.ts
definitions, e.g.:
pyflyde gen examples/mylib/components.py
Flyde editor needs .flyde.ts
files in order to "see" your components.
Running a Machine Learning example
Clustering.flyde
is a more complex example which uses Pandas and Scikit-Learn to run K-means clustering on a wine clustering dataset from Kaggle. It's a PyFlyde version of https://github.com/Shivangi0503/Wine_Clustering_KMeans.
To run this example, you need to install its dependencies first:
cd examples
pip install .
cd ..
After going back to the main folder you can run it with:
pyflyde examples/Clustering.flyde
Contributing
Install dev dependencies
pip install .\[dev\]
Run tests, linters and coverage reports
To run tests only:
make test
To run tests with coverage and see report:
make cover report
To run linters:
make lint
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.