https://github.com/predict-idlab/graphflex
Flexible Framework for Graph Feature Engineering
https://github.com/predict-idlab/graphflex
Last synced: 3 months ago
JSON representation
Flexible Framework for Graph Feature Engineering
- Host: GitHub
- URL: https://github.com/predict-idlab/graphflex
- Owner: predict-idlab
- License: mit
- Created: 2025-03-06T14:19:28.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-12T15:11:38.000Z (about 1 year ago)
- Last Synced: 2025-09-25T00:34:56.874Z (8 months ago)
- Language: Python
- Homepage:
- Size: 19 MB
- Stars: 0
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GraphFlex
**Flexible Framework for Graph Feature Engineering**
[](https://pypi.org/project/graphflex/)
[](https://pypi.org/project/graphflex/)
[](https://opensource.org/licenses/MIT)

[](https://github.com/predict-idlab/graphflex)
[](https://scikit-learn.org/stable/related_projects.html#third-party-projects)
---
GraphFlex is a modular and extensible framework for graph-based feature engineering in Python. It allows seamless integration of graph datasets with traditional machine learning pipelines using familiar tools like `scikit-learn`.
> 🔗 Homepage & Documentation: [GraphFlex on GitHub](https://github.com/predict-idlab/graphflex)
## 📦 Installation
```bash
pip install graphflex
```
### Optional Dependencies
GraphFlex supports several optional extras. Install them with:
```bash
pip install "graphflex[dgl]"
pip install "graphflex[neo4j]"
pip install "graphflex[rdflib]"
pip install "graphflex[full]" # all optional features
```
---
## 🔍 Example Usage
```python
# GraphFlex pipeline
from graphflex import GraphFlex
from graphflex.functions.postprocessing.filter import NonUniqueFeatureFilter
from graphflex.functions.feature import MeanStdFeature
from graphflex.functions.edgenode import NumericalEdgeNode
connect = Connector(...) #use defined connector here
gflex = GraphFlex(
connector=connect,
node_feature=MeanStdFeature(),
edge_node_feature=NumericalEdgeNode(),
post_processor=NonUniqueFeatureFilter()
)
nodes = ...
feature_matrix = gflex.fit_transform(nodes)
```
---
## ✨ Features
- Plug-and-play feature extraction for graph nodes
- Compatible with `scikit-learn` pipelines
- Support for multiple graph backends (DGL, RDFLib-HDT, Neo4j, ...)
- Built-in feature functions and postprocessing modules
- Easily extendable with custom logic
---
## 📚 Documentation
For full documentation, examples, and API reference, visit the [GraphFlex repository](https://github.com/predict-idlab/graphflex).
---
## ⚙ Dependencies
- Python ≥ 3.10
- `numpy`, `pandas`, `scikit-learn`, `tqdm`
- Optional: `dgl`, `torch`, `torchdata`, `rdflib-hdt`, `neo4j`, `PyYAML`, `pydantic`
---
## 👤 Author
**Bram Steenwinckel** – [bram.steenwinckel@ugent.be](mailto:bram.steenwinckel@ugent.be)
---
## 📄 License
This project is licensed under the MIT License.