ingestr is a command-line application that ingests data from various sources and stores them in any database.
Project description
Copy data from any source to any destination without any code
ingestr 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.
- ✨ copy data from your database into any destination
- ➕ incremental loading:
append
,merge
ordelete+insert
- 🐍 single-command installation
ingestr 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.
Installation
pip install ingestr
Quickstart
ingestr ingest \
--source-uri 'postgresql://admin:admin@localhost:8837/web?sslmode=disable' \
--source-table 'public.some_data' \
--dest-uri 'bigquery://<your-project-name>?credentials_path=/path/to/service/account.json' \
--dest-table 'ingestr.some_data'
That's it.
This command:
- gets the table
public.some_data
from the Postgres instance. - uploads this data to your BigQuery warehouse under the schema
ingestr
and tablesome_data
.
Documentation
You can see the full documentation here.
Community
Join our Slack community here.
Supported sources & destinations
Source | Destination | |
---|---|---|
Databases | ||
Postgres | ✅ | ✅ |
BigQuery | ✅ | ✅ |
Snowflake | ✅ | ✅ |
Redshift | ✅ | ✅ |
Databricks | ✅ | ✅ |
DuckDB | ✅ | ✅ |
Microsoft SQL Server | ✅ | ✅ |
Local CSV file | ✅ | ✅ |
MongoDB | ✅ | ❌ |
Oracle | ✅ | ❌ |
SAP Hana | ✅ | ❌ |
SQLite | ✅ | ❌ |
MySQL | ✅ | ❌ |
Platforms | ||
Adjust | ✅ | - |
Airtable | ✅ | - |
AppsFlyer | ✅ | - |
Chess.com | ✅ | - |
Facebook Ads | ✅ | - |
Gorgias | ✅ | - |
Google Sheets | ✅ | - |
HubSpot | ✅ | - |
Klaviyo | ✅ | - |
Notion | ✅ | - |
S3 | ✅ | - |
Shopify | ✅ | - |
Slack | ✅ | - |
Stripe | ✅ | - |
Zendesk | ✅ | - |
Feel free to create an issue if you'd like to see support for another source or destination.
Acknowledgements
This project would not have been possible without the amazing work done by the SQLAlchemy and dlt teams. We relied on their work to connect to various sources and destinations, and built ingestr
as a simple, opinionated wrapper around their work.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ingestr-0.10.0rc1.tar.gz
.
File metadata
- Download URL: ingestr-0.10.0rc1.tar.gz
- Upload date:
- Size: 272.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98053d9525bf5ca21176d97a97af13ed98d2cac5b13915d1dad643fd5faf9b8e |
|
MD5 | f97198bd1d0f008cbc34452e9356f94b |
|
BLAKE2b-256 | 30b0910d478a718b55a75db346450a67fc2d490c9d52ff57eb3fd748de49cf1c |
File details
Details for the file ingestr-0.10.0rc1-py3-none-any.whl
.
File metadata
- Download URL: ingestr-0.10.0rc1-py3-none-any.whl
- Upload date:
- Size: 108.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d78ad7959179a774bdd73241a46859d58f2cabee2ffeed76f32c45aadd82a330 |
|
MD5 | 34f8274acfa5e11a7eeaac66bb4fd18d |
|
BLAKE2b-256 | 1ed97633e2837d9b9d255c4ffde55849c38aabc229a5b75d9299f85df58d3659 |