[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73243":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":39,"lastSyncTime":40,"discoverSource":41},73243,"ingestr","bruin-data\u002Fingestr","bruin-data","ingestr is a CLI tool to copy data between any databases with a single command seamlessly.","https:\u002F\u002Fgetbruin.com\u002Fdocs\u002Fingestr\u002F",null,"Go",3709,132,17,8,0,16,223,245,48,28.37,false,"main",true,[26,27,28,29,30,31,32,33,34,35],"bigquery","copy-database","data-ingestion","data-integration","data-pipeline","duckdb","ingestion-pipeline","mssql","postgresql","snowflake","2026-06-12 02:03:10","\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fbruin-data\u002Fingestr\u002Fblob\u002Fmain\u002Fresources\u002Fingestr.svg?raw=true\" width=\"500\" \u002F>\n    \u003Cp>Copy data from any source to any destination without any code\u003C\u002Fp>\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fbruin-data\u002Fingestr\u002Fblob\u002Fmain\u002Fresources\u002Fdemo.gif?raw=true\" width=\"750\" \u002F>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\" style=\"margin-top: 24px;\">\n  \u003Ca target=\"_blank\" href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fbruindatacommunity\u002Fshared_invite\u002Fzt-2dl2i8foy-bVsuMUauHeN9M2laVm3ZVg\" style=\"background:none\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-join-dlt.svg?color=d95f5f&logo=slack\" style=\"width: 180px;\"  \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n---\n\ningestr is a command-line app that allows you to ingest data from any source into any destination using simple command-line flags, no code necessary.\n\n- ✨ copy data from your database into any destination\n- ➕ incremental loading: `append`, `merge` or `delete+insert`\n- 🐍 single-command installation\n\ningestr takes away the complexity of managing any backend or writing any code for ingesting data, simply run the command and watch the data land on its destination.\n\n## Installation\nWe recommend using [uv](https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fuv) to run `ingestr`.\n\n```\npip install uv\nuvx ingestr\n```\n\nAlternatively, if you'd like to install it globally:\n```\nuv pip install --system ingestr\n```\n\nWhile installation with vanilla `pip` is possible, it's an order of magnitude slower.\n\n## Quickstart\n\n```bash\ningestr ingest \\\n    --source-uri 'postgresql:\u002F\u002Fadmin:admin@localhost:8837\u002Fweb?sslmode=disable' \\\n    --source-table 'public.some_data' \\\n    --dest-uri 'bigquery:\u002F\u002F\u003Cyour-project-name>?credentials_path=\u002Fpath\u002Fto\u002Fservice\u002Faccount.json' \\\n    --dest-table 'ingestr.some_data'\n```\n\nThat's it.\n\nThis command:\n\n- gets the table `public.some_data` from the Postgres instance.\n- uploads this data to your BigQuery warehouse under the schema `ingestr` and table `some_data`.\n\n## Documentation\n\nYou can see the full documentation [here](https:\u002F\u002Fbruin-data.github.io\u002Fingestr\u002Fgetting-started\u002Fquickstart.html).\n\n## Community\n\nJoin our Slack community [here](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fbruindatacommunity\u002Fshared_invite\u002Fzt-2dl2i8foy-bVsuMUauHeN9M2laVm3ZVg).\n\n## Contributing\n\nPull requests are welcome. However, please open an issue first to discuss what you would like to change. We maybe able to offer you help and feedback regarding any changes you would like to make.\n\n> [!NOTE]\n> After cloning `ingestr` make sure to run `make setup` to install githooks.\n\n## Supported sources & destinations\n\u003Ctable>\n    \u003Ctr>\n        \u003Cth>\u003C\u002Fth>\n        \u003Cth>Source\u003C\u002Fth>\n        \u003Cth>Destination\u003C\u002Fth>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd colspan=\"3\" style='text-align:center;'>\u003Cstrong>Databases\u003C\u002Fstrong>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>BigQuery\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>ClickHouse\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>CrateDB\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Databricks\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>IBM Db2\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>DuckDB\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>DynamoDB\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Elasticsearch\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n     \u003Ctr>\n        \u003Ctd>GCP Spanner\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Local CSV file\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Microsoft SQL Server\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>MongoDB\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>MotherDuck\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>MySQL\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>❌\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Oracle\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>❌\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Postgres\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n     \u003Ctr>\n        \u003Ctd>Redshift\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>SAP Hana\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>❌\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Snowflake\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>SQLite\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Trino\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd colspan=\"3\" style='text-align:center;'>\u003Cstrong>Platforms\u003C\u002Fstrong>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n        \u003Ctd>Adjust\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003Ctr>\n        \u003Ctd>Airtable\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Amazon Kinesis\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Apache Kafka\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>AppsFlyer\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>App Store\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Asana\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Attio\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Chess.com\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Facebook Ads\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>GitHub\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Gorgias\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Google Sheets\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Google Ads\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Google Analytics\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n     \u003Ctr>\n        \u003Ctd>Klaviyo\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>LinkedIn Ads\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Notion\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Personio\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n     \u003Ctr>\n        \u003Ctd>Phantombuster\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Pipedrive\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n     \u003Ctr>\n        \u003Ctd>S3\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Salesforce\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Shopify\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n     \u003Ctr>\n        \u003Ctd>Slack\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Smartsheets\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Solidgate\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Stripe\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>TikTok Ads\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n        \u003Ctd>Zendesk\u003C\u002Ftd>\n        \u003Ctd>✅\u003C\u002Ftd>\n        \u003Ctd>-\u003C\u002Ftd>\n    \u003C\u002Ftr>\n\u003C\u002Ftable>\n\nFeel free to create an issue if you'd like to see support for another source or destination.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\nSome components are licensed under Apache 2.0 - see the NOTICE file for details.\n\n","ingestr 是一个命令行工具，用于在不同数据库之间无缝复制数据。它支持多种数据库作为数据源和目标，包括BigQuery、ClickHouse、CrateDB等，并且提供了增量加载功能（追加、合并或删除+插入）。用户无需编写任何代码，只需通过简单的命令行参数即可完成数据迁移。这使得ingestr非常适合需要快速简便地进行数据集成与迁移的场景，如数据仓库建设、数据迁移项目或是日常的数据同步任务。",2,"2026-06-11 03:44:41","high_star"]