{"id":13466332,"url":"https://github.com/electric-sql/electric","last_synced_at":"2026-04-29T19:01:40.295Z","repository":{"id":62057339,"uuid":"498766488","full_name":"electric-sql/electric","owner":"electric-sql","description":"Read-path sync engine for Postgres that handles partial replication, data delivery and fan-out.","archived":false,"fork":false,"pushed_at":"2026-04-23T14:30:17.000Z","size":225899,"stargazers_count":10095,"open_issues_count":275,"forks_count":321,"subscribers_count":52,"default_branch":"main","last_synced_at":"2026-04-23T14:32:41.580Z","etag":null,"topics":["crdt","crdts","elixir","local-first","offline","postgres","replication","sql","sqlite","sync"],"latest_commit_sha":null,"homepage":"https://electric-sql.com","language":"Elixir","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/electric-sql.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":"CLA.md"}},"created_at":"2022-06-01T14:18:11.000Z","updated_at":"2026-04-23T14:30:23.000Z","dependencies_parsed_at":"2023-12-17T23:25:36.450Z","dependency_job_id":"e1dd2af4-35c4-41f0-80e0-cfd7b46ccb51","html_url":"https://github.com/electric-sql/electric","commit_stats":{"total_commits":310,"total_committers":22,"mean_commits":"14.090909090909092","dds":0.8354838709677419,"last_synced_commit":"5cd4a9595f86199ebc6ea1039152025de75859cb"},"previous_names":[],"tags_count":548,"template":false,"template_full_name":null,"purl":"pkg:github/electric-sql/electric","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electric-sql%2Felectric","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electric-sql%2Felectric/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electric-sql%2Felectric/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electric-sql%2Felectric/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electric-sql","download_url":"https://codeload.github.com/electric-sql/electric/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electric-sql%2Felectric/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32418174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["crdt","crdts","elixir","local-first","offline","postgres","replication","sql","sqlite","sync"],"created_at":"2024-07-31T15:00:42.567Z","updated_at":"2026-04-29T19:01:40.274Z","avatar_url":"https://github.com/electric-sql.png","language":"Elixir","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://electric-sql.com\" target=\"_blank\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\"\n          srcset=\"https://raw.githubusercontent.com/electric-sql/meta/main/identity/ElectricSQL-logo-next.svg\"\n      /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\"\n          srcset=\"https://raw.githubusercontent.com/electric-sql/meta/main/identity/ElectricSQL-logo-black.svg\"\n      /\u003e\n      \u003cimg alt=\"ElectricSQL logo\"\n          src=\"https://raw.githubusercontent.com/electric-sql/meta/main/identity/ElectricSQL-logo-black.svg\"\n      /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/electric-sql/electric/actions\"\u003e\u003cimg src=\"https://github.com/electric-sql/electric/actions/workflows/elixir_tests.yml/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/electric-sql/electric/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-Apache_2.0-green\" alt=\"License - Apache 2.0\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://electric-sql.com/blog/2025/03/17/electricsql-1.0-released\"\u003e\u003cimg src=\"https://img.shields.io/badge/status-1.0-green\" alt=\"Status - Beta\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.electric-sql.com\"\u003e\u003cimg src=\"https://img.shields.io/discord/933657521581858818?color=5969EA\u0026label=discord\" alt=\"Chat - Discord\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://x.com/ElectricSQL\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/ElectricSQL.svg?style=social\u0026label=Follow @ElectricSQL\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# Electric \u003c!-- omit in toc --\u003e\n\nReal-time sync for Postgres.\n\n**Table of Contents:**\n\n- [Quick links](#quick-links)\n- [What is Electric?](#what-is-electric)\n- [Getting Started](#getting-started)\n- [HTTP API Docs](#http-api-docs)\n- [Developing Electric](#developing-electric)\n  - [Mac setup](#mac-setup)\n- [Contributing](#contributing)\n- [Support](#support)\n\n## Quick links\n\n- [Quickstart](https://electric-sql.com/docs/quickstart)\n- [Website](https://electric-sql.com)\n- [About](https://electric-sql.com/about)\n- [Docs](https://electric-sql.com/docs)\n- [Demos](https://electric-sql.com/demos) (also see the [`./examples` folder](./examples))\n\n## What is Electric?\n\nSync is the magic ingredient behind fast, modern software. From apps like Figma and Linear to AI agents running on live local data.\n\nElectric is a Postgres sync engine. It solves the hard problems of sync for you, including partial replication, fan-out, and data delivery. So you can build awesome software, without rolling your own sync.\n\nSpecifically, Electric is a read-path sync engine for Postgres. It syncs data out of Postgres into ... anything you like. The core sync protocol is based on a low-level [HTTP API](https://electric-sql.com/docs/api/http). This integrates with CDNs for highly-scalable data delivery.\n\nPartial replication is managed using [Shapes](https://electric-sql.com/docs/guides/shapes). Sync can be consumed directly or via [client libraries](https://electric-sql.com/docs/api/clients/typescript) and [framework integrations](https://electric-sql.com/docs/api/integrations/react).\n\n## Getting Started\n\nSee the [Quickstart guide](https://electric-sql.com/docs/quickstart) to get up and running. In short, you need to:\n\n1. have a Postgres database with logical replication enabled; and then to\n2. run Electric in front of it, connected via `DATABASE_URL`\n\nFor example, using [Docker Compose](https://docs.docker.com/compose/) from the root of this repo:\n\n```sh\ndocker compose -f .support/docker-compose.yml up\n```\n\nYou can then use the [HTTP API](https://electric-sql.com/docs/api/http) to sync data from your Postgres. For example, to start syncing the whole `foo` table:\n\n```sh\ncurl -i 'http://localhost:3000/v1/shape?table=foo\u0026offset=-1'\n```\n\nOr use one of the clients or integrations, such as the [`useShape`](https://electric-sql.com/docs/api/integrations/react) React hook:\n\n```jsx\nimport { useShape } from \"@electric-sql/react\"\n\nfunction Component() {\n  const { data } = useShape({\n    url: `http://localhost:3000/v1/shape`,\n    params: {\n      table: `foo`,\n      where: `title LIKE 'foo%'`,\n    },\n  })\n\n  return JSON.stringify(data)\n}\n```\n\nAgain, see the [Quickstart](https://electric-sql.com/docs/quickstart) and the [Docs](https://electric-sql.com) for more details.\n\n## HTTP API Docs\n\nThe HTTP API is defined in an [OpenAPI spec](https://swagger.io/specification/) in [website/electric-api.yaml](./website/electric-api.yaml).\n\n## Developing Electric\n\nWe use [asdf](https://asdf-vm.com/) to install Elixir, Erlang, and Node.js. Versions are defined in [.tool-versions](.tool-versions).\n\n### Mac setup\n\n```sh\nbrew install asdf\nasdf plugin-add nodejs elixir erlang\nasdf install\n```\n\nYou'll probably need to fiddle with your bash/zsh/etc rc file to load the right tool into your environment.\n\n## Contributing\n\nSee the:\n\n- [Guide to Contributing](https://github.com/electric-sql/electric/blob/main/CONTRIBUTING.md)\n- [Contributor License Agreement](https://github.com/electric-sql/electric/blob/main/CLA.md)\n- [Community Guidelines](https://github.com/electric-sql/electric/blob/main/CODE_OF_CONDUCT.md)\n\n## Support\n\nWe have an [open community Discord](https://discord.electric-sql.com). Come and say hello and let us know if you have any questions or need any help getting things running.\n\nIt's also super helpful if you leave the project a star here at the [top of the page☝️](#start-of-content)\n","funding_links":[],"categories":["Elixir","🌐 Web Development - Frontend","sqlite"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectric-sql%2Felectric","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectric-sql%2Felectric","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectric-sql%2Felectric/lists"}