Skip to main content

ReDeLEx

website PyPI version License: MIT

ReDeLEx (Relational Deep Learning Exploration) is a Python framework for the development and evaluation of Relational Deep Learning (RDL) models. It enables end-to-end experimentation with graph-based neural networks on relational databases (RDBs), building on the CTU Relational Learning Repository and fully integrating with the RelBench interface.

It provides tools to transform SQL databases into heterogeneous graph representations suitable for Graph Neural Networks (GNNs), supports both static and temporal tasks, and enables a structured comparison across classical and deep learning models.

🧠 Features

  • ✅ Supports direct SQL database connectivity (local or remote RDBMS)
  • 🔗 Transforms relational schemas into heterogeneous graphs
  • 🧩 Automates attribute type inference and encoding (categorical, numerical, text, time)
  • 📦 Provides access to 70+ relational datasets from the CTU Repository
  • 🧪 Supports benchmarking tasks including binary/multiclass classification, temporal tasks, and pretraining
  • 🧠 Compatible with diverse neural architectures (e.g., GraphSAGE, Transformer-based models)
  • 📊 Evaluates classical ML models (e.g., LightGBM, Propositionalization) alongside RDL models

📦 Installation

Install ReDeLEx via pip:

pip install redelex

If you're using RelBench, the CTU datasets are automatically supported.

🚀 Quickstart

Loading CTU datasets

Using RelBench interface:

from relbench.datasets import get_dataset
import redelex

dataset = get_dataset('ctu-seznam')
db = dataset.get_db()

Using ReDeLEx directly:

from redelex import datasets as ctu_datasets

dataset = ctu_datasets.Seznam()
db = dataset.get_db()

Loading a custom SQL database

from redelex.datasets import DBDataset

custom_dataset = DBDataset(
    dialect="mariadb",  # e.g. postgresql, sqlite, mysql
    driver="mysqlconnector",
    user="your_user",
    password="your_password",
    host="your_host",
    port=3306,
    database="your_database"
)

db = custom_dataset.get_db(upto_test_timestamp=False)

Note: For full examples of task and schema configuration, see examples in ctu_datasets.py.

📚 Tasks & Use Cases

ReDeLEx supports:

  • Node-level prediction (static or temporal)
  • Link prediction
  • Pretraining tasks via value masking
  • Database modification for complex task generation

Each task is backed by a training table and optionally a temporal schema.

🏗️ Architecture

RDL models in ReDeLEx are modular and consist of:

  1. Attribute encoders for tabular data
  2. Tabular models (optional, e.g. ResNet)
  3. Graph Neural Network layers
  4. Task-specific heads (e.g. MLP classifiers)

Supported model examples include:

  • Linear SAGE
  • Tabular ResNet + GraphSAGE
  • DBFormer (Transformer-based)

📈 Experiments

ReDeLEx includes tools for:

  • Selecting RDL-suitable datasets based on structure and size
  • Comparing RDL with traditional ML and propositionalization
  • Benchmarking across 70+ relational datasets from various domains

For experimental results and performance benchmarks, see the ECML PKDD 2025 paper (coming soon).

⚙️ Development

Install uv (recommended for managing environments)

  • macOS & Linux
wget -qO- https://astral.sh/uv/install.sh | sh
  • Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

More info: https://docs.astral.sh/uv/getting-started/installation/

Install dependencies

CPU:

uv sync
uv pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+cpu.html

CUDA 12.8:

uv sync --no-group cpu --group cu128
uv pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.8.0+cu128.html

CUDA 12.4 (Old CUDA env):

uv sync --no-group cpu --group cu124
uv pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+cu124.html

CUDA 12.1 (RCI Setup):

uv sync --no-group cpu --group cu121
uv pip install pyg_lib==0.3.1 torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.1.2+cu121.html

Enable and run pre-commit

uv run pre-commit install
uv run pre-commit run

Database schema visualizations

Visualizations run on Graphviz, which needs to be available on your system.

📜 Citation

If you use ReDeLEx in your work, please cite:

@misc{peleska2025redelex,
  title={REDELEX: A Framework for Relational Deep Learning Exploration},
  author={Jakub Peleška and Gustav Šír},
  year={2025},
  eprint={2506.22199},
  archivePrefix={arXiv},
  primaryClass={cs.LG},
  url={https://arxiv.org/abs/2506.22199},
}

📎 Acknowledgements

This project has received funding from the European Union’s Horizon Europe program under the grant agreement TUPLES No. 101070149, and the Czech Science Foundation grant No. 24-11664S.

Metadata

Release files for redelex 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for redelex 0.6.2
File Size Uploaded
redelex-0.6.2.tar.gz 66.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for redelex 0.6.2
File Interpreter ABI Platform
redelex-0.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 153.0 kB

Release files / redelex-0.6.2.tar.gz

Download URL redelex-0.6.2.tar.gz
Size 66.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a2c1309e0bdd039b1278ebc9a2222b9dfb6fcb89bcc6cdecf623e6e25586283c
BLAKE2b-256 checksum
How to use checksums
8774f02d5e407ce4e9fbd04afd40840f62498e0c3361f0cee5d919a3aa49dc79
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 Mar 27, 2026.

Transparency log

Release files / redelex-0.6.2-py3-none-any.whl

Download URL redelex-0.6.2-py3-none-any.whl
Size 86.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b60d9a8bbe455992e8f4bde52bd8208e6f9d7d22e2b58950c968e7d264accf4
BLAKE2b-256 checksum
How to use checksums
dd4faaf23ccfc045991c5b9499d4385254dc248c53f6a99856a34b95bd0db5b5
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 Mar 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page