{"id":13880536,"url":"https://github.com/supabase/wrappers","last_synced_at":"2026-02-12T01:47:21.474Z","repository":{"id":64185583,"uuid":"558211706","full_name":"supabase/wrappers","owner":"supabase","description":"Postgres Foreign Data Wrapper development framework in Rust.","archived":false,"fork":false,"pushed_at":"2025-04-10T14:36:34.000Z","size":7087,"stargazers_count":641,"open_issues_count":30,"forks_count":62,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-04-11T00:52:59.362Z","etag":null,"topics":["database","foreign-data-wrapper","postgres","postgresql","postgresql-extension","rust"],"latest_commit_sha":null,"homepage":"http://fdw.dev","language":"Rust","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/supabase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"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},"funding":{"github":["supabase"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2022-10-27T05:17:52.000Z","updated_at":"2025-04-10T07:23:32.000Z","dependencies_parsed_at":"2023-11-29T05:26:40.985Z","dependency_job_id":"a96764ae-2701-47a7-b754-83fd6c254658","html_url":"https://github.com/supabase/wrappers","commit_stats":{"total_commits":684,"total_committers":39,"mean_commits":17.53846153846154,"dds":0.5116959064327485,"last_synced_commit":"d6fe279fde3f8ca635a9437d0292391399412e29"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase%2Fwrappers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase%2Fwrappers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase%2Fwrappers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase%2Fwrappers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supabase","download_url":"https://codeload.github.com/supabase/wrappers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248322609,"owners_count":21084336,"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","foreign-data-wrapper","postgres","postgresql","postgresql-extension","rust"],"created_at":"2024-08-06T08:03:08.274Z","updated_at":"2026-02-12T01:47:21.469Z","avatar_url":"https://github.com/supabase.png","language":"Rust","readme":"# Wrappers\n\n`Wrappers` is a development framework for Postgres Foreign Data Wrappers ([FDW](https://wiki.postgresql.org/wiki/Foreign_data_wrappers)), written in Rust. Its goal is to make Postgres FDW development easier while keeping Rust language's modern capabilities, such as high performance, strong types, and safety.\n\n`Wrappers` is also a collection of FDWs built by [Supabase](https://www.supabase.com). We currently support the following FDWs, with more under development:\n\n| FDW                                             | Description                                                                   | Read | Modify |\n| ----------------------------------------------- | ----------------------------------------------------------------------------- | ---- | ------ |\n| [AWS Cognito](./wrappers/src/fdw/cognito_fdw)   | A FDW for [AWS Cognito](https://aws.amazon.com/cognito/)                      | ✅   | ❌     |\n| [Airtable](./wrappers/src/fdw/airtable_fdw)     | A FDW for [Airtable](https://airtable.com/) API                               | ✅   | ❌     |\n| [Apache Iceberg](./wrappers/src/fdw/iceberg_fdw)| A FDW for [Apache Iceberg](https://iceberg.apache.org/)                       | ✅   | ❌     |\n| [Auth0](./wrappers/src/fdw/auth0_fdw)           | A FDW for [Auth0](https://auth0.com/)                                         | ✅   | ❌     |\n| [BigQuery](./wrappers/src/fdw/bigquery_fdw)     | A FDW for Google [BigQuery](https://cloud.google.com/bigquery)                | ✅   | ✅     |\n| [Calendly](./wasm-wrappers/fdw/calendly_fdw)    | A Wasm FDW for [Calendly](https://www.calendly.com/)                          | ✅   | ❌     |\n| [Cal.com](./wasm-wrappers/fdw/cal_fdw)          | A Wasm FDW for [Cal.com](https://www.cal.com/)                                | ✅   | ❌     |\n| [Clerk](./wasm-wrappers/fdw/clerk_fdw)          | A Wasm FDW for [Clerk](https://www.clerk.com/)                                | ✅   | ❌     |\n| [Clickhouse](./wrappers/src/fdw/clickhouse_fdw) | A FDW for [ClickHouse](https://clickhouse.com/)                               | ✅   | ✅     |\n| [Cloudflare D1](./wasm-wrappers/fdw/cfd1_fdw)   | A Wasm FDW for [Cloudflare D1](https://developers.cloudflare.com/d1/)         | ✅   | ✅     |\n| [DuckDB](./wrappers/src/fdw/duckdb_fdw)         | A FDW for [DuckDB](https://duckdb.org/)                                       | ✅   | ❌     |\n| [Firebase](./wrappers/src/fdw/firebase_fdw)     | A FDW for Google [Firebase](https://firebase.google.com/)                     | ✅   | ❌     |\n| [HelloWorld](./wrappers/src/fdw/helloworld_fdw) | A demo FDW to show how to develop a basic FDW.                                |      |        |\n| [HubSpot](./wasm-wrappers/fdw/hubspot_fdw)      | A Wasm FDW for [HubSpot](https://www.hubspot.com/)                            | ✅   | ❌     |\n| [Infura](./wasm-wrappers/fdw/infura_fdw)        | A Wasm FDW for [Infura](https://www.infura.io/) blockchain data               | ✅   | ❌     |\n| [Logflare](./wrappers/src/fdw/logflare_fdw)     | A FDW for [Logflare](https://logflare.app/)                                   | ✅   | ❌     |\n| [Notion](./wasm-wrappers/fdw/notion_fdw)        | A Wasm FDW for [Notion](https://www.notion.so/)                               | ✅   | ❌     |\n| [OpenAPI](./wasm-wrappers/fdw/openapi_fdw)      | A Wasm FDW for any [OpenAPI](https://www.openapis.org/) 3.0+ REST API         | ✅   | ❌     |\n| [Orb](./wasm-wrappers/fdw/orb_fdw)              | A Wasm FDW for [Orb](https://www.withorb.com/)                                | ✅   | ❌     |\n| [Paddle](./wasm-wrappers/fdw/paddle_fdw)        | A Wasm FDW for [Paddle](https://www.paddle.com/)                              | ✅   | ✅     |\n| [Redis](./wrappers/src/fdw/redis_fdw)           | A FDW for [Redis](https://redis.io/)                                          | ✅   | ❌     |\n| [S3](./wrappers/src/fdw/s3_fdw)                 | A FDW for [AWS S3](https://aws.amazon.com/s3/)                                | ✅   | ❌     |\n| [S3 Vectors](./wrappers/src/fdw/s3vectors_fdw)  | A FDW for [AWS S3 Vectors](https://aws.amazon.com/s3/features/vectors/)       | ✅   | ✅     |\n| [SQL Server](./wrappers/src/fdw/mssql_fdw)      | A FDW for [Microsoft SQL Server](https://www.microsoft.com/en-au/sql-server/) | ✅   | ❌     |\n| [Slack](./wasm-wrappers/fdw/slack_fdw)          | A Wasm FDW for [Slack](https://www.slack.com/)                                | ✅   | ❌     |\n| [Snowflake](./wasm-wrappers/fdw/snowflake_fdw)  | A Wasm FDW for [Snowflake](https://www.snowflake.com/)                        | ✅   | ✅     |\n| [Stripe](./wrappers/src/fdw/stripe_fdw)         | A FDW for [Stripe](https://stripe.com/) API                                   | ✅   | ✅     |\n\n### Warning\n\nRestoring a logical backup of a database with a materialized view using a foreign table can fail. For this reason, either do not use foreign tables in materialized views or use them in databases with physical backups enabled.\n\n## Features\n\n- Minimum interface and easy to implement.\n- Support for rich data types.\n- Support both sync and async backends, such as RDBMS, RESTful APIs, flat files and etc.\n- Built on top of [pgrx](https://github.com/tcdi/pgrx), providing higher level interfaces, without hiding lower-level C APIs.\n- `WHERE`, `ORDER BY`, `LIMIT` pushdown are supported.\n\n## Documentation\n\n- [Usage Docs](https://fdw.dev/)\n- [Developer Docs (docs.rs)](https://docs.rs/supabase-wrappers/latest/supabase_wrappers/)\n\n## Installation\n\n`Wrappers` is a pgrx extension, you can follow the [pgrx installation steps](https://github.com/tcdi/pgrx#system-requirements) to install Wrappers.\n\nBasically, run below command to install FDW after `pgrx` is installed. For example,\n\n```bash\ncargo pgrx install --pg-config [path_to_pg_config] --features stripe_fdw\n```\n\n## Developing a FDW\n\nVisit [Wrappers Docs](https://fdw.dev/) for more details.\n\n## License\n\n[Apache License Version 2.0](./LICENSE)\n\n[![crates.io badge](https://img.shields.io/crates/v/supabase-wrappers.svg)](https://crates.io/crates/supabase-wrappers)\n[![docs.rs badge](https://docs.rs/supabase-wrappers/badge.svg)](https://docs.rs/supabase-wrappers)\n[![Test Status](https://img.shields.io/github/actions/workflow/status/supabase/wrappers/test_wrappers.yml?branch=main\u0026label=test)](https://github.com/supabase/wrappers/actions/workflows/test_wrappers.yml)\n[![MIT/Apache-2 licensed](https://img.shields.io/crates/l/supabase-wrappers.svg)](./LICENSE)\n[![Contributors](https://img.shields.io/github/contributors/supabase/wrappers)](https://github.com/supabase/wrappers/graphs/contributors)\n","funding_links":["https://github.com/sponsors/supabase"],"categories":["Rust","rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupabase%2Fwrappers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupabase%2Fwrappers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupabase%2Fwrappers/lists"}