{"repo":"AmbitionEng/django-pgbulk","free":true,"listed":false,"github":"https://github.com/AmbitionEng/django-pgbulk","clone":"git clone https://github.com/AmbitionEng/django-pgbulk.git","description":"Native Postgres upsert, update, and copy operations.","language":"Python","stars":72,"topics":["django","postgresql","update","upsert","copy"],"license":"BSD-3-Clause","category":"databases-storage","readme_excerpt":"django-pgbulk django-pgbulk provides functions for doing native Postgres bulk upserts (i.e. UPDATE ON CONFLICT), bulk updates, and COPY FROM. Bulk upserts can distinguish between updated/created rows and ignore unchanged updates. Bulk updates are true bulk updates, unlike Django's bulk update which can still suffer from O(N) queries and can create poor locking scenarios. Bulk copies can significantly speed-up bulk inserts, sometimes by an order of magnitude over Django's bulk create . Quick Start Examples Update or insert rows Bulk update rows Copy rows into a table Advanced Features Here are some advanced features at a glance: - pgbulk.upsert can categorize which rows were inserted or updated. - pgbulk.upsert and pgbulk.update can ignore updating unchanged fields. - pgbulk.upsert and pgbulk.update can use expressions in updates. Documentation View the django-pgbulk docs here for more examples. Compatibility django-pgbulk is compatible with Python 3.10 - 3.14, Django 4.2 - 6.0, Psycopg 2 - 3, and Postgres 14 - 18. Installation Install django-pgbulk with: pip3 install django-pgbulk Contributing Guide For information on setting up django-pgbulk for development and contributing changes, view CONTRIBUTING.md. Creators - Wes Kendall Other Contributors - @max-muoto - @dalberto","default_branch":null,"files":null,"tree":[],"storefront":"/r/AmbitionEng","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/AmbitionEng/django-pgbulk/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}