| | | |
|--------------------|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| :white_check_mark: | **Tests** | [![CircleCI](https://circleci.com/gh/SectorLabs/django-postgres-extra/tree/master.svg?style=svg)](https://circleci.com/gh/SectorLabs/django-postgres-extra/tree/master) |
| :memo: | **License** | [![License](https://img.shields.io/:license-mit-blue.svg)](http://doge.mit-license.org) |
| :package: | **PyPi** | [![PyPi](https://badge.fury.io/py/django-postgres-extra.svg)](https://pypi.python.org/pypi/django-postgres-extra) |
| :four_leaf_clover: | **Code coverage** | [![Coverage Status](https://coveralls.io/repos/github/SectorLabs/django-postgres-extra/badge.svg?branch=coveralls)](https://coveralls.io/github/SectorLabs/django-postgres-extra?branch=master) |
| <img src="https://cdn.iconscout.com/icon/free/png-256/django-1-282754.png" width="22px" height="22px" align="center" /> | **Django Versions** | 2.0, 2.1, 2.2, 3.0, 3.1, 3.2, 4.0, 4.1 |
| <img src="http://www.iconarchive.com/download/i73027/cornmanthe3rd/plex/Other-python.ico" width="22px" height="22px" align="center" /> | **Python Versions** | 3.6, 3.7, 3.8, 3.9, 3.10 |
| :book: | **Documentation** | [Read The Docs](https://django-postgres-extra.readthedocs.io/en/master/) |
| :warning: | **Upgrade** | [Upgrade from v1.x](https://django-postgres-extra.readthedocs.io/en/master/major_releases.html#new-features)
| :checkered_flag: | **Installation** | [Installation Guide](https://django-postgres-extra.readthedocs.io/en/master/installation.html) |
| :fire: | **Features** | [Features & Documentation](https://django-postgres-extra.readthedocs.io/en/master/index.html#features) |
| :droplet: | **Future enhancements** | [Potential features](https://github.com/SectorLabs/django-postgres-extra/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement) |
`django-postgres-extra` aims to make all of PostgreSQL's awesome features available through the Django ORM. We do this by taking care of all the hassle. As opposed to the many small packages that are available to try to bring a single feature to Django with minimal effort. ``django-postgres-extra`` goes the extra mile, with well tested implementations, seamless migrations and much more.
With seamless we mean that any features we add will work truly seamlessly. You should not have to manually modify your migrations to work with fields and objects provided by this package.
---
:warning: **This README is for v2. See the `v1` branch for v1.x.**
---
## Major features
[See the full list](http://django-postgres-extra.readthedocs.io/#features)
* **Native upserts**
* Single query
* Concurrency safe
* With bulk support (single query)
* **Extended support for HStoreField**
* Unique constraints
* Null constraints
* Select individual keys using ``.values()`` or ``.values_list()``
* **PostgreSQL 11.x declarative table partitioning**
* Supports both range and list partitioning
* **Faster deletes**
* Truncate tables (with cascade)
* **Indexes**
* Conditional unique index.
* Case sensitive unique index.
## Working with the code
### Prerequisites
* PostgreSQL 10 or newer.
* Django 2.0 or newer (including 3.x, 4.x).
* Python 3.6 or newer.
### Getting started
1. Clone the repository:
λ git clone https://github.com/SectorLabs/django-postgres-extra.git
2. Create a virtual environment:
λ cd django-postgres-extra
λ virtualenv env
λ source env/bin/activate
3. Create a postgres user for use in tests (skip if your default user is a postgres superuser):
λ createuser --superuser psqlextra --pwprompt
λ export DATABASE_URL=postgres://psqlextra:<password>@localhost/psqlextra
Hint: if you're using virtualenvwrapper, you might find it beneficial to put
the ``export`` line in ``$VIRTUAL_ENV/bin/postactivate`` so that it's always
available when using this virtualenv.
4. Install the development/test dependencies:
λ pip install .[test] .[analysis]
5. Run the tests:
λ tox
6. Run the benchmarks:
λ py.test -c pytest-benchmark.ini
7. Auto-format code, sort imports and auto-fix linting errors:
λ python setup.py fix
Raw data
{
"_id": null,
"home_page": "https://github.com/SectorLabs/django-postgres-extra",
"name": "django-postgres-extra",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "django,postgres,extra,hstore,ltree",
"author": "Sector Labs",
"author_email": "open-source@sectorlabs.ro",
"download_url": "https://files.pythonhosted.org/packages/e2/8a/2bf9f570e73058569e48cc3208f007fd7ff45cb28e178ea1da2b188f14e2/django-postgres-extra-2.0.8.tar.gz",
"platform": null,
"description": " \n| | | |\n|--------------------|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| :white_check_mark: | **Tests** | [![CircleCI](https://circleci.com/gh/SectorLabs/django-postgres-extra/tree/master.svg?style=svg)](https://circleci.com/gh/SectorLabs/django-postgres-extra/tree/master) |\n| :memo: | **License** | [![License](https://img.shields.io/:license-mit-blue.svg)](http://doge.mit-license.org) |\n| :package: | **PyPi** | [![PyPi](https://badge.fury.io/py/django-postgres-extra.svg)](https://pypi.python.org/pypi/django-postgres-extra) |\n| :four_leaf_clover: | **Code coverage** | [![Coverage Status](https://coveralls.io/repos/github/SectorLabs/django-postgres-extra/badge.svg?branch=coveralls)](https://coveralls.io/github/SectorLabs/django-postgres-extra?branch=master) |\n| <img src=\"https://cdn.iconscout.com/icon/free/png-256/django-1-282754.png\" width=\"22px\" height=\"22px\" align=\"center\" /> | **Django Versions** | 2.0, 2.1, 2.2, 3.0, 3.1, 3.2, 4.0, 4.1 |\n| <img src=\"http://www.iconarchive.com/download/i73027/cornmanthe3rd/plex/Other-python.ico\" width=\"22px\" height=\"22px\" align=\"center\" /> | **Python Versions** | 3.6, 3.7, 3.8, 3.9, 3.10 |\n| :book: | **Documentation** | [Read The Docs](https://django-postgres-extra.readthedocs.io/en/master/) |\n| :warning: | **Upgrade** | [Upgrade from v1.x](https://django-postgres-extra.readthedocs.io/en/master/major_releases.html#new-features)\n| :checkered_flag: | **Installation** | [Installation Guide](https://django-postgres-extra.readthedocs.io/en/master/installation.html) |\n| :fire: | **Features** | [Features & Documentation](https://django-postgres-extra.readthedocs.io/en/master/index.html#features) |\n| :droplet: | **Future enhancements** | [Potential features](https://github.com/SectorLabs/django-postgres-extra/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement) |\n\n`django-postgres-extra` aims to make all of PostgreSQL's awesome features available through the Django ORM. We do this by taking care of all the hassle. As opposed to the many small packages that are available to try to bring a single feature to Django with minimal effort. ``django-postgres-extra`` goes the extra mile, with well tested implementations, seamless migrations and much more.\n \nWith seamless we mean that any features we add will work truly seamlessly. You should not have to manually modify your migrations to work with fields and objects provided by this package.\n\n---\n\n:warning: **This README is for v2. See the `v1` branch for v1.x.**\n\n---\n\n## Major features\n\n[See the full list](http://django-postgres-extra.readthedocs.io/#features)\n\n* **Native upserts**\n\n * Single query\n * Concurrency safe\n * With bulk support (single query)\n\n* **Extended support for HStoreField**\n\n * Unique constraints\n * Null constraints\n * Select individual keys using ``.values()`` or ``.values_list()``\n\n* **PostgreSQL 11.x declarative table partitioning**\n\n * Supports both range and list partitioning\n\n* **Faster deletes**\n\n * Truncate tables (with cascade)\n\n* **Indexes**\n\n * Conditional unique index.\n * Case sensitive unique index.\n\n## Working with the code\n### Prerequisites\n\n* PostgreSQL 10 or newer.\n* Django 2.0 or newer (including 3.x, 4.x).\n* Python 3.6 or newer.\n\n### Getting started\n\n1. Clone the repository:\n\n \u03bb git clone https://github.com/SectorLabs/django-postgres-extra.git\n\n2. Create a virtual environment:\n\n \u03bb cd django-postgres-extra\n \u03bb virtualenv env\n \u03bb source env/bin/activate\n\n3. Create a postgres user for use in tests (skip if your default user is a postgres superuser):\n\n \u03bb createuser --superuser psqlextra --pwprompt\n \u03bb export DATABASE_URL=postgres://psqlextra:<password>@localhost/psqlextra\n\n Hint: if you're using virtualenvwrapper, you might find it beneficial to put\n the ``export`` line in ``$VIRTUAL_ENV/bin/postactivate`` so that it's always\n available when using this virtualenv.\n\n4. Install the development/test dependencies:\n\n \u03bb pip install .[test] .[analysis]\n\n5. Run the tests:\n\n \u03bb tox\n\n6. Run the benchmarks:\n\n \u03bb py.test -c pytest-benchmark.ini\n\n7. Auto-format code, sort imports and auto-fix linting errors:\n\n \u03bb python setup.py fix\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Bringing all of PostgreSQL's awesomeness to Django.",
"version": "2.0.8",
"project_urls": {
"Homepage": "https://github.com/SectorLabs/django-postgres-extra"
},
"split_keywords": [
"django",
"postgres",
"extra",
"hstore",
"ltree"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e822559559d7894648bd7f2bbfdeedd5ccba4f8d9de68855ced522011d608af5",
"md5": "3f5270d1503e394c66f1da8f8a3c8f30",
"sha256": "447d5a971759943ee63a9d4cef9c6c1fa290e518611ea521a38b6732681d2f3a"
},
"downloads": -1,
"filename": "django_postgres_extra-2.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f5270d1503e394c66f1da8f8a3c8f30",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 75205,
"upload_time": "2023-02-03T08:41:32",
"upload_time_iso_8601": "2023-02-03T08:41:32.998449Z",
"url": "https://files.pythonhosted.org/packages/e8/22/559559d7894648bd7f2bbfdeedd5ccba4f8d9de68855ced522011d608af5/django_postgres_extra-2.0.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e28a2bf9f570e73058569e48cc3208f007fd7ff45cb28e178ea1da2b188f14e2",
"md5": "2b66639a68611ef0a58d89c0839358c9",
"sha256": "9efa08c6f18ed34460af41c6f679bb375b93d12544b1105aa348b787a30b46eb"
},
"downloads": -1,
"filename": "django-postgres-extra-2.0.8.tar.gz",
"has_sig": false,
"md5_digest": "2b66639a68611ef0a58d89c0839358c9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 48572,
"upload_time": "2023-02-03T08:41:34",
"upload_time_iso_8601": "2023-02-03T08:41:34.894250Z",
"url": "https://files.pythonhosted.org/packages/e2/8a/2bf9f570e73058569e48cc3208f007fd7ff45cb28e178ea1da2b188f14e2/django-postgres-extra-2.0.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-03 08:41:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "SectorLabs",
"github_project": "django-postgres-extra",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"circle": true,
"tox": true,
"lcname": "django-postgres-extra"
}