{ "info": { "author": "Denis Krienb\u00fchl", "author_email": "denis@href.ch", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Libres\n======\n\nLibres is a reservations management library to reserve things like tables at\na restaurant or tickets at an event. It works with Python 2.7 and Python 3.3+\nand requires Postgresql 9.1.\n\n`Documentation `_ | `Source `_ | `Bugs `_\n\n**This library is at an experimental stage and not yet suitable for production**\n\n.. image:: https://travis-ci.org/seantis/libres.svg?branch=master\n :target: https://travis-ci.org/seantis/libres\n :alt: travis build status\n\n.. image:: https://coveralls.io/repos/seantis/libres/badge.png\n :target: https://coveralls.io/r/seantis/libres\n :alt: coveralls.io coverage\n\n.. image:: https://img.shields.io/pypi/v/libres.svg\n :target: https://pypi.python.org/pypi/libres\n :alt: Latest PyPI release\n\nChangelog\n---------\n\n0.5.1 (2019-01-23)\n~~~~~~~~~~~~~~~~~~~\n\n- Fixes overlapping allocations not being skipped in all cases.\n [href]\n\n0.5.0 (2019-01-17)\n~~~~~~~~~~~~~~~~~~~\n\n- Adds the ability to skip overlapping allocations.\n [href]\n\n0.4.0 (2017-06-16)\n~~~~~~~~~~~~~~~~~~~\n\n- Adds the ability to define the allocation/reservation class used by the\n scheduler.\n\n0.3.1 (2017-06-07)\n~~~~~~~~~~~~~~~~~~~\n\n- Approved reservations may have session ids again, this restores backwards\n compatibiility with seantis.reservation.\n [href]\n\n0.3.0 (2017-06-07)\n~~~~~~~~~~~~~~~~~~~\n\n- Enables polymorphy on reservations and allocations.\n [href]\n\n0.2.4 (2017-01-10)\n~~~~~~~~~~~~~~~~~~~\n\n- Fixes reservation length check not working on DST days.\n [href]\n\n0.2.3 (2016-10-25)\n~~~~~~~~~~~~~~~~~~~\n\n- Small performance improvements when dealing with many allocations.\n [href]\n\n0.2.2 (2016-07-08)\n~~~~~~~~~~~~~~~~~~~\n\n- Ensures that all models are hashable to avoid problems with certain\n SQLAlchemy extensions/plugins.\n [href]\n\n0.2.1 (2016-04-27)\n~~~~~~~~~~~~~~~~~~~\n\n- Reservations added to the same session may not be duplicated anymore.\n [href]\n\n- Errors raised during reservation now have a 'reservation' attribute.\n [href]\n\n0.2.0 (2016-04-26)\n~~~~~~~~~~~~~~~~~~~\n\n- Adds the ability to have a single token shared across multiple reservations\n in a single session.\n [href]\n\n0.1.4 (2015-11-25)\n~~~~~~~~~~~~~~~~~~~\n\n- Adds the ability to change unapproved reservations.\n [href]\n\n- Adds an extra check for start/end time. If the requested start/end time lies\n outside any possible allocation, an error is raised.\n [href]\n\n- Ensures that approved reservations cannot be somehow removed during cleanup.\n [href]\n\n0.1.3 (2015-09-03)\n~~~~~~~~~~~~~~~~~~\n\n- Adds a method to remove unused allocations.\n [href]\n\n0.1.2 (2015-08-25)\n~~~~~~~~~~~~~~~~~~\n\n- Replaces libres.modules.calendar with sedate.\n [href]\n\n- Naive start/end dates on the allocation are now automatically converted into\n the correct timezone when they are set.\n [href]\n\n0.1.1 (2015-08-19)\n~~~~~~~~~~~~~~~~~~\n\n- It was possible to add or move an allocation to an invalid state (end before\n start date). This is now caught correctly.\n [href]\n\n0.1.0 (2015-07-30)\n~~~~~~~~~~~~~~~~~~\n\n- BREAKING CHANGE: This release switches to a single SERIALIZED connections.\n\n Previously it used a READ COMMITED and a SERIALIZED connection in parallel,\n switching to the READ COMMITED connection for readonly queries and using\n the SERIALIZED connection for write queries.\n\n Using a serialized connection for everything reduces speed slightly (though\n we haven't been able to measure the effect on our lowish traffic sites). But\n it makes it easier to use libres with an existing connection when integrating\n it.\n\n It also simplifies the code by quite a bit.\n\n0.0.2 (2015-03-16)\n~~~~~~~~~~~~~~~~~~\n\n- Fix being unable to delete an allocation with a quota > 1. \n See issue #8.\n [href]\n\n- Replace read session write guard with a simpler version.\n [href]\n\n0.0.1 (2015-02-09)\n~~~~~~~~~~~~~~~~~~\n\n- Initial release.\n [href]\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/seantis/libres/", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "libres", "package_url": "https://pypi.org/project/libres/", "platform": "any", "project_url": "https://pypi.org/project/libres/", "project_urls": { "Homepage": "http://github.com/seantis/libres/" }, "release_url": "https://pypi.org/project/libres/0.5.1/", "requires_dist": [ "cached-property (>=1.2.0)", "python-dateutil", "psycopg2", "pytz", "sedate", "SQLAlchemy (>=0.9)", "jsonpickle ; extra == 'test'", "mock ; extra == 'test'", "pytest ; extra == 'test'", "pytest-cov ; extra == 'test'", "testing.postgresql ; extra == 'test'" ], "requires_python": "", "summary": "A library to reserve things", "version": "0.5.1" }, "last_serial": 4729692, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "6324f9c0dd9de575bd3e9915ce53c737", "sha256": "74903882ca87e867d2c939a1fc69f505214837db67c875152462f0eb0c68c227" }, "downloads": -1, "filename": "libres-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6324f9c0dd9de575bd3e9915ce53c737", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78157, "upload_time": "2015-02-09T16:47:23", "url": "https://files.pythonhosted.org/packages/09/1b/ad5c0998a9f89946fb8f8cc4770664a7dc47a1647eb677d87d25c8854041/libres-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "58c3222f21b944771e0885bd2b391e6c", "sha256": "2c59f74953ee796ecc720f441b120ef6eaf201097f0d20bbba10fbab8a463150" }, "downloads": -1, "filename": "libres-0.0.2.tar.gz", "has_sig": false, "md5_digest": "58c3222f21b944771e0885bd2b391e6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79892, "upload_time": "2015-03-16T09:32:37", "url": "https://files.pythonhosted.org/packages/c9/c0/9cab0fb16847169d97fd899a4bf3f358e63fea14de15c9cab982f23d12be/libres-0.0.2.tar.gz" } ], "0.1": [], "0.1.0": [ { "comment_text": "", "digests": { "md5": "ec58cd73e4f223afad95fa27ffc8dd90", "sha256": "b5b3c10e3190b4715a7b996fa509cf9e7d27f2abedd9b656828227f2ea37250f" }, "downloads": -1, "filename": "libres-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ec58cd73e4f223afad95fa27ffc8dd90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78576, "upload_time": "2015-07-30T09:48:44", "url": "https://files.pythonhosted.org/packages/be/15/791e5f198d6ff593923dee4eb1cf7f8ee4d75d6094c96df08100d7f2e913/libres-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d7d428ce293637d2e10a6c6e7183f228", "sha256": "5918451960369146f3def291312cd1a9e0cb57cd91ff6aed2529ea70b357fc2b" }, "downloads": -1, "filename": "libres-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d7d428ce293637d2e10a6c6e7183f228", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78829, "upload_time": "2015-08-19T14:48:28", "url": "https://files.pythonhosted.org/packages/e7/79/1fd111b939541f3436af8c249a800630ceab294065a65b0c8d8a6318b397/libres-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b07337ec87158619f54ae4ab52e559b5", "sha256": "b12f133a7eb3c165331818a9cc49dd19250b93bfec5f4e109d7bf34efd91a7f9" }, "downloads": -1, "filename": "libres-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b07337ec87158619f54ae4ab52e559b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76572, "upload_time": "2015-08-25T12:57:56", "url": "https://files.pythonhosted.org/packages/13/82/af6b24eeceb9a960a56329ede07760796833d6a0b01b030a8a4ff8c2d5af/libres-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "246bb037bb1952a0536a7be38fdbed91", "sha256": "829c58bae5c3cbd0a5e64aa115837fd124fe8d4d6f73dc5db24a1ed20f67000b" }, "downloads": -1, "filename": "libres-0.1.3.tar.gz", "has_sig": false, "md5_digest": "246bb037bb1952a0536a7be38fdbed91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77280, "upload_time": "2015-09-03T08:25:12", "url": "https://files.pythonhosted.org/packages/8f/9f/a1089df15e828ed98ebb2ab6fc7f2cabe3ccdaaf478af7839b1685d4d1f1/libres-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c05fd97e550d18fc1121328b864b6263", "sha256": "3d5d17c0803c920d872f2faf52148a26f533fef95e8310b0c50f7e571ac8aefc" }, "downloads": -1, "filename": "libres-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "c05fd97e550d18fc1121328b864b6263", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 59378, "upload_time": "2015-11-25T14:23:24", "url": "https://files.pythonhosted.org/packages/13/a8/bde98d91b7919a9fc45f04eb1f863f2bd505f3b0621769a0c346927ebeb8/libres-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50641e31b36a6fc7351ddb7bfd4dda3c", "sha256": "719262bc87bbe45e758c6e66333d94fc4308fd1f41d0f3287e788785b3ba2b82" }, "downloads": -1, "filename": "libres-0.1.4.tar.gz", "has_sig": false, "md5_digest": "50641e31b36a6fc7351ddb7bfd4dda3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79616, "upload_time": "2015-11-25T14:23:31", "url": "https://files.pythonhosted.org/packages/d5/4f/31313195f10e37953e061e96f5e944caa446f5cbf9fef84ad1a7a83dd04f/libres-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f0779b26b6ee5308cf4741592c69da45", "sha256": "2e612a498d4e67f9f9ae5d3e9f277295d88d8b9457e6767f7a06854c43fd9de7" }, "downloads": -1, "filename": "libres-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f0779b26b6ee5308cf4741592c69da45", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59925, "upload_time": "2016-04-26T12:23:42", "url": "https://files.pythonhosted.org/packages/c9/f8/03ce160aa230e6c1fdba6f596a39675498a843fdc1e49a0549372faba634/libres-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52910e1855e3b268adc8dfb9f03f5ec8", "sha256": "02dafe46e1ad750d297edf25257e7dabd75de4f6f509fa16f69144d931e36e42" }, "downloads": -1, "filename": "libres-0.2.0.tar.gz", "has_sig": false, "md5_digest": "52910e1855e3b268adc8dfb9f03f5ec8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77306, "upload_time": "2016-04-26T12:23:52", "url": "https://files.pythonhosted.org/packages/eb/70/5ebf7a9af861a1d32a157b4a1d06946c18edf1a9172c23a0536f9ed4aafc/libres-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "42257041851bdb330a9fec8ab361d458", "sha256": "211b1afede2e8bce78ea7f4c76464d2292b63f468e8f439e5005acb98c3287a2" }, "downloads": -1, "filename": "libres-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "42257041851bdb330a9fec8ab361d458", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60450, "upload_time": "2016-04-27T14:02:35", "url": "https://files.pythonhosted.org/packages/c7/80/92e1f1fd5969ac7d9c41a8992cbdc3e2bc989461aa329f9a25a9a23dfa6b/libres-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1179a700662f77610ce68cb25f29ce00", "sha256": "92a390439ef0f6216852fd8f0e9de0cee9bb1123693c79cfb09f447999f95138" }, "downloads": -1, "filename": "libres-0.2.1.tar.gz", "has_sig": false, "md5_digest": "1179a700662f77610ce68cb25f29ce00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77712, "upload_time": "2016-04-27T14:02:41", "url": "https://files.pythonhosted.org/packages/4f/1b/6163e6be36577034e75c7f093e98279cf3c22a00efe0fec699d76927178e/libres-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "15f92f1940bb5fe96bb274473fa72938", "sha256": "4fcfb273dade6dc2c29f0dcc7840d2f59322b1cb8d11001d872a65d93cf13d3a" }, "downloads": -1, "filename": "libres-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "15f92f1940bb5fe96bb274473fa72938", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60591, "upload_time": "2016-07-08T12:07:04", "url": "https://files.pythonhosted.org/packages/eb/7b/5f701482695e9b682d774ad166325d41857cee16741b5307329d17d9c1e7/libres-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6f9d168a1537303b4a7b937da6b08fa", "sha256": "ffb79adb98c1fa0bc8756d7a1b3f09fdc9ece63fc692351e044f4f786e47be81" }, "downloads": -1, "filename": "libres-0.2.2.tar.gz", "has_sig": false, "md5_digest": "c6f9d168a1537303b4a7b937da6b08fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77815, "upload_time": "2016-07-08T12:07:08", "url": "https://files.pythonhosted.org/packages/a5/74/aea7f42b41226b5a3fb529c1a904a7f06c28a94e83be8f3b5e0f7723875c/libres-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "5233f4f9311d20fb54cc3f3fff598ebc", "sha256": "05aa40549e980b494963851470d9121b576bacb1286968e8e89be64a4770b211" }, "downloads": -1, "filename": "libres-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5233f4f9311d20fb54cc3f3fff598ebc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60860, "upload_time": "2016-10-25T09:54:02", "url": "https://files.pythonhosted.org/packages/fe/42/a4031d7afa5eb9e96de8bd5784fdd5a3eda23bb1e7211ed6b5ba18d00d98/libres-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3bcf166c2aa482a11567d16a08ee1e53", "sha256": "ca370619ab7f060dfb41a0de1a80138fea9d6308cec7e93cb809e13da0ac0097" }, "downloads": -1, "filename": "libres-0.2.3.tar.gz", "has_sig": false, "md5_digest": "3bcf166c2aa482a11567d16a08ee1e53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78033, "upload_time": "2016-10-25T09:54:04", "url": "https://files.pythonhosted.org/packages/23/05/3731bd2a7979a86122d05cdfd9a7b8533ea9aef09f316e8a787e76f7a318/libres-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "e61b326416b07cfc372cb8ed8794d9e2", "sha256": "53929b86e853363387d71c8d46c67e4594204aac6ee3339450f261dea50880fa" }, "downloads": -1, "filename": "libres-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e61b326416b07cfc372cb8ed8794d9e2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 61477, "upload_time": "2017-01-10T08:13:28", "url": "https://files.pythonhosted.org/packages/d1/b9/561cb081a6a991b27685ec7e2a2e3916a220d90d2635bcc1195db7221a29/libres-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e03536e1320445b0ebe82083aa04b92c", "sha256": "167ded6e04c0689b8ede85a8cd2b2641184a16b485651e01ec68387011b79ec0" }, "downloads": -1, "filename": "libres-0.2.4.tar.gz", "has_sig": false, "md5_digest": "e03536e1320445b0ebe82083aa04b92c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78340, "upload_time": "2017-01-10T08:13:30", "url": "https://files.pythonhosted.org/packages/ef/77/c2d8f98e8f1f08bcd5d4cabe848aca02ebf493d6c364722d4420a4e7d2ba/libres-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "4d59651367e8a5feb203a973640c7583", "sha256": "dfaa2fa0dc4f37f239fe2bb8b7b7bac12ecafba10067d011e82db3a921b47390" }, "downloads": -1, "filename": "libres-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4d59651367e8a5feb203a973640c7583", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 61649, "upload_time": "2017-06-07T08:18:27", "url": "https://files.pythonhosted.org/packages/88/7b/18fa83945268efcd82759251d50cfdd5059b0b0074ec309633ac3af29232/libres-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0bf4988feda0902083244b5bfc550f5", "sha256": "529a9136af19e816fa75c644c4a0d4dfe074151351fe7e0c1cfd2645d2d46203" }, "downloads": -1, "filename": "libres-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f0bf4988feda0902083244b5bfc550f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78452, "upload_time": "2017-06-07T08:18:29", "url": "https://files.pythonhosted.org/packages/0c/de/20caa76489dc06972580c67e86e577534a1d8e7a623c02d6eb97b3349694/libres-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "8c9d04e38e4751358fc307835a9aa2e6", "sha256": "b34619e6a65417032161909791904da4efe560e0ff4f13f11c5f670be88666bf" }, "downloads": -1, "filename": "libres-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8c9d04e38e4751358fc307835a9aa2e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 61672, "upload_time": "2017-06-07T08:57:39", "url": "https://files.pythonhosted.org/packages/fc/92/0d94991bfa9371b5c7d38447d2c5caed0fde662088c088f1cfb861de127c/libres-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b930b472d8abd422913df84bd71d4594", "sha256": "892674fa5d22712278e1742933717e75f00d015d69bb2c3088a7dacca7b374a0" }, "downloads": -1, "filename": "libres-0.3.1.tar.gz", "has_sig": false, "md5_digest": "b930b472d8abd422913df84bd71d4594", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78445, "upload_time": "2017-06-07T08:57:41", "url": "https://files.pythonhosted.org/packages/4f/5b/ea00b3f46d4e1806453405a559f7e2383d797d71447add17fb952d9467a8/libres-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "b312551e27ab0b2602339890fcc246b1", "sha256": "a72f80ffa5eeadca35917350eac2ef1135617a18e1776f6f764b4efc503cfeee" }, "downloads": -1, "filename": "libres-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b312551e27ab0b2602339890fcc246b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 61792, "upload_time": "2017-06-16T08:58:48", "url": "https://files.pythonhosted.org/packages/35/26/ae7a9770ea6bf7abefabd7b48695f9ab66f7a36f4877f7d44f6fbccfcdcd/libres-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ee6560f494c617b347687703ee364ba", "sha256": "8490c8aca4b14d66558a6493516321e9064be9e8e2b0a8ecc62e8754f2a17fa5" }, "downloads": -1, "filename": "libres-0.4.0.tar.gz", "has_sig": false, "md5_digest": "4ee6560f494c617b347687703ee364ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78529, "upload_time": "2017-06-16T08:58:50", "url": "https://files.pythonhosted.org/packages/82/39/f65f07e19aa0e9637fd7fd727fdd18d02d6c86eb55048b2f39f2f32e9030/libres-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "3f48c71bfa01b94ecbd2b5b81f4c9719", "sha256": "cf47f5bed1589a60e8033f55bca2e1b42287b77b0964bba8b0d92bf1066996ca" }, "downloads": -1, "filename": "libres-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3f48c71bfa01b94ecbd2b5b81f4c9719", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59432, "upload_time": "2019-01-17T08:17:52", "url": "https://files.pythonhosted.org/packages/27/34/b76011402da8399ab1605b4786e51ec6992934444246a3b208d1eb834ed4/libres-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93b9cdb7e617244876d987f124951446", "sha256": "054e70786edc49b62d722a6fb13b48aa1bae40691183df2bbd165f8c9f416030" }, "downloads": -1, "filename": "libres-0.5.0.tar.gz", "has_sig": false, "md5_digest": "93b9cdb7e617244876d987f124951446", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82177, "upload_time": "2019-01-17T08:17:54", "url": "https://files.pythonhosted.org/packages/ae/23/a72858df11c6a3e06086377a4bb359152bda214115632a5359027946ec6c/libres-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "eddfbb5d499707bd026a0bd383f012b6", "sha256": "46460018db0ef095d036e1d4e89d1f4dd1349b0793cd2ff49eb339a98587d4a6" }, "downloads": -1, "filename": "libres-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eddfbb5d499707bd026a0bd383f012b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59467, "upload_time": "2019-01-23T08:34:11", "url": "https://files.pythonhosted.org/packages/d1/f6/1c2397175f64b92a86802f3717ff1a81995354e709eb09d24043a1035dfb/libres-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97b2d5531323e7ab7cd3dc0fc338f89a", "sha256": "ecbfb077c42e6fed4e39b7d1f80ad4fbae77e9bf9ee1c6ee652e3db861c70f16" }, "downloads": -1, "filename": "libres-0.5.1.tar.gz", "has_sig": false, "md5_digest": "97b2d5531323e7ab7cd3dc0fc338f89a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82296, "upload_time": "2019-01-23T08:34:13", "url": "https://files.pythonhosted.org/packages/92/1a/2c3641915c3e79c33145d95770c48afda63b8aba1af59e41d41583322802/libres-0.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eddfbb5d499707bd026a0bd383f012b6", "sha256": "46460018db0ef095d036e1d4e89d1f4dd1349b0793cd2ff49eb339a98587d4a6" }, "downloads": -1, "filename": "libres-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eddfbb5d499707bd026a0bd383f012b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59467, "upload_time": "2019-01-23T08:34:11", "url": "https://files.pythonhosted.org/packages/d1/f6/1c2397175f64b92a86802f3717ff1a81995354e709eb09d24043a1035dfb/libres-0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "97b2d5531323e7ab7cd3dc0fc338f89a", "sha256": "ecbfb077c42e6fed4e39b7d1f80ad4fbae77e9bf9ee1c6ee652e3db861c70f16" }, "downloads": -1, "filename": "libres-0.5.1.tar.gz", "has_sig": false, "md5_digest": "97b2d5531323e7ab7cd3dc0fc338f89a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82296, "upload_time": "2019-01-23T08:34:13", "url": "https://files.pythonhosted.org/packages/92/1a/2c3641915c3e79c33145d95770c48afda63b8aba1af59e41d41583322802/libres-0.5.1.tar.gz" } ] }