{ "info": { "author": "Max Tepkeev", "author_email": "tepkeev@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Topic :: Database", "Topic :: Internet" ], "description": "**THIS LIBRARY IS DEPRECATED IN FAVOR OF** `ARCHITECT `_. **PLEASE\nCONSIDER SWITCHING TO ARCHITECT ASAP, AS DJANGO-DB-PARTI WILL RECEIVE NO FUTURE UPDATES AND BUG FIXES.**\n\nDjango DB Parti\n===============\n\nDjango DB Parti is a package for Django which aim is to make table partitioning on the fly. Partitioning is a\ndivision of one large table into several smaller tables which represent that table. Partitioning is usually\ndone for manageability, performance or availability reasons. If you are unsure whether you need partitioning\nor not, then you almost certainly don't need it.\n\n.. image:: https://badge.fury.io/py/django-db-parti.png\n :target: http://badge.fury.io/py/django-db-parti\n\n.. image:: https://pypip.in/d/django-db-parti/badge.png\n :target: https://crate.io/packages/django-db-parti\n\n.. contents:: Table of contents:\n\nFeatures\n--------\n\nDjango DB Parti supports multiple database backends, each database differ from each other in many ways, that\nmeans that some features may be available for one database backend, but not for the other, below you will find\nlist of supported database backends and detailed information which database backend supports which features.\n\nPostgreSQL\n~~~~~~~~~~\n\nImplementation\n++++++++++++++\n\nPostgreSQL's partitioning implementation in Django DB Parti is done purely at the database level. That means\nthat Django DB Parti creates several triggers and functions and inserts them directly into the database, so\neven if you issue direct insert statement from database console and not from Django, everything will work as\nexpected and record will be inserted into the correct partition, if partition doesn't exist, it will be created\nfor you automatically. Also partitions may be created in any order and not only from lower to higher.\n\nPartitioning types\n++++++++++++++++++\n\n* Range partitioning by date/datetime for the following periods:\n\n - day\n - week\n - month\n - year\n\nLimitations\n+++++++++++\n\n* Currently there are no known limitations for this backend, except that not all partitioning types are supported.\n New types will be added in next releases of Django DB Parti.\n\nMySQL\n~~~~~\n\nImplementation\n++++++++++++++\n\nMySQL's partitioning implementation in Django DB Parti is done in a mixed way, half at the python level and half\nat the database level. Unfortunately MySQL doesn't support dynamic sql in triggers or functions that are called\nwithin triggers, so the only way to create partitions automatically is to calculate everything at the python\nlevel, then to create needed sql statements based on calculations and issue that statement into the database.\n\nPartitioning types\n++++++++++++++++++\n\n* Range partitioning by date/datetime for the following periods:\n\n - day\n - week\n - month\n - year\n\nLimitations\n+++++++++++\n\n* Not all partitioning types are supported. New types will be added in next releases of Django DB Parti.\n* Partitioning is not available for bulk inserts (i.e. Django's bulk_create() method) because it doesn't call\n model's save() method which this backend relies on. Currently there is no known way to remove this limitation.\n* New partitions can be created only from lower to higher, you can overcome this with MySQL's special command\n REORGANIZE PARTITION which you have to issue from the database console. You can read more about it at the\n MySQL's documentation. We plan to remove this limitation in one of the future releases of Django DB Parti.\n\nRequirements\n------------\n\n* Django_ >= 1.4.x\n\nInstallation\n------------\n\nFrom pypi_:\n\n.. code-block:: bash\n\n $ pip install django-db-parti\n\nor clone from github_:\n\n.. code-block:: bash\n\n $ git clone git://github.com/maxtepkeev/django-db-parti.git\n\nConfiguration\n-------------\n\nAdd dbparti to PYTHONPATH and installed applications:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'dbparti'\n )\n\nCreate the model as usual which will represent the partitioned table and run syncdb to create a table for the\nmodel, if you are using South for migrations, you can also create the model as usual via migrate. No additional\nsteps required. After that we need to make a few changes to the model:\n\n| 1) In models.py add the following import statement at the top of the file:\n\n.. code-block:: python\n\n from dbparti.models import Partitionable\n\n| 2) Make your model to inherit from Partitionable, to do that change:\n\n.. code-block:: python\n\n class YourModelName(models.Model):\n\nto:\n\n.. code-block:: python\n\n class YourModelName(Partitionable):\n\n| 3) Add a Meta class to your model which inherits from Partitionable.Meta with a few settings (or if you already\n have a Meta class change it as the following, keep in mind that this is just an example configuration for a\n model, you have to enter values which represent your exact situation):\n\n.. code-block:: python\n\n class Meta(Partitionable.Meta):\n partition_type = 'range'\n partition_subtype = 'date'\n partition_range = 'month'\n partition_column = 'added'\n\n| 4) Lastly we need to initialize some database stuff, to do that execute the following command:\n\n.. code-block:: bash\n\n $ python manage.py partition app_name\n\nThat's it! Easy right?! Now a few words about what we just did. We made our model to inherit from Partitionable,\nalso we used \"month\" as partition range and \"added\" as partition column, that means that from now on, a new\npartition will be created every month and a value from \"added\" column will be used to determine into what\npartition the data should be saved. Keep in mind that if you add new partitioned models to your apps or change\nany settings in the existing partitioned models, you need to rerun the command from step 4, otherwise the database\nwon't know about your changes. You can also customize how data from that model will be displayed in the Django\nadmin interface, for that you need to do the following:\n\n| 1) In admin.py add the following import statement at the top of the file:\n\n.. code-block:: python\n\n from dbparti.admin import PartitionableAdmin\n\n| 2) Create admin model as usual and then change:\n\n.. code-block:: python\n\n class YourAdminModelName(admin.ModelAdmin):\n\nto:\n\n.. code-block:: python\n\n class YourAdminModelName(PartitionableAdmin):\n\n| 3) Add a setting inside ModelAdmin class which tells how records are displayed in Django admin interface:\n\n.. code-block:: python\n\n partition_show = 'all'\n\nAvailable settings\n------------------\n\nModel settings\n~~~~~~~~~~~~~~\n\nAll model settings are done inside model's Meta class which should inherit from Partitionable.Meta\n\n``partition_type`` - what partition type will be used on the model, currently accepts the following:\n\n* range\n\n``partition_subtype`` - what partition subtype will be used on the model, currently used only when\n\"partition_type\" is set to \"range\" and accepts the following values:\n\n* date\n\n``partition_range`` - how often a new partition will be created, currently accepts the following:\n\n* day\n* week\n* month\n* year\n\n``partition_column`` - column, which value will be used to determine which partition record belongs to\n\nModelAdmin settings\n~~~~~~~~~~~~~~~~~~~\n\nAll model admin settings are done inside model admin class itself\n\n``partition_show`` - data from which partition will be shown in Django admin, accepts the following values:\n\n* all (default)\n* current\n* previous\n\nExample\n-------\n\nLet's imagine that we would like to create a table for storing log files. Without partitioning our table would\nhave millions of rows very soon and as the table grows performance will become slower. With partitioning we can\ntell database that we want a new table to be created every month and that we will use a value from some column\nto determine to which partition every new record belongs to. To be more specific let's call our table \"logs\", it\nwill have only 3 columns: id, content and added. Now when we insert the following record: id='1', content='blah',\nadded='2013-05-20', this record will be inserted not to our \"logs\" table but to the \"logs_y2013m05\" partition,\nthen if we insert another record like that: id='2', content='yada', added='2013-07-16' it will be inserted to the\npartition \"logs_y2013m07\" BUT the great thing about all of that is that you are doing your inserts/updates/selects\non the table \"logs\"! Again, you are working with the table \"logs\" as usual and you don't may even know that\nactually your data is stored in a lot of different partitions, everything is done for you automatically at the\ndatabase level, isn't that cool ?!\n\nContact and Support\n-------------------\n\nI will be glad to get your feedback, pull requests, issues, whatever. Feel free to contact me for any questions.\n\nCopyright and License\n---------------------\n\n``django-db-parti`` is protected by BSD licence. Check the LICENCE_ for details.\n\n.. _LICENCE: https://github.com/maxtepkeev/django-db-parti/blob/master/LICENSE\n.. _pypi: https://pypi.python.org/pypi/django-db-parti\n.. _github: https://github.com/maxtepkeev/django-db-parti\n.. _Django: https://www.djangoproject.com\n\n\n.. :changelog:\n\nChangelog\n---------\n\n0.3.4 (2015-05-07)\n~~~~~~~~~~~~~~~~~~\n\n**THIS LIBRARY IS DEPRECATED IN FAVOR OF** `ARCHITECT `_. **PLEASE\nCONSIDER SWITCHING TO ARCHITECT ASAP, AS DJANGO-DB-PARTI WILL RECEIVE NO FUTURE UPDATES AND BUG FIXES.**\n\n0.3.3 (2014-04-17)\n~~~~~~~~~~~~~~~~~~\n\n- Fixed a bug with ``partition`` command not working for MySQL backend (Issue #11)\n\n0.3.2 (2014-03-27)\n~~~~~~~~~~~~~~~~~~\n\n- Added automatic determination of primary key column name, previously this was hardcoded to ``id``\n (thanks to `fjcapdevila `__)\n- Python 2.6 compatibility (thanks to `Daniel Kontsek `__)\n\n0.3.1 (2014-02-02)\n~~~~~~~~~~~~~~~~~~\n\n- Added support for DateField and DateTimeField with auto_now and auto_now_add attributes set (Issue #3)\n- Fixed an issue with unnecessary calling of partitioning functions while reading data from database\n- MySQL: Fixed inability to create partitions for December when range was set to ``month``\n- MySQL: Backend was completely broken in previous version, now everything should work properly (Issue #4)\n\n0.3.0 (2013-09-15)\n~~~~~~~~~~~~~~~~~~\n\n- Rewritten from scratch, introduced new API to add support for new backends and partition types\n- All default model settings which are done inside model's Meta class are now set to ``None``, that means\n that there are no more default settings. Everything should be explicitly defined inside each model class.\n- Introduced new model setting ``partition_type`` which currently accepts only one value ``range``\n- Introduced new model setting ``partition_subtype`` which currently accepts only one value ``date`` and\n is used only with ``partition_type`` when it's set to ``range``\n- Better error handling, django-db-parti tries it's best to tell you where and why an error occured\n- Added support for day and year partitioning for all backends in addition to week and month\n- PostgreSQL: new partitions are now created at the database level, that gave some speed improvement,\n also we don't rely on Django's save() method anymore, that means that there is no more limitation\n with Django's bulk_create() method, you can use it freely with partitioned tables\n- PostgreSQL: fixed an error when last day of the week or month wasn't inserted into partition\n\n0.2.1 (2013-08-24)\n~~~~~~~~~~~~~~~~~~\n\n- Updated readme\n- Python 3 compatibility\n- Datetime with timezone support (Issue #1)\n\n0.2.0 (2013-06-10)\n~~~~~~~~~~~~~~~~~~\n\n- Added mysql backend\n- Fixed incorrect handling of datetime object in DateTimeMixin\n\n0.1.5 (2013-06-08)\n~~~~~~~~~~~~~~~~~~\n\n- Updated readme\n- Fixed postgresql backend error which sometimes tried to insert the data into partitions that don't exist\n- Moved all the database partition system stuff to the command ``partition`` (see readme), that gave a lot\n in speed improvement because we don't need to check for trigger existance and some other things at runtime\n anymore\n\n0.1.4 (2013-06-01)\n~~~~~~~~~~~~~~~~~~\n\n- Packaging fix\n\n0.1.3 (2013-06-01)\n~~~~~~~~~~~~~~~~~~\n\n- Packaging fix\n\n0.1.2 (2013-06-01)\n~~~~~~~~~~~~~~~~~~\n\n- Packaging fix\n\n0.1.1 (2013-06-01)\n~~~~~~~~~~~~~~~~~~\n\n- Packaging fix\n\n0.1.0 (2013-06-01)\n~~~~~~~~~~~~~~~~~~\n\n- Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maxtepkeev/django-db-parti", "keywords": "django,partition,database,table", "license": "Copyright (c) 2014 Max Tepkeev\nAll rights reserved.\n \nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n \n 1. Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n \n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n \n 3. Neither the name of this project nor the names of its contributors may be\n used to endorse or promote products derived from this software without\n specific prior written permission.\n \nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", "maintainer": null, "maintainer_email": null, "name": "django-db-parti", "package_url": "https://pypi.org/project/django-db-parti/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-db-parti/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/maxtepkeev/django-db-parti" }, "release_url": "https://pypi.org/project/django-db-parti/0.3.4/", "requires_dist": null, "requires_python": null, "summary": "Fully automatic database table partitioning for Django", "version": "0.3.4" }, "last_serial": 1536975, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b7d5745b2d38ce33a5f692ba777b9936", "sha256": "717fd3fab74a9914a765355555b5b16f24f9bddd5f38ef303dbdabd445cb1f89" }, "downloads": -1, "filename": "django-db-parti-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b7d5745b2d38ce33a5f692ba777b9936", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6947, "upload_time": "2013-06-01T17:57:38", "url": "https://files.pythonhosted.org/packages/09/19/8c0f125a5991226326d7d465e19b089b6a273535c0fbdc33c33cdb44c096/django-db-parti-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "be8ce12452b8b014f4b96267bb9aa9ea", "sha256": "28f37afa13ea693fa7d11dea10a8dec2e1de2e83975a15575aa63dc4716eae93" }, "downloads": -1, "filename": "django-db-parti-0.1.1.tar.gz", "has_sig": false, "md5_digest": "be8ce12452b8b014f4b96267bb9aa9ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7132, "upload_time": "2013-06-01T18:58:26", "url": "https://files.pythonhosted.org/packages/fe/a9/d94b27d84fbc78e8283bad6eeefc0a67e9cf35f4c938b205d65ffd15d45b/django-db-parti-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c063d2bc47af013a831d1c653e14c2fe", "sha256": "bdbfd1ff6488f4e2047001f467145aff75b486630bc8cd24617737b0242b9312" }, "downloads": -1, "filename": "django-db-parti-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c063d2bc47af013a831d1c653e14c2fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7155, "upload_time": "2013-06-01T19:19:17", "url": "https://files.pythonhosted.org/packages/06/80/b78c91f0bd208728b28838ab078213a0234e40d2cd6f19b1b29ff9effe19/django-db-parti-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e89cac9a687cdf8e74d74b1102b51823", "sha256": "5baf79e6152e5b9febaa5125d1eb2f8b94fcb788ba9bc9ad7d249dec99892c48" }, "downloads": -1, "filename": "django-db-parti-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e89cac9a687cdf8e74d74b1102b51823", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7165, "upload_time": "2013-06-01T19:25:09", "url": "https://files.pythonhosted.org/packages/46/a3/78de41ed7f30aa89720edb3fd11f9f96c5d4d9cd729b0c90e228a5d1d1c1/django-db-parti-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "56a90c4f6e528aac88963c0bb7c9ed04", "sha256": "3a9fe264ef18f62da7c0fffd9c3296a9ead3687a4c021963517f322c0b3db823" }, "downloads": -1, "filename": "django-db-parti-0.1.4.tar.gz", "has_sig": false, "md5_digest": "56a90c4f6e528aac88963c0bb7c9ed04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7168, "upload_time": "2013-06-01T19:34:52", "url": "https://files.pythonhosted.org/packages/2d/da/7a442334adff6e55f17384350670a4e82564c74c0f506547b13b53be6820/django-db-parti-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "9ce8b808f2446fc2d55b9cce2bad4ae5", "sha256": "ddaed2767ea906c1d2789be301d0937bcc3b54c77349cf492fe5f7c270f20737" }, "downloads": -1, "filename": "django-db-parti-0.1.5.tar.gz", "has_sig": false, "md5_digest": "9ce8b808f2446fc2d55b9cce2bad4ae5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8768, "upload_time": "2013-06-08T18:22:12", "url": "https://files.pythonhosted.org/packages/2b/c2/3a254d6272976e83b19a7d43d8b179c925dd01c9af0dc0dfb022cc43f0aa/django-db-parti-0.1.5.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4d61fd3141b1e482d0f1485e0bebeb3c", "sha256": "3d7f7e931eaf74f72ab94ddda487757e7257ac521551ea8ca1c2efb41881e276" }, "downloads": -1, "filename": "django-db-parti-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4d61fd3141b1e482d0f1485e0bebeb3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9432, "upload_time": "2013-06-10T17:21:25", "url": "https://files.pythonhosted.org/packages/2a/22/2f3ef1d8300877b2881df7aff6a4c5aa44635f41841c11ef5ac5f7ad9970/django-db-parti-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "55ac229fd89c8c5958f0a94392c05f75", "sha256": "65ec391b8ecda23041c909ad50b622965b9fc28ea1fae218b3dd8952eea91ce6" }, "downloads": -1, "filename": "django-db-parti-0.2.1.tar.gz", "has_sig": false, "md5_digest": "55ac229fd89c8c5958f0a94392c05f75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9637, "upload_time": "2013-08-24T16:59:00", "url": "https://files.pythonhosted.org/packages/df/67/76fffb793d373429c69b755dab91ccad42e7c5ccd5ce7671f03e87f1c3fe/django-db-parti-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "dc4b7ffa265a9f8af98e2c594b190122", "sha256": "3bb43211662106ebf3520a7f69f45c534d7c8451605416c60bdc40fe72fde618" }, "downloads": -1, "filename": "django-db-parti-0.3.0.tar.gz", "has_sig": false, "md5_digest": "dc4b7ffa265a9f8af98e2c594b190122", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13467, "upload_time": "2013-09-15T13:53:07", "url": "https://files.pythonhosted.org/packages/ca/8a/98ad6c15919ebebe66a89f45251e9c949057ef17bae6670e58100b986cff/django-db-parti-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "603ab5dfb1415488e6bbe829e9e3e742", "sha256": "42de2e538c0db90dde3e60809f02c5dbbac36a69ebc2d475fe6b0f103db27eca" }, "downloads": -1, "filename": "django-db-parti-0.3.1.tar.gz", "has_sig": false, "md5_digest": "603ab5dfb1415488e6bbe829e9e3e742", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13970, "upload_time": "2014-02-02T15:19:12", "url": "https://files.pythonhosted.org/packages/fb/19/ceaa80635279f22b357315513ad916bce1bb26a5efd3ed6833a0136d730e/django-db-parti-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "c9e913e1f1fe6d5f9c1b2375c7669090", "sha256": "a1b3e40fb7dd7fcb4bc586a8e01c46e35c6ad4c847b07902091a4f8aed01ba1e" }, "downloads": -1, "filename": "django-db-parti-0.3.2.tar.gz", "has_sig": false, "md5_digest": "c9e913e1f1fe6d5f9c1b2375c7669090", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14236, "upload_time": "2014-03-27T15:20:22", "url": "https://files.pythonhosted.org/packages/d5/4c/a82e1d3bb310e6eb8567d28f9468a059878f3f0bb955711d5f35f2d35a7e/django-db-parti-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "b6e1bf0adc14226c93d943da92926bb3", "sha256": "9dea673dc0883a8c9a14801e69552bc1d627570cfe39ec2dea7472bc16e83cc0" }, "downloads": -1, "filename": "django-db-parti-0.3.3.tar.gz", "has_sig": false, "md5_digest": "b6e1bf0adc14226c93d943da92926bb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14328, "upload_time": "2014-04-17T15:21:22", "url": "https://files.pythonhosted.org/packages/37/4f/5bd96b348bf896beebfee35c9574ab6a4b406e1291761510a8b3eec1115d/django-db-parti-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "eb41d6de5ba4522977d259452cb056ef", "sha256": "fa608ab30919691d127cb8b5e870016e092e4df0ef60f63e49ecb8505392525d" }, "downloads": -1, "filename": "django-db-parti-0.3.4.tar.gz", "has_sig": false, "md5_digest": "eb41d6de5ba4522977d259452cb056ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14793, "upload_time": "2015-05-07T09:54:40", "url": "https://files.pythonhosted.org/packages/35/b1/87cae71f7e236ab3b794a9658a0910147b0146a9e18163c20010f5649de2/django-db-parti-0.3.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eb41d6de5ba4522977d259452cb056ef", "sha256": "fa608ab30919691d127cb8b5e870016e092e4df0ef60f63e49ecb8505392525d" }, "downloads": -1, "filename": "django-db-parti-0.3.4.tar.gz", "has_sig": false, "md5_digest": "eb41d6de5ba4522977d259452cb056ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14793, "upload_time": "2015-05-07T09:54:40", "url": "https://files.pythonhosted.org/packages/35/b1/87cae71f7e236ab3b794a9658a0910147b0146a9e18163c20010f5649de2/django-db-parti-0.3.4.tar.gz" } ] }