| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Problem:
Have you faced issues inserting data into databases? Constant schema mismatch errors, incorrect data types, manual checks, and even silent data corruption? If you work with large ETL pipelines and databases, you know how painful it can be.
Solution:
Insert Tools is a robust and flexible tool designed for safe and fast data insertion into databases — starting with ClickHouse. It validates schema by column names (not by order), supports automatic type casting, and lets you dry-run your inserts before touching real data. Perfect for ETL pipelines where target table schemas evolve frequently.
pip install insert-toolsTo install for development:
pip install -e .[dev]from insert_tools.runner import InsertConfig, run_insert
config = InsertConfig(
host="localhost",
database="default",
target_table="my_table",
select_sql="SELECT * FROM source_table",
user="default",
password="admin123",
allow_type_cast=True,
strict_column_match=True
)
run_insert(config)insert-tools \
--host localhost \
--port 8123 \
--user default \
--password admin123 \
--database default \
--target_table my_table \
--select_sql "SELECT * FROM source_table" \
--allow_type_cast \
--strict \
--dry-run \
--verbosepytest -v --cov=insert_tools tests/Integration tests are supported via Docker (docker-compose.yml).
Planned and upcoming features:
| Parameter | Description | Required |
|---|---|---|
| host | ClickHouse server hostname | ✅ |
| port | ClickHouse server port | ❌ |
| user | ClickHouse user | ❌ |
| password | ClickHouse password | ❌ |
| database | Target database | ✅ |
| target_table | Target table name | ✅ |
| select_sql | SQL query to fetch data | ✅ |
| allow_type_cast | Allow type casting on mismatch | ❌ |
| strict_column_match | Enable strict mode for column matching | ❌ |
Ideas, bug reports, and pull requests are welcome! Join the community and help make Insert Tools better.
This project uses a dual-license model:
Insert Tools makes data insertion simple, fast, and safe. Save your time and nerves today!
| Back | FazBrowse Home | New Git URL |