{ "info": { "author": "Noah Levitt", "author_email": "nlevitt@archive.org", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. image:: https://travis-ci.org/internetarchive/doublethink.svg?branch=master\n :target: https://travis-ci.org/internetarchive/doublethink\n\ndoublethink\n============\n\nRethinkDB python library. Provides connection manager and ORM framework\n(object-relational mapping, sometimes called ODM or OM for nosql databases).\n\nConnection Manager\n------------------\n\nThree main purposes:\n\n- round-robin connections among database servers\n- make sure connections close at proper time\n- retry retry-able queries on failure\n\nNot currently a connection pool, because it doesn\u2019t keep any connections open.\nShould be possible to implement connection pooling without changing the API.\nHowever, testing suggests there would be no appreciable performance gain from\nconnection pooling.\n\nUsage Example\n~~~~~~~~~~~~~\n\n::\n\n import doublethink\n rr = doublethink.Rethinker(['db0.foo.com', 'db0.foo.com:38015', 'db1.foo.com'], 'my_db')\n rr.table('mytable').insert({'foo':'bar','baz':2}).run()\n for result in rr.table('mytable'):\n print(\"result={}\".format(result))\n\nORM\n---\n\nSimple yet powerful ORM system. *Does not enforce a schema.*\n\nUsage Example\n~~~~~~~~~~~~~\n\n::\n\n import doublethink\n\n rr = doublethink.Rethinker(['db0.foo.com', 'db0.foo.com:38015', 'db1.foo.com'], 'my_db')\n\n class MyTable(doublethink.Document):\n pass\n MyTable.table_create(rr)\n\n doc1 = MyTable(rr, {'animal': 'elephant', 'size': 'large'})\n doc1.save()\n\n doc1_copy = MyTable.load(rr, doc1.id)\n doc1_copy.food = 'bread'\n doc1_copy.save()\n\n doc1.first_name = 'Frankworth'\n doc1.save()\n\n doc1.refresh()\n\nService Registry\n----------------\n\nNow also has a ServiceRegistry class, a lightweight solution for service\ndiscovery for distributed services. Maintains service info and status in\na rethinkdb table called \u201cservices\u201d.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/internetarchive/doublethink", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "doublethink", "package_url": "https://pypi.org/project/doublethink/", "platform": "", "project_url": "https://pypi.org/project/doublethink/", "project_urls": { "Homepage": "https://github.com/internetarchive/doublethink" }, "release_url": "https://pypi.org/project/doublethink/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "rethinkdb python library", "version": "0.3.0" }, "last_serial": 5283255, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "c442a6caa05a9a9c11974747188557c2", "sha256": "70d09a1bc55eb16ed05fc5119939d32134ab384c80d1180c36ca47607b754912" }, "downloads": -1, "filename": "doublethink-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c442a6caa05a9a9c11974747188557c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12806, "upload_time": "2019-03-06T20:57:02", "url": "https://files.pythonhosted.org/packages/37/11/5fb4f5fe97fdb2f4d6d3f553c7f31a1c778e000bedb6f13bccfb1a35b8c2/doublethink-0.2.0.tar.gz" } ], "0.2.0.dev66": [ { "comment_text": "", "digests": { "md5": "1f9a8d5d2b8a6238fbebd6a10f258643", "sha256": "45cede5d8454e920bf8f51c031e1f31d906de70516df8c1e422ced69dae38e0a" }, "downloads": -1, "filename": "doublethink-0.2.0.dev66.tar.gz", "has_sig": false, "md5_digest": "1f9a8d5d2b8a6238fbebd6a10f258643", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7215, "upload_time": "2017-03-02T01:34:17", "url": "https://files.pythonhosted.org/packages/6c/f1/23281e9dea9839ca3d8c4dc1d3270c0fe86a92c62436c549311c570f4c6c/doublethink-0.2.0.dev66.tar.gz" } ], "0.2.0.dev67": [ { "comment_text": "", "digests": { "md5": "42043788a92ae2c2fd017f80ff90d4a3", "sha256": "2a36e476f1d7de4f27559714c97855984c288032ad6fca66d01194c5b9a77389" }, "downloads": -1, "filename": "doublethink-0.2.0.dev67.tar.gz", "has_sig": false, "md5_digest": "42043788a92ae2c2fd017f80ff90d4a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7222, "upload_time": "2017-03-02T01:37:26", "url": "https://files.pythonhosted.org/packages/2d/a7/f397c26116e3db58616ae1367aa0714d0c196f885013323cb52d9d66ecb9/doublethink-0.2.0.dev67.tar.gz" } ], "0.2.0.dev69": [ { "comment_text": "", "digests": { "md5": "230ae856da68131f49f64cb3ab79b1ab", "sha256": "3f2eed63085e40a37791919028f8593961e760a8a7295b515b6de6410f531161" }, "downloads": -1, "filename": "doublethink-0.2.0.dev69.tar.gz", "has_sig": false, "md5_digest": "230ae856da68131f49f64cb3ab79b1ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7242, "upload_time": "2017-03-02T19:16:06", "url": "https://files.pythonhosted.org/packages/89/25/5bfe21b94666df35ab74db1dcdc508753f7ffc1e10ae83006865851703b1/doublethink-0.2.0.dev69.tar.gz" } ], "0.2.0.dev70": [ { "comment_text": "", "digests": { "md5": "a9a56c977f35bf6a5d5eb79e84e8f885", "sha256": "7f7015490c0140c0e90d937c7f19f0b6604987cd930ea6dc2cb72ba3ca1d19d0" }, "downloads": -1, "filename": "doublethink-0.2.0.dev70.tar.gz", "has_sig": false, "md5_digest": "a9a56c977f35bf6a5d5eb79e84e8f885", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7322, "upload_time": "2017-03-07T21:18:30", "url": "https://files.pythonhosted.org/packages/90/14/dd19f5c750de61d9b92020442b9ae470c3a28a8e1f569ba61b5bfe9eb5b0/doublethink-0.2.0.dev70.tar.gz" } ], "0.2.0.dev71": [ { "comment_text": "", "digests": { "md5": "e530bd6673b49e436092735e3a5749aa", "sha256": "ffbbd1a9aea8d43c38199738c00d8907524b3f4fa34701387b9aa1bc0125fdf8" }, "downloads": -1, "filename": "doublethink-0.2.0.dev71.tar.gz", "has_sig": false, "md5_digest": "e530bd6673b49e436092735e3a5749aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7315, "upload_time": "2017-03-08T01:49:50", "url": "https://files.pythonhosted.org/packages/0f/b4/1ef793ca79ef5cf3aecc8fbd5963fc241cfb5c5fc7cfeb8ad32fae27d422/doublethink-0.2.0.dev71.tar.gz" } ], "0.2.0.dev72": [ { "comment_text": "", "digests": { "md5": "ffdff1e664ecc7c0019504711fc44326", "sha256": "6be94fd943ed8a765062f8a8132ecaa986bc8b72c7ae75bc41035bc9691d1c1e" }, "downloads": -1, "filename": "doublethink-0.2.0.dev72.tar.gz", "has_sig": false, "md5_digest": "ffdff1e664ecc7c0019504711fc44326", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7550, "upload_time": "2017-04-17T20:50:51", "url": "https://files.pythonhosted.org/packages/59/f0/3d812c35a973b85dd377a5904f6971ce17d1b77261cc3d1a7f3aa164c413/doublethink-0.2.0.dev72.tar.gz" } ], "0.2.0.dev73": [ { "comment_text": "", "digests": { "md5": "b144b8768ea788f179bf5585696aa2e4", "sha256": "b4deb51d19cdf343173875b5abc239df77367adb7125b35bd5a73b98b2295b50" }, "downloads": -1, "filename": "doublethink-0.2.0.dev73.tar.gz", "has_sig": false, "md5_digest": "b144b8768ea788f179bf5585696aa2e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7846, "upload_time": "2017-04-19T00:15:52", "url": "https://files.pythonhosted.org/packages/69/bb/242dd416be4105ebf3aae5b77a885515734bae3f3ba090db90d3a2b53402/doublethink-0.2.0.dev73.tar.gz" } ], "0.2.0.dev76": [ { "comment_text": "", "digests": { "md5": "d33accd7f46cf998c320f9b04138208e", "sha256": "ecc5ed157928638e013a0c6997bdf2bdbfde2bdf9ab291f8553a6454834d53ac" }, "downloads": -1, "filename": "doublethink-0.2.0.dev76.tar.gz", "has_sig": false, "md5_digest": "d33accd7f46cf998c320f9b04138208e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10018, "upload_time": "2017-05-01T21:01:13", "url": "https://files.pythonhosted.org/packages/ab/a5/3a7bf91d67436b58a2bb529b2dea9746655ce3c06f6fac3cd335c84381c7/doublethink-0.2.0.dev76.tar.gz" } ], "0.2.0.dev81": [ { "comment_text": "", "digests": { "md5": "dfdfb367b4713d114351dfad91c6ac1d", "sha256": "802a94b9bdca7f30b68471d04950a3e04cb6adbea5b40e036fc4bceb6c651d99" }, "downloads": -1, "filename": "doublethink-0.2.0.dev81.tar.gz", "has_sig": false, "md5_digest": "dfdfb367b4713d114351dfad91c6ac1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10075, "upload_time": "2017-05-23T17:21:17", "url": "https://files.pythonhosted.org/packages/df/e4/68ff35eb023d206befd6732801abd6287ca0f1c3453702178fbd9053fc23/doublethink-0.2.0.dev81.tar.gz" } ], "0.2.0.dev82": [ { "comment_text": "", "digests": { "md5": "04a6777a787c0c41c614b11cc97632d2", "sha256": "17795346a7c01155ab21cf0450414d9f9e5c114bf179c3c7fd6459f2021d3ded" }, "downloads": -1, "filename": "doublethink-0.2.0.dev82.tar.gz", "has_sig": false, "md5_digest": "04a6777a787c0c41c614b11cc97632d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10067, "upload_time": "2017-05-26T21:53:26", "url": "https://files.pythonhosted.org/packages/b4/93/1ee40c86e1e802414dd7d87f9d6f67cd7d77beec09f0b015fe0a3f80087e/doublethink-0.2.0.dev82.tar.gz" } ], "0.2.0.dev87": [ { "comment_text": "", "digests": { "md5": "f36bf876b01d802d83b075683e10df24", "sha256": "9588aaf4833e7b20eb004d54126a4677ad2adfd5f1913f9628a6f4a60a884258" }, "downloads": -1, "filename": "doublethink-0.2.0.dev87.tar.gz", "has_sig": false, "md5_digest": "f36bf876b01d802d83b075683e10df24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11398, "upload_time": "2017-10-10T18:45:49", "url": "https://files.pythonhosted.org/packages/34/c8/72e6902b463d11d923f4d8d9d91f244c4f602daacb5fb002ece97be8d9e1/doublethink-0.2.0.dev87.tar.gz" } ], "0.2.0.dev88": [ { "comment_text": "", "digests": { "md5": "4e476c56453c115b6b506c28b6a2e305", "sha256": "17f4cb3a2d79e387679f956464ac876790c41b086a01506b390a8fa1dc0a8b6b" }, "downloads": -1, "filename": "doublethink-0.2.0.dev88.tar.gz", "has_sig": false, "md5_digest": "4e476c56453c115b6b506c28b6a2e305", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11385, "upload_time": "2018-03-22T23:02:37", "url": "https://files.pythonhosted.org/packages/da/5b/aad952115ab45349f23cac9b42ebbe7438223846e1dcb15a08e8ea1e504e/doublethink-0.2.0.dev88.tar.gz" } ], "0.2.0.dev89": [ { "comment_text": "", "digests": { "md5": "18b668f61592479f395ed7bce9a355ab", "sha256": "00d56cca909fe9bf40f4340ca601555e48622f30fa76e7985fb119e542898852" }, "downloads": -1, "filename": "doublethink-0.2.0.dev89.tar.gz", "has_sig": false, "md5_digest": "18b668f61592479f395ed7bce9a355ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11558, "upload_time": "2018-09-18T23:00:13", "url": "https://files.pythonhosted.org/packages/56/b4/31ae9abd3fd39c0e624666e49d599fee11aec7038899e09421ccef647f87/doublethink-0.2.0.dev89.tar.gz" } ], "0.2.0.dev90": [ { "comment_text": "", "digests": { "md5": "5b51d3d66929277063443b211a778bf0", "sha256": "0d40039298340b3a5b8f58b564324e4fab9d876fe5331371bbb1523ec6f333b6" }, "downloads": -1, "filename": "doublethink-0.2.0.dev90.tar.gz", "has_sig": false, "md5_digest": "5b51d3d66929277063443b211a778bf0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11600, "upload_time": "2018-09-27T21:23:01", "url": "https://files.pythonhosted.org/packages/ed/da/dd7d708a2db755f971d59d67c910df940c55d58c237fb58dd3c6c08780dd/doublethink-0.2.0.dev90.tar.gz" } ], "0.2.0.dev92": [ { "comment_text": "", "digests": { "md5": "00067fc38910092cdcc0cbf95d0474ac", "sha256": "01ee1ad1794e017d3b8122fb34be36de877ef673500e4100d5713c647481b9ed" }, "downloads": -1, "filename": "doublethink-0.2.0.dev92.tar.gz", "has_sig": false, "md5_digest": "00067fc38910092cdcc0cbf95d0474ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12456, "upload_time": "2018-10-29T23:59:13", "url": "https://files.pythonhosted.org/packages/6b/9a/87328d911e3ed37d7258a59c1270240880363fa738157a3be39dd2d49d15/doublethink-0.2.0.dev92.tar.gz" } ], "0.2.0.dev93": [ { "comment_text": "", "digests": { "md5": "e794d95e86142e3777974ebdff0c7a08", "sha256": "a63c2aaa07463c49772f92b27bf71a1ed4d75f0c4537d79f0a0d312ffad83915" }, "downloads": -1, "filename": "doublethink-0.2.0.dev93.tar.gz", "has_sig": false, "md5_digest": "e794d95e86142e3777974ebdff0c7a08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12482, "upload_time": "2018-11-01T19:26:52", "url": "https://files.pythonhosted.org/packages/2d/55/038df6de20e8dc89a755a7bf4f58ae36fa558d9f7f350da3546785b7d29d/doublethink-0.2.0.dev93.tar.gz" } ], "0.2.0.dev94": [ { "comment_text": "", "digests": { "md5": "885ba67bb939bd862f2aa64e2621fb80", "sha256": "58974211a665f2d904eda742dd44aa087d45273ee42f3bc18315a5441f418e17" }, "downloads": -1, "filename": "doublethink-0.2.0.dev94.tar.gz", "has_sig": false, "md5_digest": "885ba67bb939bd862f2aa64e2621fb80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12741, "upload_time": "2018-11-02T18:28:26", "url": "https://files.pythonhosted.org/packages/f9/c7/b9ba01411c9d710d1c1a840178caf09356b70620218ca0a69eab024f7d91/doublethink-0.2.0.dev94.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "bbe49f3d6711c3975a4a294f9055ea58", "sha256": "200ea1f5fcc973b1977ea837ac8b18a2abeae2c85cd4021b2b9a670cd42fbf39" }, "downloads": -1, "filename": "doublethink-0.3.0.tar.gz", "has_sig": false, "md5_digest": "bbe49f3d6711c3975a4a294f9055ea58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11608, "upload_time": "2019-05-17T17:18:02", "url": "https://files.pythonhosted.org/packages/b0/f7/8ad0d76ecdae18a40c842beff159b1d478b2762c5e69850a26601ab48cb0/doublethink-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bbe49f3d6711c3975a4a294f9055ea58", "sha256": "200ea1f5fcc973b1977ea837ac8b18a2abeae2c85cd4021b2b9a670cd42fbf39" }, "downloads": -1, "filename": "doublethink-0.3.0.tar.gz", "has_sig": false, "md5_digest": "bbe49f3d6711c3975a4a294f9055ea58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11608, "upload_time": "2019-05-17T17:18:02", "url": "https://files.pythonhosted.org/packages/b0/f7/8ad0d76ecdae18a40c842beff159b1d478b2762c5e69850a26601ab48cb0/doublethink-0.3.0.tar.gz" } ] }