{ "info": { "author": "Ed Crewe, Taras Halturin", "author_email": "ed.crewe@bris.ac.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Django", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "ILRT Django Oracle pool\r\n=======================\r\n\r\nEd Crewe, `IT Services R&D\r\n`_ at University of Bristol, August 2014\r\n\r\nPackaged version of http://code.djangoproject.com/ticket/7732 by Taras Halturin\r\ndjango database backend that uses cx_Oracle session pooling for connections\r\n\r\nSee http://bitbucket.org/edcrewe/django-oraclepool\r\n\r\nOriginal Code Modifications\r\n---------------------------\r\n\r\nPruned original ticket's base.py to just hold the pooling relevant code. \r\nUsing the standard Oracle connection for the rest of the database classes, \r\nie. operations, client and introspection. \r\n\r\nTested with django 1.1 to 1.6\r\n\r\nExtra features\r\n--------------\r\n\r\n- Added the pooling and logging parameters to the settings.\r\n\r\n- The connector uses the standard python logging model and caters for logging \r\n full details of queries, either to a file log or appending them to the \r\n bottom of the screen if the log level is DEBUG.\r\n\r\n- Added an option for running against existing (older) Oracle databases, ie those \r\n which may not have unicode for character fields.\r\n\r\n- Option also allows running the tests against an existing database so that \r\n running tests doesnt require database creation (oracle sys dba) rights.\r\n\r\n- Added a modification to the cursor to not parse parameters if not required.\r\n\r\nWhy use it?\r\n-----------\r\n\r\nPerhaps due to our remotely distributed Oracle network taking a very long time \r\nto establish connections, the use of cx_Oracle's session pooling for \r\nconnections provided a truely radical performance boost for requests \r\nfrom 3-4 secs/req to 0.4 secs/req, so many times faster. \r\n\r\nFor single direct Oracle access it might still give a doubling of performance. \r\nInstall it and run the performance test to find out (see below).\r\n\r\nInstallation\r\n------------\r\n\r\nDownload the egg (or use buildout) or download the tarball and extract it. \r\nThen add /path/to/django-oraclepool to your python path.\r\n\r\nSpecify DATABASE_ENGINE = 'oraclepool' instead of 'oracle' in your settings. \r\n\r\nIf you dont want to use the default extra database settings then the following defaults\r\nare used\r\n\r\n>>> EXTRAS = {'min':4, # starting number of pooled connections\r\n... 'max':8, # maximum number of connections in the pool\r\n... 'increment':1, # increase by this amount when more are needed\r\n... 'threaded':True, # server platform optimisation \r\n... 'timeout':600, # connection timeout, 600 = 10 mins\r\n... 'log':0, # extra logging functionality turned on\r\n... 'logfile':'', # file system path to log file\r\n... 'existing':'' # Type modifications for existing database and flag for tests\r\n... 'session':[] # Add session optimisations applied to each fresh connection, eg.\r\n... # alter session set cursor_sharing = similar;\r\n... # Enables use of bind variables assuming it isnt set at a system level \r\n...\t\t\t # alter session set session_cached_cursors = 20;\r\n... # Allows cursor reuse between queries \r\n... 'like':'LIKE' # Option instead of LIKEC default which can stop indexes being used\r\n... }\r\n\r\nNote that if you want sql logging to screen when in DEBUG mode then add \r\n'oraclepool.log_sql.SQLLogMiddleware' to your MIDDLEWARE_CLASSES\r\n\r\n\r\nGeneral Performance\r\n-------------------\r\n\r\nInitially after apache restart you will see the first few requests taking the same time as each \r\none initiates a new pooled connection. Then request speed should drop as it loses the Oracle \r\nconnection time.\r\n\r\nNB: Note that if you have PythonDebug On then the pool may get flushed much more regularly. \r\nSo you will often get the slower pool populating requests.\r\n\r\nUsing mod_wsgi rather than mod_python may give a 25% added increase although this needs\r\nconfirmation on a production instance.\r\n\r\nIt should be remembered that there is also a very great deal of performance work that can be \r\ndone at the database level. I have posted a page with some of the tips and tricks for \r\nimproving database performance on my blog - http://edcrewe.blogspot.co.uk/p/database-performance.html\r\n\r\nPooling alternatives\r\n--------------------\r\n\r\nPyora pool\r\n\r\nAlso tried out pyora pool see http://code.google.com/p/pyorapool\r\nbut found increase was only around 90% and also had \r\nissues with connection control and database edits failing.\r\nThis also requires the whole architecture of a separate remote procedure call daemon \r\nthat holds the connection pool. Uneccesary here ... although useful\r\nfor pooling across different applications, or multiple servers.\r\n\r\nORM pools\r\n\r\nUsually ORMs have a generic pooling capability, unfortuately djangos only has a beta one \r\nin development, unless you plugin another ORM, eg. http://www.sqlalchemy.org/ instead. \r\nHowever that does require code rewriting.\r\n\r\nHaving said that a generic ORM level pool is unlikely to perform as well as one at the \r\ndatabase connector level, which in turn is going to be less fast than one within the \r\ndatabase itself (see below).\r\n\r\nTests\r\n-----\r\n\r\nThe tests are run via the normal test command, however in order to test everything OK\r\nthe settings file within oraclepool.tests.settings should be used eg.\r\n\r\nbin/django-admin.py test oraclepool --settings=oraclepool.tests.settings\r\n\r\nor the applications adapted to add the oraclepool.tests sub-applications.\r\n\r\nNB: Some of these tests are derived from a set for http://code.google.com/p/django-mssql/\r\n\r\nThey also include the option to run the test suite against an existing database for users who dont\r\nhave full oracle dba rights on their test oracle servers. \r\n\r\nThe key extra tests are performance timings for running the test suite via the pooled oracle\r\nconnection vs the standard one. Hopefully these timings should indicate whether using oraclepool is\r\nof value when using django with your oracle server network. \r\n\r\nThe performance test simulates a real environment by running up a number of connections\r\nas would exist with a production web server (the Apache2 default is 2 processes * 64 threads)\r\nwhilst the test creates a maximum of only 32.\r\nIn practise I found the actual performance improvement significantly greater than that indicated \r\nby the doubling of speed that the multiple connections performance test gives. However that\r\nmay not be the case dependent on your production oracle and web server environment.\r\n\r\nSouth\r\n-----\r\n\r\nIf you use south you need to add the following - see oraclepool.tests.settings:\r\n\r\nSOUTH_DATABASE_ADAPTERS = { 'default': \"south.db.oracle\" }\r\n\r\n\r\n\r\n\r\n\r\nTODO\r\n----\r\n\r\n- Oracle 11g has internal session pooling - DRCP - and cx_Oracle can use that for\r\n even better performance, so need to add appropriate modification to test whether \r\n the database 11g or later, and use this feature in place of a cx_Oracle side pool.\r\n NB: requires cx_Oracle 5, see http://www.oracle.com/technology/pub/articles/tuininga-cx_oracle.html\r\n\r\n\r\nChangelog\r\n=========\r\n\r\n1.4 Test with Django 1.5/1.6 and South - (2014-08-11)\r\n-----------------------------------------------------\r\n\r\n- Fix transaction wrapper - set autocommit each time add a conn to pool\r\n Note - needs autocommit true on connection to use atomic or else writes not commited consistently\r\n- Use Oracle database wrapper rather than base to keep more in sync \r\n [Ed Crewe]\r\n\r\n1.3 Add fix for multiple EXTRAs existing - (2013-02-17)\r\n-------------------------------------------------------\r\n\r\n- Add fix for default value for multiple EXTRAs existing\r\n [Nikita Zubchick]\r\n- Fix dbshell by adding base._connect_string property\r\n [Bug reporter - skyl]\r\n- Minor tweaks - e.g. type casting of settings\r\n [Ed Crewe]\r\n\r\n1.2 Make sure only live connections are used (2012-11-22)\r\n---------------------------------------------------------\r\n\r\n- Add get_alive_connection wrapper to conn.ping() test connections before use [Brent Watson]\r\n- Try Oracle rollback if requested [Brent Watson]\r\n- Pass logger from connection to cursor [Brent Watson]\r\n- Use retry on connections in case one has died [Ricardo del Cid]\r\n- Add models.py so test suite runs [Ed Crewe]\r\n\r\n1.1 Refactor the tests (2012-11-18)\r\n-----------------------------------\r\n\r\n- Make sure the use existing clause works OK for current database settings\r\n- Move tests into oraclepool tests\r\n- Split out the tests from the models files\r\n- Fix the performance test so that its against oracle \r\n (not oraclepool itself, since the install can override the oracle engine class)\r\n\r\n[Ed Crewe]\r\n\r\n1.0 Add multiple connection extras configuration (2012-11-17)\r\n-------------------------------------------------------------\r\n\r\n- Use logger for credentials error, if available, and hide pw [Ed Crewe]\r\n- Fix tests for running against an existing database [Ed Crewe]\r\n- Fix logger usage so its OK when logging cursor errors [Ed Crewe]\r\n- Add extras dictionary and logger to connections, rather than globally so each one\r\n can be configured and log separately [Brent Watson]\r\n\r\n0.9 Django 1.4 compatibility fixes (2012-05-18)\r\n-----------------------------------------------\r\n\r\n- Fix database connection usage for django 1.4 compatibility \r\n [Ed Crewe]\r\n- Fix tests/monkeypatch for performance and regression tests to work OK\r\n [Ed Crewe]\r\n- Add alias to pool to ensure each connection has its own pool\r\n [Marc Bee]\r\n\r\n0.8 Django 1.3 compatibility fixes (2011-04-08)\r\n-----------------------------------------------\r\n\r\n- Make self.features = DatabaseFeatures(self) to work with oracle connector change\r\n- Fix the timezone for the tests\r\n- Improve the error reporting if the connection fails due to wrong credentials etc.\r\n\r\n[Ed Crewe]\r\n\r\n0.7 - Oracle LIKEC performance work around and bug fixes (2010-09-20)\r\n---------------------------------------------------------------------\r\n\r\n- Optional switch of use of LIKEC for LIKE since LIKEC ignores indexes in old Oracle\r\n so has much worse performance, see http://code.djangoproject.com/ticket/11017\r\n- Tested an application and the test suite with django 1.2.3 and python 2.6 \r\n [Ed Crewe]\r\n- Clean up raising of strings, required for python 2.6 or higher\r\n [Reinout van Rees]\r\n- Lost an indent along the way for log_sql append to screen\r\n [kylen]\r\n- Fix multiple pool creation bug under heavy initial load - with locking\r\n [Aa`Koshh]\r\n- Fix old settings style with django 1.1 python \r\n [akhenakh]\r\n\r\n0.6 - Minor bugs and django 1.2 compatibility fixes (2010-06-18)\r\n----------------------------------------------------------------\r\n\r\n- Use django 1.2 database settings format by default\r\n- Fix a bug with adding sql log to page when in DEBUG\r\n- Remove print statements where not critical failiure since they will cause one with wsgi\r\n- Drop homogeneous extra argument since unecessary and breaks if used with earlier cx_Oracle\r\n- Fix tests for earlier cx_Oracle\r\n- Remove unused separate class declaration for pools\r\n- Make sure all tests pass\r\n- Ensure default settings are picked up when using old format settings with 1.2 [Marc Bee]\r\n\r\n [Ed Crewe]\r\n\r\n0.5 - Fix logger bug and add session config (2010-02-19)\r\n--------------------------------------------------------\r\n\r\n- Fix a bug preventing the logger from being used\r\n- Make sure session settings are only set on connection creation not cursor use\r\n- Add a session list of sql lines for optionally setting session parameters\r\n- Wrap connection signal in try except for older django compatibility.\r\n\r\n [Ed Crewe]\r\n\r\n0.4 - Fix performance test (2010-01-29)\r\n---------------------------------------\r\n\r\n- Whoops, I realised the performance test was underplaying the improvement due to a bug,\r\n it now gives the same performance for single connections (as expected) and 300% \r\n improvement for multiple ones.\r\n- Added signal for connection 'creation' and fixed raise of unicode error\r\n\r\n [Ed Crewe]\r\n\r\n0.3 - Initial release (2010-01-28)\r\n----------------------------------\r\n\r\n- Added test suite including performance test to demonstrate benefits\r\n- Tested and made compatible with django 1.2 (as well as django 1.1)\r\n- Cleaned up the code and factored out anything that wasnt specific to pooling,\r\n subclassing most components from the standard Oracle engine.\r\n- Modified logging options so DEBUG switches on log to screen and EXTRAS['log'] \r\n switches logging to file option separately.\r\n\r\n [Ed Crewe]\r\n\r\n0.2 - Used for UoB student reps\r\n-------------------------------\r\n\r\n- Commented out debug print statements from DatabaseWrapper._cursor which broke install in wsgi\r\n- Added DatabaseWrapper.__init__ like the oracle backend with client, creation and introspection\r\n borrowed from it, since creation is expected in django 1.1.1 code.\r\n- Added default value of None for settings in DatabaseWrapper._cursor since this argument is not \r\n expected in django 1.1.1 code.\r\n- Added DATABASE_EXTRAS dictionary to set all the session parameters from django config.\r\n- Added session pool settings report method, to check these.\r\n- Added python logger option and sql_log middleware\r\n\r\n [Ed Crewe]\r\n\r\n0.1 - Unreleased\r\n----------------\r\n\r\n* Initial release - packaging of code from http://code.djangoproject.com/ticket/7732\r\n \r\n [Taras Halturin, et al.]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/edcrewe/django-oraclepool", "keywords": "django oracle connection pooling cx_Oracle", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "django-oraclepool", "package_url": "https://pypi.org/project/django-oraclepool/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-oraclepool/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://bitbucket.org/edcrewe/django-oraclepool" }, "release_url": "https://pypi.org/project/django-oraclepool/1.4/", "requires_dist": null, "requires_python": null, "summary": "django database backend that uses cx_Oracle session pooling for connections", "version": "1.4" }, "last_serial": 1193683, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "cbc45a09b17cf45961e6e8abf5ed9062", "sha256": "fc86189510bddbba46cbd558e463e57c48749dc84a20bfdccae18a35e36b5fb0" }, "downloads": -1, "filename": "django_oraclepool-0.3-py2.4.egg", "has_sig": false, "md5_digest": "cbc45a09b17cf45961e6e8abf5ed9062", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 23875, "upload_time": "2010-01-28T17:16:51", "url": "https://files.pythonhosted.org/packages/36/77/76389083adcb038e8114af602f59fe4e7df88f5b07b215bf58dbb48cb895/django_oraclepool-0.3-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "81a21107470dbcc523f8d8ba39fb7e7f", "sha256": "056bb707592ded55bc3a174d1a2ed7eec81a83b07f430639c4e8ead47d9fa159" }, "downloads": -1, "filename": "django-oraclepool-0.3.tar.gz", "has_sig": false, "md5_digest": "81a21107470dbcc523f8d8ba39fb7e7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33052, "upload_time": "2010-01-28T17:16:51", "url": "https://files.pythonhosted.org/packages/87/67/36154d477651b9430473c549a905f64b1d9c54e69788f1783eb9caf7b7da/django-oraclepool-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "0f1b01589f3a44e168e8191c7570d73a", "sha256": "cb2267d3a6a4145638efc3b56c4e2d73c6d3e81093cb78460aebee27d03c0627" }, "downloads": -1, "filename": "django_oraclepool-0.4-py2.5.egg", "has_sig": false, "md5_digest": "0f1b01589f3a44e168e8191c7570d73a", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 24169, "upload_time": "2010-02-08T13:43:33", "url": "https://files.pythonhosted.org/packages/c1/fd/0af9623ada6c6c93fd39dec707ee32cbed4a59119d7aa46a390cf3de86ca/django_oraclepool-0.4-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "ec2af6361b716ce4702bef005dc0ad26", "sha256": "17409519f63caee31506f64e196944f07299515dcfa21847f4c15ea917bc6cc0" }, "downloads": -1, "filename": "django-oraclepool-0.4.tar.gz", "has_sig": false, "md5_digest": "ec2af6361b716ce4702bef005dc0ad26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33240, "upload_time": "2010-01-29T18:00:35", "url": "https://files.pythonhosted.org/packages/82/53/3acb72290cd818e8921788d59e2b3f9f431bb8004f3aba994e54b8f210c7/django-oraclepool-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "522e126b0efc671633a04c380ab30c47", "sha256": "5eab76a8820c11726cbc9ba5e1936015f759a54c070d42c5891d364a43f33e37" }, "downloads": -1, "filename": "django_oraclepool-0.5-py2.5.egg", "has_sig": false, "md5_digest": "522e126b0efc671633a04c380ab30c47", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 24958, "upload_time": "2010-02-19T23:36:28", "url": "https://files.pythonhosted.org/packages/f3/46/71dbaa80128bb6c898592028a63199e600c00dd8d7913b41d725fb316844/django_oraclepool-0.5-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "5338f423986ff2a870077321ddc718dc", "sha256": "8f52cee0b7164be67dc213f5a6b8a6f4578194e00692b3504af50465c17c51ad" }, "downloads": -1, "filename": "django-oraclepool-0.5.tar.gz", "has_sig": false, "md5_digest": "5338f423986ff2a870077321ddc718dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34365, "upload_time": "2010-02-19T23:36:28", "url": "https://files.pythonhosted.org/packages/b0/5d/c80acb9250c6b67c7d04882364dbb2539c6f186960f8b9cee8eda1486936/django-oraclepool-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "aefba00ec4f8622c3fcc18dc25858b7e", "sha256": "bfd34edb9fc04e3f2897c23870ebca94af4700539d2d1411c87745bebacc58cf" }, "downloads": -1, "filename": "django_oraclepool-0.6-py2.5.egg", "has_sig": false, "md5_digest": "aefba00ec4f8622c3fcc18dc25858b7e", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 25474, "upload_time": "2010-06-18T12:44:38", "url": "https://files.pythonhosted.org/packages/1b/38/2b3d048f4af390211ac9d26954a0528d9002de66d49825fb2e86a4b55bc5/django_oraclepool-0.6-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "8bdfaa94feae483c9efdac1d785f9810", "sha256": "717eea7efe7d0db36018935a353bb877f0ec2effc436b1c75a31b54eff863b5d" }, "downloads": -1, "filename": "django-oraclepool-0.6.tar.gz", "has_sig": false, "md5_digest": "8bdfaa94feae483c9efdac1d785f9810", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32131, "upload_time": "2010-06-18T12:44:37", "url": "https://files.pythonhosted.org/packages/b5/b6/5c64d1e06e5079e784c99d2c623c6ffa3ea51e47f367b7e7e85090ee3e6d/django-oraclepool-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "37ec5cd2278c88ec1bcd9468a79f16ad", "sha256": "eda71b1f6158695279a3d08f682cae5cec4d4ef95169b84b74c385ae88ca978e" }, "downloads": -1, "filename": "django_oraclepool-0.7-py2.6.egg", "has_sig": false, "md5_digest": "37ec5cd2278c88ec1bcd9468a79f16ad", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 26191, "upload_time": "2010-09-20T14:38:14", "url": "https://files.pythonhosted.org/packages/65/7e/9b64ab776606dc2245e12f9a7159906a29e0bad0dd891894aadfcf9d09f9/django_oraclepool-0.7-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "1d1853e5a060b24d35044a96fa5f0787", "sha256": "7808f0d3b10e13ed1bc1bcd2994172c22c881b11209f915e9f40483ffe2f9df7" }, "downloads": -1, "filename": "django-oraclepool-0.7.tar.gz", "has_sig": false, "md5_digest": "1d1853e5a060b24d35044a96fa5f0787", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32959, "upload_time": "2010-09-20T14:33:07", "url": "https://files.pythonhosted.org/packages/07/c6/d299912b8bc6eef3f5f46f995b02d8020079f427224b51ae0ce66e0c46b8/django-oraclepool-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "183b15ffb3f17a030356d65c96405661", "sha256": "7d1d5c3ea388b5b9ee74c43dc8b97aa9949eb7a85ec226baf54760342087b1db" }, "downloads": -1, "filename": "django_oraclepool-0.8-py2.6.egg", "has_sig": false, "md5_digest": "183b15ffb3f17a030356d65c96405661", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 26434, "upload_time": "2011-04-08T17:31:04", "url": "https://files.pythonhosted.org/packages/9e/52/fabe35fa351bc3c1a783624442e3095cb3707e4ef3f620c621ffc631b4e1/django_oraclepool-0.8-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "e7a3195d2243848aa264425b8b842a41", "sha256": "60458313e6b75d5a0d443353ed3ef46d286aa71fdfb4793931ed93a2939751ad" }, "downloads": -1, "filename": "django-oraclepool-0.8.tar.gz", "has_sig": false, "md5_digest": "e7a3195d2243848aa264425b8b842a41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35811, "upload_time": "2011-04-08T17:31:04", "url": "https://files.pythonhosted.org/packages/71/41/94726d38f78986f3df263a42a29ffaba2fed5cd82c660c0c3838ece07dec/django-oraclepool-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "a66438a3bb475d6fccc5a8d3182dd380", "sha256": "c41e786564750b6fdb29ba5990ae1cc8c250eb5c253dbc7f12d1aa38e360ad6f" }, "downloads": -1, "filename": "django_oraclepool-0.9-py2.6.egg", "has_sig": false, "md5_digest": "a66438a3bb475d6fccc5a8d3182dd380", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 26612, "upload_time": "2012-05-18T13:14:32", "url": "https://files.pythonhosted.org/packages/73/a4/defff50bf6a1fe9317d38c6c6fd711ff957d4e52e41548ed6d04f305ef21/django_oraclepool-0.9-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "048af3744df50a03ada26b382a310d96", "sha256": "605e3bf8759f527a8725176168223cf712e451a0e66fe5d6b312fda343f9b0be" }, "downloads": -1, "filename": "django-oraclepool-0.9.tar.gz", "has_sig": false, "md5_digest": "048af3744df50a03ada26b382a310d96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36391, "upload_time": "2012-05-18T13:14:31", "url": "https://files.pythonhosted.org/packages/5c/0c/22b6ec090e0c0cb983c0e8a8d1a40355c320f600f73b0a035d5717549e20/django-oraclepool-0.9.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "73f427c7624d67f024c75292960f3569", "sha256": "143ba06abac0b2f9aca1f4cb3b794455e18c0a4f75d202e3beaa6a14bd84fee2" }, "downloads": -1, "filename": "django_oraclepool-1.0-py2.6.egg", "has_sig": false, "md5_digest": "73f427c7624d67f024c75292960f3569", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 28200, "upload_time": "2012-11-17T22:08:58", "url": "https://files.pythonhosted.org/packages/f8/54/2f20a99c016dd62bcda8d94a79cd968257e45c5f3e63cc9f4a1a99cc27a2/django_oraclepool-1.0-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "ba8c89b0594e7b0a01ccdc8036f4d2c6", "sha256": "c06d1b06dafe0d899947c5e59653dfc903553710e54737aee828ab213cbb538d" }, "downloads": -1, "filename": "django-oraclepool-1.0.tar.gz", "has_sig": false, "md5_digest": "ba8c89b0594e7b0a01ccdc8036f4d2c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67666, "upload_time": "2012-11-17T22:08:57", "url": "https://files.pythonhosted.org/packages/22/be/f6782cb42d3dc0aa1d386d59caaa8a2d86ff49b9ec154cd0d8d3c1486c34/django-oraclepool-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "6de7a111012a6c0022189e7427cd2d58", "sha256": "443f3691058efabda7ebd1692df2d54129143efd8b45d6323e77d43e722c19cc" }, "downloads": -1, "filename": "django_oraclepool-1.1-py2.6.egg", "has_sig": false, "md5_digest": "6de7a111012a6c0022189e7427cd2d58", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 84882, "upload_time": "2012-11-18T20:53:13", "url": "https://files.pythonhosted.org/packages/11/1a/9b86b8296ee3a947641c645d4e926ff366a69b1d43ac4e962f14ea1d29e2/django_oraclepool-1.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "444b07fbf1729ac44cdd859cf509da18", "sha256": "5424fcc501dbdad9039363cb6350e2b8d58364f21fefb5c2d1927677eca5e52f" }, "downloads": -1, "filename": "django-oraclepool-1.1.tar.gz", "has_sig": false, "md5_digest": "444b07fbf1729ac44cdd859cf509da18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37833, "upload_time": "2012-11-18T20:53:10", "url": "https://files.pythonhosted.org/packages/0d/e9/e899621308a2915459c7ac22333f0e824b25b67175333b160793d4a22d54/django-oraclepool-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "b9d97475a57ee0dd81d86d1e2fe87352", "sha256": "fa6c7d73717894ae8c9664f7b32155714b86534968d6973be0169b03ed601a4c" }, "downloads": -1, "filename": "django_oraclepool-1.2-py2.6.egg", "has_sig": false, "md5_digest": "b9d97475a57ee0dd81d86d1e2fe87352", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 85242, "upload_time": "2013-02-01T16:27:59", "url": "https://files.pythonhosted.org/packages/a0/32/963288212a831e39472722892cef6f51b1ec245bdad04e8f335c0d3f4532/django_oraclepool-1.2-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "dd0b6b73bb9d1ae9f090f5c4d5213206", "sha256": "5b1b4e7399fc51a7b88ad9f10254ab7b99a6f3169a30562ec86aa2a1e5e4af91" }, "downloads": -1, "filename": "django-oraclepool-1.2.tar.gz", "has_sig": false, "md5_digest": "dd0b6b73bb9d1ae9f090f5c4d5213206", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38595, "upload_time": "2013-02-01T16:23:54", "url": "https://files.pythonhosted.org/packages/82/20/85c3e0f6641d4e42952abf33cb2421168d397a2696f64bcc511af41beb4d/django-oraclepool-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "dfcca98ee3e45fee7366f41e2ef4cf48", "sha256": "5c5c550f642bf2da256f0e1cf6eb747f3f28c019448d60429cb0f8b7b16527e7" }, "downloads": -1, "filename": "django_oraclepool-1.3-py2.6.egg", "has_sig": false, "md5_digest": "dfcca98ee3e45fee7366f41e2ef4cf48", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 85641, "upload_time": "2013-02-17T20:19:49", "url": "https://files.pythonhosted.org/packages/5b/2f/bcc01f746fca27dd4c3e613caea7f948ea1b3730250d7f249c5d9e6917e4/django_oraclepool-1.3-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "8a8adfb252907b7dfde6b8d1da4ffeff", "sha256": "d2ceb731b9ef2d967b9408f0202527697c0aed1a5654316620a70045e3c2f994" }, "downloads": -1, "filename": "django-oraclepool-1.3.tar.gz", "has_sig": false, "md5_digest": "8a8adfb252907b7dfde6b8d1da4ffeff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38880, "upload_time": "2013-02-17T20:19:42", "url": "https://files.pythonhosted.org/packages/66/05/1bbd8654568646a05cdff15ca465472e2ceeed5b8496a21f05b32fc1d933/django-oraclepool-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "c0b10abf7e8c55a844e6bc7ed922109a", "sha256": "9a1f68b88e38353f18be9bd9e1665dc14cbba3cdc81d92b00f313d55b909b149" }, "downloads": -1, "filename": "django-oraclepool-1.4.tar.gz", "has_sig": false, "md5_digest": "c0b10abf7e8c55a844e6bc7ed922109a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34978, "upload_time": "2014-08-13T16:21:05", "url": "https://files.pythonhosted.org/packages/23/44/c2b3d70f9778bc7fade42945501ed3e5258cf4ded7a81855193096d4bbf3/django-oraclepool-1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c0b10abf7e8c55a844e6bc7ed922109a", "sha256": "9a1f68b88e38353f18be9bd9e1665dc14cbba3cdc81d92b00f313d55b909b149" }, "downloads": -1, "filename": "django-oraclepool-1.4.tar.gz", "has_sig": false, "md5_digest": "c0b10abf7e8c55a844e6bc7ed922109a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34978, "upload_time": "2014-08-13T16:21:05", "url": "https://files.pythonhosted.org/packages/23/44/c2b3d70f9778bc7fade42945501ed3e5258cf4ded7a81855193096d4bbf3/django-oraclepool-1.4.tar.gz" } ] }