bruin-data/ingestr

ingestr is a CLI tool to copy data between any databases with a single command seamlessly.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 42 minutes ago
Added to GitGenius on September 17th, 2026
Created on February 12th, 2024
Open Issues & Pull Requests: 22 (+0)
GitHub issues: Enabled
Number of forks: 153
Total Stargazers: 3,968 (+0)
Total Subscribers: 16 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.8 hours
Mean response time: 22.5 days
90th percentile: 12.8 days
Tracked items: 85

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 14% of issues opened in the past year have never received a reply. 80% of issues opened in the past year have been closed, leaving a working backlog. Three people close 81% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 14
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 58 days
Stale 30+ days: 1
Stale 90+ days: 1

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Detailed Description

ingestr is a command-line tool for copying data between databases without writing code.

The tool solves the problem of moving data across different database systems by providing a single command interface that handles the complexity of connecting to source and destination databases, extracting data, and loading it to the target. It supports incremental loading strategies including append, merge, and delete-plus-insert patterns, allowing users to control how data is written to the destination. The approach requires only command-line flags specifying source and destination connection URIs and table names, with no custom code needed.

The tool suits teams and individuals who need to move data between heterogeneous database systems without building custom ETL logic. It works well for one-off data migrations, regular ingestion pipelines, and scenarios where speed of implementation matters more than deep customization. The project also provides a Python SDK, allowing data ingestion from Python objects like DataFrames, generators, and rows by sending them as Arrow IPC streams to the CLI binary. This makes it useful within Python-based data workflows where you want to push data to external databases without leaving your Python environment.

The project shows consistent maintenance with regular updates addressing bugs and adding features. Pull requests are actively reviewed with maintainers offering feedback before changes are merged. The codebase includes automated setup procedures for contributors, indicating attention to developer experience for those wanting to extend the tool.