# geldata/gel

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/geldata-gel).**

14,065 stars · 442 forks · Python · apache-2.0

## Links

- GitHub: https://github.com/geldata/gel
- Homepage: https://geldata.com
- awesome-repositories: https://awesome-repositories.com/repository/geldata-gel.md

## Topics

`database` `edgedb` `edgeql` `gel` `graph-relational` `high-performance` `relational-database`

## Description

Gel is an object-relational database system that models data as a graph of interconnected objects. By utilizing a strongly typed schema, it enables complex relational queries and polymorphic data structures without the need for traditional join tables. The system integrates native vector storage and similarity search operators, allowing it to function as both a relational and a vector database for semantic data retrieval.

The platform distinguishes itself through a comprehensive suite of developer-centric automation tools. It features a declarative migration system that tracks and versions schema changes, supporting advanced workflows like schema branching and merging. To ensure application-level reliability, the database introspects its own schema to generate type-safe client libraries and query builders, providing consistent data structures across application code.

Beyond core storage, the system provides extensive capabilities for data modeling, including computed properties, custom scalar types, and complex constraints. It supports versatile query execution, ranging from hierarchical nested data retrieval and atomic transactions to integrated retrieval-augmented generation workflows that connect directly to external language models.

The project is managed through a command-line interface that handles the full lifecycle of database instances, including provisioning, monitoring, and automated backup restoration. It offers flexible connectivity options, supporting both native language-specific drivers and a standardized HTTP-based query protocol.

## Tags

### Data & Databases

- [Database Schema Migrations](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-management/database-schema-migrations.md) — Manages strongly typed schema evolution through automated, versioned migrations. ([source](https://docs.geldata.com/index.md))
- [Database Migrations](https://awesome-repositories.com/f/data-databases/database-migrations.md) — Manages database schema evolution through versioned, incremental migration files generated by comparing local definitions against the current database state.
- [Database Schema Management](https://awesome-repositories.com/f/data-databases/database-schema-management.md) — Defines and evolves complex data structures with automated migrations and type-safe definitions for consistent application development.
- [Object-Oriented Databases](https://awesome-repositories.com/f/data-databases/object-oriented-databases.md) — Models data as a graph of interconnected objects, featuring a strongly typed schema and built-in migration management.
- [Relational Vector Engines](https://awesome-repositories.com/f/data-databases/vector-databases/relational-vector-engines.md) — Integrates native embedding storage and similarity search operators to perform semantic data retrieval alongside standard relational operations.
- [Graph Data Models](https://awesome-repositories.com/f/data-databases/graph-data-models.md) — Structures data as a graph of interconnected objects with properties and links, enabling complex relational queries without traditional join tables.
- [Relational Data Modeling](https://awesome-repositories.com/f/data-databases/relational-data-modeling.md) — Structures complex object graphs with inheritance, polymorphic links, and constraints to represent real-world data relationships efficiently.
- [Type-Safe Client Generators](https://awesome-repositories.com/f/data-databases/type-safe-client-generators.md) — Creates language-specific query builders and type definitions from the database schema to ensure type safety during application development. ([source](https://docs.geldata.com/learn/quickstart/modeling))
- [Type-Safe Database Clients](https://awesome-repositories.com/f/data-databases/type-safe-database-clients.md) — Generates strongly typed client code and query builders from database schemas to prevent runtime errors in application logic.
- [Type-Safe Query Builders](https://awesome-repositories.com/f/data-databases/type-safe-query-builders.md) — Generates language-specific code and query interfaces from database schemas to ensure type safety during application development.
- [Vector Similarity Search](https://awesome-repositories.com/f/data-databases/vector-similarity-search.md) — Enables semantic search by indexing and querying database records using high-dimensional vector embeddings. ([source](https://docs.geldata.com/learn/guides/ai))
- [Atomic Transactions](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/connection-transaction-management/atomic-transactions.md) — Ensures data consistency by grouping multiple operations into atomic transactions with automatic conflict retries. ([source](https://docs.geldata.com/learn/quickstart/working))
- [Database Query Interfaces](https://awesome-repositories.com/f/data-databases/database-query-interfaces.md) — Provides a command-line interface for managing local and remote database instances, executing queries, and automating development workflows.
- [Local Database Development Tools](https://awesome-repositories.com/f/data-databases/local-database-development-tools.md) — Provisions and manages isolated database instances for rapid iteration, testing, and schema prototyping on local machines.
- [Schema Object Definitions](https://awesome-repositories.com/f/data-databases/schema-object-definitions.md) — Models data entities as objects containing properties and links to other objects to represent complex, graph-like relationships. ([source](https://docs.geldata.com/learn/schema))
- [Vector Databases](https://awesome-repositories.com/f/data-databases/vector-databases.md) — Supports semantic search and retrieval-augmented generation by indexing data fields with embedding models.
- [Data Integrity Constraints](https://awesome-repositories.com/f/data-databases/data-integrity-constraints.md) — Applies validation rules to object properties or combinations of fields to ensure data integrity and uniqueness. ([source](https://docs.geldata.com/learn/schema))
- [Scalar Types](https://awesome-repositories.com/f/data-databases/data-type-definitions/scalar-types.md) — Stores primitive values including text, numbers, booleans, dates, and binary data using a comprehensive set of built-in types. ([source](https://docs.geldata.com/reference/datamodel/primitives))
- [Database Branching](https://awesome-repositories.com/f/data-databases/database-branching.md) — Creates isolated database branches to prototype schema modifications without impacting production data. ([source](https://docs.geldata.com/learn/branches))
- [Migration Generation](https://awesome-repositories.com/f/data-databases/migration-generation.md) — Generates interactive, step-by-step migration scripts by comparing local schema definitions against the current database state. ([source](https://docs.geldata.com/learn/migrations))
- [Object-Relational Mapping Associations](https://awesome-repositories.com/f/data-databases/object-relational-mapping-associations.md) — Connects object types to one another with configurable cardinality and exclusivity to model relational associations. ([source](https://docs.geldata.com/learn/schema))
- [Schema Migrations](https://awesome-repositories.com/f/data-databases/schema-migrations.md) — Transforms existing records during schema updates using expressions to ensure data compatibility. ([source](https://docs.geldata.com/learn/migrations))
- [Connection Pooling](https://awesome-repositories.com/f/data-databases/connection-pooling.md) — Maintains a pool of active connections to optimize resource usage and handle multiple concurrent requests efficiently. ([source](https://docs.geldata.com/learn/clients))
- [Custom Data Types](https://awesome-repositories.com/f/data-databases/custom-data-types.md) — Creates custom data types by adding constraints or annotations to existing scalars to enforce specific business logic or validation. ([source](https://docs.geldata.com/reference/datamodel/primitives))
- [Enumeration Types](https://awesome-repositories.com/f/data-databases/data-governance-modeling/data-modeling-schemas/data-schemas/enumeration-types.md) — Restricts properties to a predefined set of allowed values to ensure data consistency and simplify filtering operations. ([source](https://docs.geldata.com/reference/datamodel/primitives))
- [Data Querying Interfaces](https://awesome-repositories.com/f/data-databases/data-querying-interfaces.md) — Retrieves hierarchical data structures and related objects in a single query by specifying the desired result shape. ([source](https://docs.geldata.com/reference))
- [Database Connection Managers](https://awesome-repositories.com/f/data-databases/database-connection-managers.md) — Automatically resolves credentials from environment variables or cloud providers to establish secure and reliable connections to database instances. ([source](https://docs.geldata.com/learn/clients))
- [Query Execution Engines](https://awesome-repositories.com/f/data-databases/query-execution-engines.md) — Supports connecting applications to the database using language-specific drivers or standard HTTP requests for custom code and automated workflows. ([source](https://docs.geldata.com/index.md))
- [Schema Patching and Merging](https://awesome-repositories.com/f/data-databases/schema-definitions/schema-modifiers/schema-patching-and-merging.md) — Integrates schema modifications from development branches into the primary database branch. ([source](https://docs.geldata.com/learn/branches))
- [Storage Instance Management](https://awesome-repositories.com/f/data-databases/storage-instance-management.md) — Creates, configures, and interacts with local or remote database environments using standard system tools and command-line interfaces. ([source](https://docs.geldata.com/learn/installation))
- [Transactional Data Mutations](https://awesome-repositories.com/f/data-databases/transactional-data-mutations.md) — Constructs efficient queries to perform complex, multi-object mutations in a single database round-trip. ([source](https://docs.geldata.com/learn/quickstart/working))
- [Backup & Recovery](https://awesome-repositories.com/f/data-databases/backup-recovery.md) — Reverts local database instances to previous states using automatically generated backups to recover from accidental or destructive modifications. ([source](https://docs.geldata.com/learn/localdev))
- [Database Operations](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-operations.md) — Controls project environments, schema migrations, and database instances through a command-line interface for development and production workflows. ([source](https://docs.geldata.com/index.md))
- [Expression Indexes](https://awesome-repositories.com/f/data-databases/expression-indexes.md) — Optimizes query performance by indexing the results of expressions and functions directly within the database. ([source](https://docs.geldata.com/learn/schema))
- [Pagination](https://awesome-repositories.com/f/data-databases/query-result-fetching/pagination.md) — Navigates large datasets using conditional filtering and offset-based cursors for performant retrieval. ([source](https://docs.geldata.com/reference/using/graphql/graphql))

### Development Tools & Productivity

- [Schema-Driven Code Generators](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/code-generation/schema-driven-code-generators.md) — Introspects database schemas to automatically generate type-safe client libraries and query builders for application-level development.

### Artificial Intelligence & ML

- [Retrieval Augmented Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/language-model-orchestration/retrieval-augmented-generation.md) — Synthesizes coherent responses from database records using integrated language models. ([source](https://docs.geldata.com/learn/guides/ai))
- [Large Language Model Connectors](https://awesome-repositories.com/f/artificial-intelligence-ml/large-language-model-connectors.md) — Connects external AI providers to database records for retrieval-augmented generation workflows. ([source](https://docs.geldata.com/learn/quickstart/ai))

### Software Engineering & Architecture

- [Type Systems](https://awesome-repositories.com/f/software-engineering-architecture/type-systems.md) — Supports abstract object types and inheritance, allowing queries to operate across related entities with shared properties and behaviors.
- [Abstract Data Types](https://awesome-repositories.com/f/software-engineering-architecture/abstract-data-types.md) — Creates reusable schema definitions that bundle common properties and behaviors for inheritance by multiple object types. ([source](https://docs.geldata.com/learn/quickstart/inheritance))
- [Polymorphism](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/object-oriented-foundations/polymorphism.md) — Fetches objects across different types sharing a common base with conditional property selection. ([source](https://docs.geldata.com/learn/edgeql))
- [Schema Composition Libraries](https://awesome-repositories.com/f/software-engineering-architecture/schema-composition-libraries.md) — Shares structure and functionality across object types using inheritance and composition to build complex schemas from reusable components. ([source](https://docs.geldata.com/reference/datamodel/objects))

### DevOps & Infrastructure

- [Self-Hosted Deployment Solutions](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-deployment-solutions.md) — Provisions and hosts database environments across major cloud platforms or via containerized self-hosting solutions. ([source](https://docs.geldata.com/index.md))
- [Database Lifecycle Management](https://awesome-repositories.com/f/devops-infrastructure/database-lifecycle-management.md) — Creates and manages local database environments by handling installation, version selection, and lifecycle operations. ([source](https://docs.geldata.com/learn/instances))

### Security & Cryptography

- [Database Authentication](https://awesome-repositories.com/f/security-cryptography/remote-access-security/database-authentication.md) — Generates and manages secret keys to securely authorize application access to cloud-hosted database instances. ([source](https://docs.geldata.com/cloud))

### User Interface & Experience

- [Computed State Properties](https://awesome-repositories.com/f/user-interface-experience/computed-state-properties.md) — Defines dynamic fields that calculate their values on-the-fly using expressions whenever the data is queried. ([source](https://docs.geldata.com/learn/schema))

### Web Development

- [GraphQL Clients](https://awesome-repositories.com/f/web-development/graphql-clients.md) — Supports standard GraphQL syntax for data retrieval with automatic mapping to the underlying object schema. ([source](https://docs.geldata.com/reference/using/graphql/graphql))
