Skip to main content

PyBulk is a Python module that to allow simple and fast bulk data insertion into databases

Project description

PyBulk 🚀

简体中文 | English

PyBulk is a Python module that wraps PyMySQL to allow simple and fast bulk data insertion into databases. With PyBulk, you can insert thousands of records into a database table in just a few lines of code.

PyBulk builds on top of the PyMySQL library and connection pool to efficiently reuse connections and minimize latency. It handles all the low-level details of executing multiple INSERT statements while protecting your database from overload.

Some of the main features of PyBulk include:

  • Simple API: Insert bulk data with just a few function calls. No complicated setup required.
  • Speed: Leverages PyMySQL's connection pool to quickly insert thousands of records.
  • Reliability: Includes error handling and recovery mechanisms to handle transient database errors. Retries failed queries automatically.
  • Support for REPLACE INTO: Upsert support allows you to replace existing records in a table or insert new ones.
  • Compatibility: Works with MySQL, MariaDB and AWS RDS. Compatible with Python 2 and 3.

PyBulk allows you to focus on your application's logic rather than spending time building infrastructure to handle database load. It is a robust but lightweight solution ideal for batch data processing applications.

💾 Installation

pip install pybulk

🔧 Usage:

import pybulk

cfg = {
'host': 'localhost',
'port':  3306,
'user':  'root',
'password': 'root',
'db': 'info',
'charset': 'utf8',
}

db = pybulk.client(cfg)

my_data = [
{'name': 'Peter', 'age': 21,},
{'name': 'Harry', 'age': 35,},
{'name': 'Mark', 'age': 40,},
]

db.push_data('student', my_data, size=2000)

# You can also run sql in pybulk like:

data = db.excute_sql('select * from school')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybulk-0.2.6.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pybulk-0.2.6-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file pybulk-0.2.6.tar.gz.

File metadata

  • Download URL: pybulk-0.2.6.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.3

File hashes

Hashes for pybulk-0.2.6.tar.gz
Algorithm Hash digest
SHA256 c89583e575e5a5d4ede340f9d3a06b0a77972d937c2fb2428801d395a701c140
MD5 628e2b8f6216d5122e92e95d9ddc53b8
BLAKE2b-256 feae831fb5e152b0daf5a296153ccc00f2dbeea6f4855c8c39bcd88fa61d31e4

See more details on using hashes here.

File details

Details for the file pybulk-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: pybulk-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.3

File hashes

Hashes for pybulk-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c388c63d1e1ea9eac03c5ea56ae4733f9f21e0ee07cf0e68bfade1b1fca3403e
MD5 15c02a69f9d90e5b58a5f9d86da0d9e8
BLAKE2b-256 02f70490ca27e4a4b66245e53e5252448dbc2697f09aa73ff0f2c97d4dfb0dcb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page