Skip to main content

GBT (Graph Build Tool) - A framework for coordinating and synchronizing graph-structured data.

Project description

GBT Logo

Graph Build Tool (GBT)

📖 What is GBT?

Graph Build Tool (GBT) is a transformative workflow framework designed specifically for graph databases, beginning with Neo4j. Inspired by modern analytics engineering practices, GBT brings software engineering principles—such as declarative configurations, modularity, templatization, and version control—into graph data engineering.

Purpose: GBT empowers data engineers, graph developers, and analysts to build, maintain, and document graph schemas (DDL) and transform graph data (DML) reliably and efficiently. By defining your graph structures in YAML and your transformations in templated Cypher/SQL, GBT reduces complexity and standardizes graph deployments.


🚀 Getting Started

Installation

Install gbt-core utilizing pip or your favorite Python package manager. To include Neo4j connector capabilities, install with the neo4j extra:

pip install "gbt-core[neo4j]"

If you are using Poetry (as used in this repository):

poetry add "gbt-core[neo4j]"

Quick Start

  1. Initialize a Project: Set up your project structure. (See example/ for a reference structure including gbt_project.yaml and profiles.yaml).
  2. Define Models: Create your node and relationship models inside the models/ directory using Cypher, SQL, and YAML schemas.
  3. Run Transformations: Execute the CLI commands to parse, compile, and run your graph models:
gbt compile
gbt run

🏗 Architecture

Architecture Flow


✨ Current Features

  • Neo4j Native Integration: A robust Neo4j connector capable of handling complex executions seamlessly.
  • DDL Engine: Automated Schema Management supporting label operations, index creation, and constraint management defined purely in YAML configurations.
  • DML Engine: Dynamic data manipulation supporting various materialization strategies including node/relationship append, delete, and merge.
  • Jinja2 Templating: Leverage Jinja templates (.cypher.j2) to build dynamic, reusable, and modular Cypher queries.
  • Manifest Parser: Advanced compiler that resolves lineage, macros, and dependencies across your gbt project into a unified manifest model.
  • Command Line Interface (CLI): Intuitive CLI application providing core commands like gbt compile and gbt run.

🔮 Future Developments

The journey doesn't stop here. The future roadmap for GBT includes:

  • Multi-Graph Database Support: Expanding connector capabilities to AWS Neptune, Memgraph, TigerGraph, and more.
  • Data Testing & Quality Checks: Declarative testing to enforce unique entity constraints, relationship existence, and property data-type validations.
  • Automated Data Lineage UI: A visual dashboard to explore the dependency graphs (DAG) of the models and relationships.
  • Plugin & Macro Ecosystem: A package management system allowing the community to share reusable graph algorithm configurations, macros, and transformations.
  • Orchestration Integrations: Native hooks and operators for popular orchestrators like Apache Airflow, Prefect, and Dagster.
  • Advanced CI/CD Features: Enhanced slim-CI runs and automatic deployment states.

Project details


Download files

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

Source Distribution

gbt_core-0.1.1.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

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

gbt_core-0.1.1-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file gbt_core-0.1.1.tar.gz.

File metadata

  • Download URL: gbt_core-0.1.1.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.14.2 Darwin/23.4.0

File hashes

Hashes for gbt_core-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c5de8bec42a20393dd664b9f5d3c8113a7b3f90c1428d33c552fd0df4280546a
MD5 7dcefbfa9f3f5b9d01a8b46955cb6a99
BLAKE2b-256 ee29d089fadd09f6e30a11fd090be3bfbe12844926a26729a21647003cce6cfd

See more details on using hashes here.

File details

Details for the file gbt_core-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gbt_core-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 27.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.14.2 Darwin/23.4.0

File hashes

Hashes for gbt_core-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 387c05732047728952cbbbdee00fdd81418e2fe6108331bf90cb0d29b86f5a6e
MD5 1501f311b562f93e5313804a766fe44b
BLAKE2b-256 3d8697229d35046bf649781800b44398786cb792c64ff09d237c7314aa7922c7

See more details on using hashes here.

Supported by

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