{ "info": { "author": "Rick van Hattem", "author_email": "wolph@wol.ph", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "############################################\nportalocker - Cross-platform locking library\n############################################\n\n.. image:: https://travis-ci.org/WoLpH/portalocker.svg?branch=master\n :alt: Linux Test Status\n :target: https://travis-ci.org/WoLpH/portalocker\n \n.. image:: https://ci.appveyor.com/api/projects/status/mgqry98hgpy4prhh?svg=true\n :alt: Windows Tests Status\n :target: https://ci.appveyor.com/project/WoLpH/portalocker\n\n.. image:: https://coveralls.io/repos/WoLpH/portalocker/badge.svg?branch=master\n :alt: Coverage Status\n :target: https://coveralls.io/r/WoLpH/portalocker?branch=master\n\nOverview\n--------\n\nPortalocker is a library to provide an easy API to file locking.\n\nAn important detail to note is that on Linux and Unix systems the locks are\nadvisory by default. By specifying the `-o mand` option to the mount command it\nis possible to enable mandatory file locking on Linux. This is generally not\nrecommended however. For more information about the subject:\n\n - https://en.wikipedia.org/wiki/File_locking\n - http://stackoverflow.com/questions/39292051/portalocker-does-not-seem-to-lock\n - https://stackoverflow.com/questions/12062466/mandatory-file-lock-on-linux\n\nThe module is currently maintained by Rick van Hattem .\nThe project resides at https://github.com/WoLpH/portalocker . Bugs and feature\nrequests can be submitted there. Patches are also very welcome.\n\nTips\n----\n\nOn some networked filesystems it might be needed to force a `os.fsync()` before closing the file so it's actually written before another client reads the file. Effectively this comes down to:\n\n::\n \n with portalocker.Lock('some_file', 'rb+', timeout=60) as fh:\n # do what you need to do\n ...\n \n # flush and sync to filesystem\n fh.flush()\n os.fsync(fh.fileno())\n\nLinks\n-----\n\n* Documentation\n - http://portalocker.readthedocs.org/en/latest/\n* Source\n - https://github.com/WoLpH/portalocker\n* Bug reports \n - https://github.com/WoLpH/portalocker/issues\n* Package homepage\n - https://pypi.python.org/pypi/portalocker\n* My blog\n - http://w.wol.ph/\n\nExamples\n--------\n\nTo make sure your cache generation scripts don't race, use the `Lock` class:\n\n>>> import portalocker\n>>> with portalocker.Lock('somefile', timeout=1) as fh:\n print >>fh, 'writing some stuff to my cache...'\n\nTo customize the opening and locking a manual approach is also possible:\n\n>>> import portalocker\n>>> file = open('somefile', 'r+')\n>>> portalocker.lock(file, portalocker.LOCK_EX)\n>>> file.seek(12)\n>>> file.write('foo')\n>>> file.close()\n\nThere is no explicit need to unlock the file as it is automatically unlocked\nafter `file.close()`. If you still feel the need to manually unlock a file\nthan you can do it like this:\n\n>>> portalocker.unlock(file)\n\nDo note that your data might still be in a buffer so it is possible that your\ndata is not available until you `flush()` or `close()`.\n\nMore examples can be found in the\n`tests `_.\n\nChangelog\n---------\n\nSee the `changelog `_ page.\n\nLicense\n-------\n\nSee the `LICENSE `_ file.\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/WoLpH/portalocker", "keywords": "locking", "license": "PSF", "maintainer": "", "maintainer_email": "", "name": "portalocker", "package_url": "https://pypi.org/project/portalocker/", "platform": "any", "project_url": "https://pypi.org/project/portalocker/", "project_urls": { "Homepage": "https://github.com/WoLpH/portalocker" }, "release_url": "https://pypi.org/project/portalocker/1.5.1/", "requires_dist": null, "requires_python": "", "summary": "Wraps the portalocker recipe for easy usage", "version": "1.5.1" }, "last_serial": 5632203, "releases": { "0.1": [], "0.2": [ { "comment_text": "", "digests": { "md5": "52cf2f6499c4e56bb4dd03838298ca73", "sha256": "e5bbc14dfd065555edcfa35ca4db91b67d328eeb4587468bc3234f9798cd7822" }, "downloads": -1, "filename": "portalocker-0.2.tar.gz", "has_sig": false, "md5_digest": "52cf2f6499c4e56bb4dd03838298ca73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6058, "upload_time": "2011-02-23T19:26:24", "url": "https://files.pythonhosted.org/packages/0b/9f/6d773cadc04ee63d517a229c7aae690cba20027becac68e035e8c4589639/portalocker-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "887d5d66ae57fda46147b53c49518954", "sha256": "8a08dbfd50e3471a3314dbea5c1ad8cabe69b9a6cf5c359c81c0e8b03a89f04c" }, "downloads": -1, "filename": "portalocker-0.3.tar.gz", "has_sig": false, "md5_digest": "887d5d66ae57fda46147b53c49518954", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6186, "upload_time": "2011-02-23T19:51:48", "url": "https://files.pythonhosted.org/packages/b1/3d/f368d38b07b225679d03e5f189911bc4ea16398751d94156b6ec3b9ab17e/portalocker-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "e2aaa86927ee94989c099a4e08c7d617", "sha256": "a1abceb9e1541b65be58c0619aefa8de6c7612605204f6671de2d885ad54a996" }, "downloads": -1, "filename": "portalocker-0.4.tar.gz", "has_sig": false, "md5_digest": "e2aaa86927ee94989c099a4e08c7d617", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6452, "upload_time": "2013-11-16T04:45:34", "url": "https://files.pythonhosted.org/packages/6a/66/eaca7b95835c1f1a865ac8214859d72271262cf1b92426636c21c734747f/portalocker-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "ad147b19d1e40b2f8df25c9a97a613e9", "sha256": "1cd45e4f1a1289ea054ba61ed88328029096e6d35afa264a31c56f4507e14f1e" }, "downloads": -1, "filename": "portalocker-0.5.tar.gz", "has_sig": false, "md5_digest": "ad147b19d1e40b2f8df25c9a97a613e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6614, "upload_time": "2014-04-29T14:36:08", "url": "https://files.pythonhosted.org/packages/63/aa/30d2bb5027bf245c7500f0cf251226ca880a877d2f9f8d77273b4bd4be69/portalocker-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "dee8373c4fe787b906026b067c71084e", "sha256": "b24c36f52983682678921f8844a056eadf7e0b81339c29c47d037dec51792678" }, "downloads": -1, "filename": "portalocker-0.5.1.tar.gz", "has_sig": false, "md5_digest": "dee8373c4fe787b906026b067c71084e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6683, "upload_time": "2014-05-02T00:09:58", "url": "https://files.pythonhosted.org/packages/df/a0/4733c48bcc6d2ecd9a784c7d4d830418fdb28a7713969904fe39734c6517/portalocker-0.5.1.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "4e41f1675d54574d4f05fc41af08e430", "sha256": "61365a8536fdf9af5f779454ec9cedb00c0e253c221179d5af47e471f2c081a5" }, "downloads": -1, "filename": "portalocker-0.5.3.tar.gz", "has_sig": false, "md5_digest": "4e41f1675d54574d4f05fc41af08e430", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6816, "upload_time": "2014-11-20T00:07:34", "url": "https://files.pythonhosted.org/packages/f7/1f/a4cb968d3a925cf6ea3b67e4d727f1e3e7b6f183d57a9cd14efaa39e0c78/portalocker-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "5e7944066f8e709b22b1778aa3e0b170", "sha256": "fc8d164f0fb737939a6b1a35c6683bda6ea5704ee6c5d3bab3eb6d32b42f7779" }, "downloads": -1, "filename": "portalocker-0.5.4.tar.gz", "has_sig": false, "md5_digest": "5e7944066f8e709b22b1778aa3e0b170", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6846, "upload_time": "2014-11-20T21:15:19", "url": "https://files.pythonhosted.org/packages/87/79/aa2c9d2ac1c226182e092dc2dfd2aead88f3eac2263e52646a60014a7398/portalocker-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "bc3c20df143491b5831b56f11cf6f658", "sha256": "6945df99a4df57e70546d69a849b8d80ffa6c35b4c9e0b0287a13ef2cb36cf04" }, "downloads": -1, "filename": "portalocker-0.5.5.tar.gz", "has_sig": false, "md5_digest": "bc3c20df143491b5831b56f11cf6f658", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6970, "upload_time": "2015-12-30T14:20:10", "url": "https://files.pythonhosted.org/packages/36/6c/1364dc9d14d7a4dd95065bef2e1e2a05e0525fbdbcfe158b15bbb640dc9c/portalocker-0.5.5.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "5304994db385377a922c6920ebf0efff", "sha256": "d7331e28af5e5d82d3aea25f6ed51d89f58e6bb0a7a0e2454fc9be7e854f685f" }, "downloads": -1, "filename": "portalocker-0.5.6.tar.gz", "has_sig": false, "md5_digest": "5304994db385377a922c6920ebf0efff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7311, "upload_time": "2016-02-16T22:15:02", "url": "https://files.pythonhosted.org/packages/c4/3e/eb94e9c5d55d14efb105658aa6c5769baff10c5f8b128ba5b38cf772202a/portalocker-0.5.6.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "d4bd4a7cc1e943a8f3825cd9726269a9", "sha256": "5a3dfbe550933595ba479964ab48ebab9b3f33ae8d2ad16c02e1c91697466322" }, "downloads": -1, "filename": "portalocker-0.5.7.tar.gz", "has_sig": false, "md5_digest": "d4bd4a7cc1e943a8f3825cd9726269a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7354, "upload_time": "2016-02-16T23:39:37", "url": "https://files.pythonhosted.org/packages/95/a7/45436b037b7c98ef7757c50d2b170c8cb0f978e6d2e4fc44bf64ca888a24/portalocker-0.5.7.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "92ea919727ffa680842d300c4c0348e9", "sha256": "39bd8a9ce75882e17fa8dd5d96a9d7c0800c31c9b2376458638ca20e32abf306" }, "downloads": -1, "filename": "portalocker-0.6.0.tar.gz", "has_sig": false, "md5_digest": "92ea919727ffa680842d300c4c0348e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7495, "upload_time": "2016-09-05T15:47:59", "url": "https://files.pythonhosted.org/packages/7b/79/72b68f28e6099de3941490580294902b6a1b0b2e05fb8ef4f2687b362af0/portalocker-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "97427f3427e740ee851c9bd263b92c88", "sha256": "bfe9ff0563da090f0a4f88cf649a20f9992c6dcaeefd27c552fb5c3c74634ed8" }, "downloads": -1, "filename": "portalocker-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "97427f3427e740ee851c9bd263b92c88", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8085, "upload_time": "2016-09-06T00:22:11", "url": "https://files.pythonhosted.org/packages/7b/f2/8fe32eb13e05c89d6c4352c88cd8057b95240f14e075895ea7051a959642/portalocker-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a3c0251b202d9445c3ad3ba8beb1374", "sha256": "a2291c070126ecb060f7d8e61226ffcf6017c9be207348a4c6e1ef15c58eca7c" }, "downloads": -1, "filename": "portalocker-0.6.1.tar.gz", "has_sig": false, "md5_digest": "7a3c0251b202d9445c3ad3ba8beb1374", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8051, "upload_time": "2016-09-06T00:22:09", "url": "https://files.pythonhosted.org/packages/97/2b/25d16eaed61cdad8ddda5933f69a8dd4920355fe7b97aa59f9656bdb1021/portalocker-0.6.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b0ef80305a38c7d135b023dd011af798", "sha256": "775f4813446a87cb81451a60bf40b89aeae3f86adeca6940f9a0af9b180e97a0" }, "downloads": -1, "filename": "portalocker-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b0ef80305a38c7d135b023dd011af798", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9095, "upload_time": "2016-09-27T20:28:29", "url": "https://files.pythonhosted.org/packages/8b/74/030c62f035261c5ca848836a1ede60f5f965a035ea98c7bf1660b67a9d4e/portalocker-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "638d163b17a506b951ff2cfaf12fcdc3", "sha256": "12865f5d38a93fcac4e7319d4fac24b0d7dc97330fcf0cc3b9b34e899ecbd2c4" }, "downloads": -1, "filename": "portalocker-1.0.0.tar.gz", "has_sig": false, "md5_digest": "638d163b17a506b951ff2cfaf12fcdc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8769, "upload_time": "2016-09-27T20:28:26", "url": "https://files.pythonhosted.org/packages/a5/8e/558a0c16fb766b79b122e608481be3037827766f8a54b9eebcfc43d4500e/portalocker-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "52e54f051b37ad81041ae117cf1fe77e", "sha256": "506522e1238c5d0c10387820f7c8f474a263d42d6b7254d1c995d7b4a78fe16c" }, "downloads": -1, "filename": "portalocker-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "52e54f051b37ad81041ae117cf1fe77e", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9539, "upload_time": "2017-01-14T03:12:15", "url": "https://files.pythonhosted.org/packages/72/93/cddb2a3fcb72f7271bdd5e2586c23186dc2c498feaa0a5c1f94e3236f300/portalocker-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9886647f69f5eb522d919044e8ddb16", "sha256": "455074565f7da80a9206b821fab72156e456a7e2a4d4cf1650f6bb6a584c396f" }, "downloads": -1, "filename": "portalocker-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f9886647f69f5eb522d919044e8ddb16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9244, "upload_time": "2017-01-14T03:12:14", "url": "https://files.pythonhosted.org/packages/87/72/d5c00d2a6301f7fa73b6a2627ffda2167c3bfeca457878608201477be0f0/portalocker-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "845e6c2adba2852eb04276a5de2e9b10", "sha256": "3773cb40ccb690900920ac529c554bb49e69e2b396a7ffe20dd3f29c8bbbb497" }, "downloads": -1, "filename": "portalocker-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "845e6c2adba2852eb04276a5de2e9b10", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9773, "upload_time": "2017-02-06T14:29:28", "url": "https://files.pythonhosted.org/packages/af/e5/41ce2e919892f038dd25e297ee2a5665ed1cbb535d57b260aa902060e1ca/portalocker-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6593afdbfbfd79573c7e175548b4fcde", "sha256": "b955d6197c7cd3206500d3237a2dd6cc899ceebb13460cc97e658cbab70df11b" }, "downloads": -1, "filename": "portalocker-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6593afdbfbfd79573c7e175548b4fcde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9477, "upload_time": "2017-02-06T14:29:26", "url": "https://files.pythonhosted.org/packages/87/06/179b41e44aa49c8d347b30f177ca47a4c7ed1c84fc890a68f9e5c22f6cd8/portalocker-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "d091f317ec4fc694ed642fa68c30149f", "sha256": "d6dfb262b0167c1a603cb8ebdb53cac61eef81d8885074ee69c3bf73c9cb422d" }, "downloads": -1, "filename": "portalocker-1.2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "d091f317ec4fc694ed642fa68c30149f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 14671, "upload_time": "2018-03-08T03:22:59", "url": "https://files.pythonhosted.org/packages/0a/22/6a54021b020dd085d6cc03bf2243bbb7cf8808ac23be2db716780e7935c1/portalocker-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ccbcba1b227c66530f6e4e15d11afec", "sha256": "37c7d2b8eaf73a779089d8455ad90b0a38afd33e4fb8dedabe49e49550846173" }, "downloads": -1, "filename": "portalocker-1.2.0.tar.gz", "has_sig": true, "md5_digest": "4ccbcba1b227c66530f6e4e15d11afec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12756, "upload_time": "2018-03-08T03:22:56", "url": "https://files.pythonhosted.org/packages/18/9f/bf662276540727fe4c8113a4ed23fabe95784ad155a48e12f2b9b495217a/portalocker-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "85f5d5eb4c67317fd95158a8e08df6c5", "sha256": "95ec72fd36c230b92634dcffde65686e585a9a8569b9ba806dff41f56e255fbf" }, "downloads": -1, "filename": "portalocker-1.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "85f5d5eb4c67317fd95158a8e08df6c5", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10807, "upload_time": "2018-05-01T13:20:42", "url": "https://files.pythonhosted.org/packages/57/41/05e79e5516db1cc0c967b3202388cde729f871c871b0a07bf24ff11adfcf/portalocker-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d027b12bdb5c7bfa8c36423d7c3a40cc", "sha256": "3f2a56d3d90e2ac5659ee744336e6953c0050bb61fccb97090a03de5c2a4db9f" }, "downloads": -1, "filename": "portalocker-1.2.1.tar.gz", "has_sig": true, "md5_digest": "d027b12bdb5c7bfa8c36423d7c3a40cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10829, "upload_time": "2018-05-01T13:20:40", "url": "https://files.pythonhosted.org/packages/01/e1/badb92f4bbd7c8c892d943a0136dcacf123cfbc835535368c74b707bc8dd/portalocker-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "f120c1259829193c53df1efea532041b", "sha256": "e6b3fdca1f232504da1a79dbe6230dfce241bac77698bd713883527c53db09ad" }, "downloads": -1, "filename": "portalocker-1.3.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f120c1259829193c53df1efea532041b", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 12642, "upload_time": "2018-12-17T02:08:38", "url": "https://files.pythonhosted.org/packages/e4/b5/3766a38c77707232e0800b1f2e970002020b687d626f52386c255ae7c63a/portalocker-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28766184540a483043a5819785145284", "sha256": "b5ba72ace4f50093e3841c65a24f65d4f1bddd8d47cf439e56ab30b1aebd62a0" }, "downloads": -1, "filename": "portalocker-1.3.0.tar.gz", "has_sig": true, "md5_digest": "28766184540a483043a5819785145284", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11188, "upload_time": "2018-12-17T02:08:36", "url": "https://files.pythonhosted.org/packages/2b/13/c83dad209d6d0d3aa909d01d8c25e7d6c598101b57131670e71ba5e60638/portalocker-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "7291d0602d83d426c86014c8ef0b6611", "sha256": "d98cdcdbd8c590ee4c93fb4149b2e76030ea6c36d6fdfec122e6656ebf90086f" }, "downloads": -1, "filename": "portalocker-1.4.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "7291d0602d83d426c86014c8ef0b6611", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 12694, "upload_time": "2019-02-11T12:43:01", "url": "https://files.pythonhosted.org/packages/eb/48/bf5e330d7d6d57d92157480db9ccad84da86efd045205f7133a53b29aace/portalocker-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40ba8b3164e44b11a9dc057361fa13e1", "sha256": "3fb35648a9e03f267e54c6186513abbd1cdd321c305502545a3550eea8b2923f" }, "downloads": -1, "filename": "portalocker-1.4.0.tar.gz", "has_sig": true, "md5_digest": "40ba8b3164e44b11a9dc057361fa13e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11255, "upload_time": "2019-02-11T12:42:58", "url": "https://files.pythonhosted.org/packages/64/9f/cdf0db3a74307d9a000ec049f34a122c889f25224518d516519a2d8a7fba/portalocker-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "8b0ea1d4895ebc5a0c372f0669ccfce7", "sha256": "40477dff70ba7e6ffa0b272da6e9cdd2ab8b9b54b90f71ea362bea69d2d6c09d" }, "downloads": -1, "filename": "portalocker-1.5.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "8b0ea1d4895ebc5a0c372f0669ccfce7", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 14958, "upload_time": "2019-07-13T20:34:45", "url": "https://files.pythonhosted.org/packages/c4/4a/940f5184098d054804605e73258d57707b1df087fc532111593e6110be13/portalocker-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ba01b339d10b6810ac36d3237a1cd7d", "sha256": "d9af6b298554286a05b9fd361289fe8a86b2b0f41a82cd93b147155bd398c523" }, "downloads": -1, "filename": "portalocker-1.5.0.tar.gz", "has_sig": true, "md5_digest": "3ba01b339d10b6810ac36d3237a1cd7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11222, "upload_time": "2019-07-13T20:34:42", "url": "https://files.pythonhosted.org/packages/f8/81/daafc3a912dd428b1e6ced73f89772b6c85570b51b2d898bba65c8242986/portalocker-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "6e334838ab5ef50ee92c032304f34efe", "sha256": "934a848531ecd03b78d780402ddbf57e518172c67f0b4b9fbe2ea253fdaf6c3f" }, "downloads": -1, "filename": "portalocker-1.5.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "6e334838ab5ef50ee92c032304f34efe", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 14951, "upload_time": "2019-08-05T02:21:54", "url": "https://files.pythonhosted.org/packages/60/ec/836a494dbaa72541f691ec4e66f29fdc8db9bcc7f49e1c2d457ba13ced42/portalocker-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffb4b3b95e86d878e74d2b977b3cddf6", "sha256": "1ed88cff4807267ec3331d2a843529399256043851509c39487db97146dda821" }, "downloads": -1, "filename": "portalocker-1.5.1.tar.gz", "has_sig": true, "md5_digest": "ffb4b3b95e86d878e74d2b977b3cddf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11746, "upload_time": "2019-08-05T02:21:52", "url": "https://files.pythonhosted.org/packages/c5/dd/e55b27cd9c6e96abc2c81dddf9f4d29d957f3a4fc03bfa2cfa9ba1f26bfe/portalocker-1.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6e334838ab5ef50ee92c032304f34efe", "sha256": "934a848531ecd03b78d780402ddbf57e518172c67f0b4b9fbe2ea253fdaf6c3f" }, "downloads": -1, "filename": "portalocker-1.5.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "6e334838ab5ef50ee92c032304f34efe", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 14951, "upload_time": "2019-08-05T02:21:54", "url": "https://files.pythonhosted.org/packages/60/ec/836a494dbaa72541f691ec4e66f29fdc8db9bcc7f49e1c2d457ba13ced42/portalocker-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffb4b3b95e86d878e74d2b977b3cddf6", "sha256": "1ed88cff4807267ec3331d2a843529399256043851509c39487db97146dda821" }, "downloads": -1, "filename": "portalocker-1.5.1.tar.gz", "has_sig": true, "md5_digest": "ffb4b3b95e86d878e74d2b977b3cddf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11746, "upload_time": "2019-08-05T02:21:52", "url": "https://files.pythonhosted.org/packages/c5/dd/e55b27cd9c6e96abc2c81dddf9f4d29d957f3a4fc03bfa2cfa9ba1f26bfe/portalocker-1.5.1.tar.gz" } ] }