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.