{"id":25646150,"url":"https://github.com/geldata/gel","last_synced_at":"2025-05-14T11:08:27.880Z","repository":{"id":37246149,"uuid":"95817032","full_name":"geldata/gel","owner":"geldata","description":"Gel supercharges Postgres with a modern data model, graph queries, Auth \u0026 AI solutions, and much more.","archived":false,"fork":false,"pushed_at":"2025-05-07T02:26:19.000Z","size":71577,"stargazers_count":13638,"open_issues_count":878,"forks_count":415,"subscribers_count":102,"default_branch":"master","last_synced_at":"2025-05-07T10:52:51.491Z","etag":null,"topics":["database","edgedb","edgeql","gel","graph-relational","high-performance","relational-database"],"latest_commit_sha":null,"homepage":"https://geldata.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geldata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-06-29T20:30:48.000Z","updated_at":"2025-05-07T03:37:31.000Z","dependencies_parsed_at":"2023-10-12T01:12:51.061Z","dependency_job_id":"f7f3c738-2ce9-4b7a-88f0-64036ba4f289","html_url":"https://github.com/geldata/gel","commit_stats":{"total_commits":7951,"total_committers":121,"mean_commits":65.7107438016529,"dds":0.8009055464721418,"last_synced_commit":"032b8d80ebac1ab03aae7cb3abaa3f7961f1900a"},"previous_names":["geldata/gel","edgedb/edgedb"],"tags_count":101,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geldata%2Fgel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geldata%2Fgel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geldata%2Fgel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geldata%2Fgel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geldata","download_url":"https://codeload.github.com/geldata/gel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129481,"owners_count":22019628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","edgedb","edgeql","gel","graph-relational","high-performance","relational-database"],"created_at":"2025-02-23T10:02:40.763Z","updated_at":"2025-05-14T11:08:27.837Z","avatar_url":"https://github.com/geldata.png","language":"Python","readme":"\u003c!--\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.geldata.com\"\u003e\n    \u003cimg src=\"https://www.geldata.com/github_banner.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e--\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eGel\u003c/h1\u003e\n  \u003ca href=\"https://github.com/geldata/gel\" rel=\"nofollow\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/geldata/gel\" alt=\"Stars\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/geldata/gel/actions\"\u003e\n    \u003cimg src=\"https://github.com/geldata/gel/workflows/Tests/badge.svg?event=push\u0026branch=master\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/geldata/gel/blob/master/LICENSE\"\u003e\n    \u003cimg alt=\"license\" src=\"https://img.shields.io/badge/license-Apache%202.0-blue\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/umUueND6ag\"\u003e\n    \u003cimg alt=\"discord\" src=\"https://img.shields.io/discord/841451783728529451?color=5865F2\u0026label=discord\u0026logo=discord\u0026logoColor=8a9095\"\u003e\n  \u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://docs.geldata.com/learn/quickstart/overview/nextjs\"\u003eLearn: build an app with Gel\u003c/a\u003e\n  \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n  \u003ca href=\"https://www.geldata.com\"\u003eWebsite\u003c/a\u003e\n  \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n  \u003ca href=\"https://docs.geldata.com\"\u003eDocs\u003c/a\u003e\n  \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n  \u003ca href=\"https://www.geldata.com/blog\"\u003eBlog\u003c/a\u003e\n  \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n  \u003ca href=\"https://discord.gg/gel\"\u003eDiscord\u003c/a\u003e\n  \u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n  \u003ca href=\"https://twitter.com/geldata\"\u003eTwitter\u003c/a\u003e\n  \u003cbr /\u003e\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch2\u003eWhat is Gel?\u003c/h2\u003e\n  \u003cp style=\"max-width: 450px;\"\u003e\n    Gel is a new kind of database\n    \u003cbr/\u003e\n    that takes the best parts of\n    \u003cbr/\u003e\n    relational databases, graph\n    \u003cbr/\u003e\n    databases, and ORMs. We call it\n    \u003cbr/\u003ea \u003cb\u003egraph-relational database\u003c/b\u003e.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003e🧩 Types, not tables 🧩\u003c/h3\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\nSchema is the foundation of your application. It should be something you can\nread, write, and understand.\n\nForget foreign keys; tabular data modeling is a relic of an older age, and it\n[isn't compatible](https://en.wikipedia.org/wiki/Object%E2%80%93relational_impedance_mismatch)\nwith modern languages. Instead, Gel thinks about schema the same way you do:\nas **object types** containing **properties** connected by **links**.\n\n```esdl\ntype Person {\n  required name: str;\n}\n\ntype Movie {\n  required title: str;\n  multi actors: Person;\n}\n```\n\nThis example is intentionally simple, but Gel supports everything you'd\nexpect from your database: a strict type system, indexes, constraints, computed\nproperties, stored procedures...the list goes on. Plus it gives you some shiny\nnew features too: link properties, schema mixins, and best-in-class JSON\nsupport. Read the [schema docs](https://docs.geldata.com/reference/datamodel)\nfor details.\n\n\u003c!-- ### Objects, not rows. ❄️ --\u003e\n\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003e🌳 Objects, not rows 🌳\u003c/h3\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\nGel's super-powered query language EdgeQL is designed as a ground-up\nredesign of SQL. EdgeQL queries produce rich, structured objects, not flat\nlists of rows. Deeply fetching related objects is painless...bye, bye, JOINs.\n\n```esdl\nselect Movie {\n  title,\n  actors: {\n    name\n  }\n}\nfilter .title = \"The Matrix\"\n```\n\nEdgeQL queries are also _composable_; you can use one EdgeQL query as an\nexpression inside another. This property makes things like _subqueries_ and\n_nested mutations_ a breeze.\n\n```esdl\ninsert Movie {\n  title := \"The Matrix Resurrections\",\n  actors := (\n    select Person\n    filter .name in {\n      'Keanu Reeves',\n      'Carrie-Anne Moss',\n      'Laurence Fishburne'\n    }\n  )\n}\n```\n\nThere's a lot more to EdgeQL: a comprehensive standard library, computed\nproperties, polymorphic queries, `with` blocks, transactions, and much more.\nRead the [EdgeQL docs](https://docs.geldata.com/reference/edgeql) for the full\npicture.\n\n\u003cbr/\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003e🦋 More than a mapper 🦋\u003c/h3\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\nWhile Gel solves the same problems as ORM libraries, it's so much more. It's\na full-fledged database with a\n[powerful and elegant query language](https://docs.geldata.com/reference/edgeql), a\n[migrations system](https://docs.geldata.com/learn/migrations), a\n[suite of client libraries](https://docs.geldata.com/reference/clients) in\ndifferent languages, a\n[command line tool](https://docs.geldata.com/learn/cli), and a managed\n[cloud service](https://geldata.com/cloud).\nThe goal is to rethink every aspect of how developers model, migrate,\nmanage, and query their database.\n\nHere's a taste-test of Gel's next-level developer experience: you can\ninstall our CLI, spin up an instance, and open an interactive EdgeQL shell with\njust three commands.\n\n```\n$ curl --proto '=https' --tlsv1.2 -sSf https://geldata.com/sh | sh\n$ edgedb project init\n$ edgedb\nedgedb\u003e select \"Hello world!\"\n```\n\nWindows users: use this Powershell command to install the CLI.\n\n```\nPS\u003e iwr https://geldata.com/ps1 -useb | iex\n```\n\n\u003cbr /\u003e\n\n## Get started\n\nTo start learning about Gel, check out the following resources:\n\n- **[The quickstart](https://docs.geldata.com/learn/quickstart/overview/nextjs)**. If\n  you're just starting out, the 10-minute quickstart guide is the fastest way\n  to get up and running.\n- **[Gel Cloud 🌤️](https://www.geldata.com/cloud)**. The best\n  most effortless way to host your Gel database in the cloud.\n\u003c!--- **[The interactive tutorial](https://www.geldata.com/tutorial)**. For a\n  structured deep-dive into the EdgeQL query language, try the web-based\n  tutorial— no need to install anything.\n The e-book needs to be converted to Gel\n\n- **[The e-book](https://www.edgedb.com/easy-edgedb)**. For the most\n  comprehensive walkthrough of EdgeDB concepts, check out our illustrated\n  e-book [Easy EdgeDB](https://www.edgedb.com/easy-edgedb). It's designed to\n  walk a total beginner through EdgeDB in its entirety, from the basics through\n  advanced concepts.\n--\u003e\n- **The docs.** Jump straight into the docs for\n  [schema modeling](https://docs.geldata.com/reference/datamodel) or\n  [EdgeQL](https://docs.geldata.com/reference/edgeql)!\n\n\u003cbr /\u003e\n\n## Contributing\n\nPRs are always welcome! To get started, follow\n[this guide](https://docs.geldata.com/resources/guides/contributing) to build Gel from\nsource on your local machine.\n\n[File an issue 👉](https://github.com/geldata/gel/issues/new/choose)\n\u003cbr /\u003e\n[Start a Discussion 👉](https://github.com/geldata/gel/discussions/new)\n\u003cbr /\u003e\n[Join the discord 👉](https://discord.gg/gel)\n\n\u003cbr /\u003e\n\n## License\n\nThe code in this repository is developed and distributed under the\nApache 2.0 license. See [LICENSE](LICENSE) for details.\n","funding_links":[],"categories":["Python","HarmonyOS","Data Storage Optimisation"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeldata%2Fgel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeldata%2Fgel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeldata%2Fgel/lists"}