{ "info": { "author": "Christian Heimes", "author_email": "christian@python.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Python Software Foundation License", "Natural Language :: English", "Operating System :: Microsoft :: Windows", "Programming Language :: C", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2" ], "description": "=========\nosreplace\n=========\n\nBackport of os.replace()\n\nhttp://docs.python.org/3.3/library/os.html#os.replace\n\nhttp://bugs.python.org/issue8828\n\nSuggested usage::\n\n import sys\n if sys.version_info >= (3, 3):\n from os import replace\n elif sys.platform == \"win32\":\n from osreplace import replace\n else:\n # POSIX rename() is always atomic\n from os import rename as replace\n\n\nPython 3.1 is not supported. Please upgrade to Python 3.2 or better.\n\nTechnical details\n=================\n\nThe ``replace()`` function uses ``MoveFileEx()`` with ``MOVEFILE_REPLACE_EXISTING``\nflag. The flag can't be used to rename directories so it's not entirely equal\nto rename(P) on POSIX.\n\n``MoveFileEx()`` is *NOT* guaranteed to be atomic. Under certain and unknown\ncircumstances it may silently fall back to a non atomic call to ``CopyFile()``.\n``MoveFileTransacted()`` could improve the situation but it requires Vista or\nnewer.\n\nhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa365240%28v=vs.85%29.aspx\nhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa365241%28v=vs.85%29.aspx\n\nCredits\n=======\n\nOriginal patch by Antoine Pitrou.\n\nChangelog\n=========\n\npyosreplace 0.1\n---------------\n\n*Release date: 05-Nov-2013*\n\n- Python 3.2 support\n\n- tox for testing\n\n\npyosreplace 0.1b1\n-----------------\n\n*Release date: 02-Jul-2013*\n\n- initial beta release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/tiran/pyosreplace", "keywords": "rename replace atomic movefileex", "license": "PSFL", "maintainer": null, "maintainer_email": null, "name": "pyosreplace", "package_url": "https://pypi.org/project/pyosreplace/", "platform": "Windows", "project_url": "https://pypi.org/project/pyosreplace/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/tiran/pyosreplace" }, "release_url": "https://pypi.org/project/pyosreplace/0.1/", "requires_dist": null, "requires_python": null, "summary": "os.replace() backport for Python 2.x", "version": "0.1" }, "last_serial": 911619, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "a682e68d4b5ba9c5cdb836b3ed56d755", "sha256": "e00fb2f7f25b6092913c735538c202a31016b89640457decca3ae779d88dad9f" }, "downloads": -1, "filename": "pyosreplace-0.1.win32-py2.6.exe", "has_sig": false, "md5_digest": "a682e68d4b5ba9c5cdb836b3ed56d755", "packagetype": "bdist_wininst", "python_version": "2.6", "requires_python": null, "size": 202197, "upload_time": "2013-11-05T15:15:46", "url": "https://files.pythonhosted.org/packages/f3/9c/058dd280ed3354dd21475cde26b375d6da042590e10968ce796c88827355/pyosreplace-0.1.win32-py2.6.exe" }, { "comment_text": "", "digests": { "md5": "fa9f70be6bd4a9c1861bee8a3a523a3d", "sha256": "bd7917434328f6ea5449e7dc28d835ca85515b2a3aa1128694fcd75be9f6a410" }, "downloads": -1, "filename": "pyosreplace-0.1.win32-py2.7.exe", "has_sig": false, "md5_digest": "fa9f70be6bd4a9c1861bee8a3a523a3d", "packagetype": "bdist_wininst", "python_version": "2.7", "requires_python": null, "size": 201930, "upload_time": "2013-11-05T15:16:22", "url": "https://files.pythonhosted.org/packages/07/ea/4f3ded4b1775aaae1426e34c22889b3b59c7863202baa1140fff299e7ec3/pyosreplace-0.1.win32-py2.7.exe" }, { "comment_text": "", "digests": { "md5": "8b438b5b2064d0f8863b8fd90ef6d602", "sha256": "4a57c9dd6ac38dcdbc6181f5f22476f78e0aef3dc9d2e450324122c5523b485a" }, "downloads": -1, "filename": "pyosreplace-0.1.win32-py3.2.exe", "has_sig": false, "md5_digest": "8b438b5b2064d0f8863b8fd90ef6d602", "packagetype": "bdist_wininst", "python_version": "3.2", "requires_python": null, "size": 201941, "upload_time": "2013-11-05T15:16:42", "url": "https://files.pythonhosted.org/packages/56/31/b0284098c829246f9740493f540628fb3c077358206dc92943589b4179d4/pyosreplace-0.1.win32-py3.2.exe" }, { "comment_text": "", "digests": { "md5": "38de50ec917a3579f2436ebc9bc941bd", "sha256": "1cba5df4a39a439e054914b7ec0f2acbad3c90a50969c69fce9c3b95be2e1c47" }, "downloads": -1, "filename": "pyosreplace-0.1.win-amd64-py2.6.exe", "has_sig": false, "md5_digest": "38de50ec917a3579f2436ebc9bc941bd", "packagetype": "bdist_wininst", "python_version": "2.6", "requires_python": null, "size": 229555, "upload_time": "2013-11-05T15:16:12", "url": "https://files.pythonhosted.org/packages/83/d9/4123256c8d9769ff73af98931834cb64d8c2b57605ca7f2b0256d8ad7c7b/pyosreplace-0.1.win-amd64-py2.6.exe" }, { "comment_text": "", "digests": { "md5": "999d6ed2533ade1c8c01fd76cbd9f968", "sha256": "33f9742e7a3a664ec0048d8744458770e579326ee70b3d7c2106018f2764a2d0" }, "downloads": -1, "filename": "pyosreplace-0.1.win-amd64-py2.7.exe", "has_sig": false, "md5_digest": "999d6ed2533ade1c8c01fd76cbd9f968", "packagetype": "bdist_wininst", "python_version": "2.7", "requires_python": null, "size": 229297, "upload_time": "2013-11-05T15:16:32", "url": "https://files.pythonhosted.org/packages/2f/3d/f49c166270703b82d3c2f62ce087fc87a8c724252c7c4af908ca48c2148f/pyosreplace-0.1.win-amd64-py2.7.exe" }, { "comment_text": "", "digests": { "md5": "56d9a352923deb269d4382794dab7d8e", "sha256": "d5738dea1b7e1bde70680fd330aaf31052122971c1068f315f7001db45a78da8" }, "downloads": -1, "filename": "pyosreplace-0.1.win-amd64-py3.2.exe", "has_sig": false, "md5_digest": "56d9a352923deb269d4382794dab7d8e", "packagetype": "bdist_wininst", "python_version": "3.2", "requires_python": null, "size": 229796, "upload_time": "2013-11-05T15:16:52", "url": "https://files.pythonhosted.org/packages/4a/8e/b0ca76d872082f5967f16d637021402289df5367af1de4afda04b83c2637/pyosreplace-0.1.win-amd64-py3.2.exe" }, { "comment_text": "", "digests": { "md5": "b1a392c7b000a7f8d94e471fc72472aa", "sha256": "3b4a587525cf2d98deae834a5263163250b370d463da4d78721dda13f254ad41" }, "downloads": -1, "filename": "pyosreplace-0.1.zip", "has_sig": false, "md5_digest": "b1a392c7b000a7f8d94e471fc72472aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10536, "upload_time": "2013-11-05T15:24:30", "url": "https://files.pythonhosted.org/packages/1e/73/ce3f6bcc91ae170569d3ab00bfd2a725607497ad2eb434f3ac27684635be/pyosreplace-0.1.zip" } ], "0.1b1": [ { "comment_text": "", "digests": { "md5": "f7bfa2159b181b1390baaec5c47db245", "sha256": "513b77f7ce1fc5e510804ce6a351a238ae1043f9664d37023f4b1a2901fbb987" }, "downloads": -1, "filename": "pyosreplace-0.1b1.win32-py2.6.exe", "has_sig": false, "md5_digest": "f7bfa2159b181b1390baaec5c47db245", "packagetype": "bdist_wininst", "python_version": "2.6", "requires_python": null, "size": 202053, "upload_time": "2013-07-02T15:21:45", "url": "https://files.pythonhosted.org/packages/25/76/bd42a0ea590665691ec0adf4de987e8e88db23bf1e2742198c2942dbd5e0/pyosreplace-0.1b1.win32-py2.6.exe" }, { "comment_text": "", "digests": { "md5": "5ae8075d41ee7190aff864804bd85166", "sha256": "095fba7a1d0a6772625a5881806073d68e0b4683dec0f42ab21cd699efaf5dd1" }, "downloads": -1, "filename": "pyosreplace-0.1b1.win32-py2.7.exe", "has_sig": false, "md5_digest": "5ae8075d41ee7190aff864804bd85166", "packagetype": "bdist_wininst", "python_version": "2.7", "requires_python": null, "size": 201790, "upload_time": "2013-07-02T15:22:06", "url": "https://files.pythonhosted.org/packages/90/99/e0f4e538a9f49308617062d920313d99743ca2a3d61c0ca1a43fd7d47938/pyosreplace-0.1b1.win32-py2.7.exe" }, { "comment_text": "", "digests": { "md5": "d7bcea47a960dcb081a569c6ab22cc29", "sha256": "18f32faa0ffdf121a09898f96c82ee556452d8dd0754527939cc34f359f6d81f" }, "downloads": -1, "filename": "pyosreplace-0.1b1.win-amd64-py2.6.exe", "has_sig": false, "md5_digest": "d7bcea47a960dcb081a569c6ab22cc29", "packagetype": "bdist_wininst", "python_version": "2.6", "requires_python": null, "size": 229412, "upload_time": "2013-07-02T15:21:55", "url": "https://files.pythonhosted.org/packages/45/81/13f252db636cf23dc54a40f145c24534719387550a0297ef1f640c617144/pyosreplace-0.1b1.win-amd64-py2.6.exe" }, { "comment_text": "", "digests": { "md5": "bbd31ecd4766108b1e534e02a8f53dc7", "sha256": "320fb98310a97bcff370b34cc696d0bb708619e2d6d35844d6c582e97e085120" }, "downloads": -1, "filename": "pyosreplace-0.1b1.win-amd64-py2.7.exe", "has_sig": false, "md5_digest": "bbd31ecd4766108b1e534e02a8f53dc7", "packagetype": "bdist_wininst", "python_version": "2.7", "requires_python": null, "size": 229153, "upload_time": "2013-07-02T15:22:16", "url": "https://files.pythonhosted.org/packages/5f/c1/c6275a851a1414081b7a1a218227389fbce215431696e3553d1dc5c7044a/pyosreplace-0.1b1.win-amd64-py2.7.exe" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a682e68d4b5ba9c5cdb836b3ed56d755", "sha256": "e00fb2f7f25b6092913c735538c202a31016b89640457decca3ae779d88dad9f" }, "downloads": -1, "filename": "pyosreplace-0.1.win32-py2.6.exe", "has_sig": false, "md5_digest": "a682e68d4b5ba9c5cdb836b3ed56d755", "packagetype": "bdist_wininst", "python_version": "2.6", "requires_python": null, "size": 202197, "upload_time": "2013-11-05T15:15:46", "url": "https://files.pythonhosted.org/packages/f3/9c/058dd280ed3354dd21475cde26b375d6da042590e10968ce796c88827355/pyosreplace-0.1.win32-py2.6.exe" }, { "comment_text": "", "digests": { "md5": "fa9f70be6bd4a9c1861bee8a3a523a3d", "sha256": "bd7917434328f6ea5449e7dc28d835ca85515b2a3aa1128694fcd75be9f6a410" }, "downloads": -1, "filename": "pyosreplace-0.1.win32-py2.7.exe", "has_sig": false, "md5_digest": "fa9f70be6bd4a9c1861bee8a3a523a3d", "packagetype": "bdist_wininst", "python_version": "2.7", "requires_python": null, "size": 201930, "upload_time": "2013-11-05T15:16:22", "url": "https://files.pythonhosted.org/packages/07/ea/4f3ded4b1775aaae1426e34c22889b3b59c7863202baa1140fff299e7ec3/pyosreplace-0.1.win32-py2.7.exe" }, { "comment_text": "", "digests": { "md5": "8b438b5b2064d0f8863b8fd90ef6d602", "sha256": "4a57c9dd6ac38dcdbc6181f5f22476f78e0aef3dc9d2e450324122c5523b485a" }, "downloads": -1, "filename": "pyosreplace-0.1.win32-py3.2.exe", "has_sig": false, "md5_digest": "8b438b5b2064d0f8863b8fd90ef6d602", "packagetype": "bdist_wininst", "python_version": "3.2", "requires_python": null, "size": 201941, "upload_time": "2013-11-05T15:16:42", "url": "https://files.pythonhosted.org/packages/56/31/b0284098c829246f9740493f540628fb3c077358206dc92943589b4179d4/pyosreplace-0.1.win32-py3.2.exe" }, { "comment_text": "", "digests": { "md5": "38de50ec917a3579f2436ebc9bc941bd", "sha256": "1cba5df4a39a439e054914b7ec0f2acbad3c90a50969c69fce9c3b95be2e1c47" }, "downloads": -1, "filename": "pyosreplace-0.1.win-amd64-py2.6.exe", "has_sig": false, "md5_digest": "38de50ec917a3579f2436ebc9bc941bd", "packagetype": "bdist_wininst", "python_version": "2.6", "requires_python": null, "size": 229555, "upload_time": "2013-11-05T15:16:12", "url": "https://files.pythonhosted.org/packages/83/d9/4123256c8d9769ff73af98931834cb64d8c2b57605ca7f2b0256d8ad7c7b/pyosreplace-0.1.win-amd64-py2.6.exe" }, { "comment_text": "", "digests": { "md5": "999d6ed2533ade1c8c01fd76cbd9f968", "sha256": "33f9742e7a3a664ec0048d8744458770e579326ee70b3d7c2106018f2764a2d0" }, "downloads": -1, "filename": "pyosreplace-0.1.win-amd64-py2.7.exe", "has_sig": false, "md5_digest": "999d6ed2533ade1c8c01fd76cbd9f968", "packagetype": "bdist_wininst", "python_version": "2.7", "requires_python": null, "size": 229297, "upload_time": "2013-11-05T15:16:32", "url": "https://files.pythonhosted.org/packages/2f/3d/f49c166270703b82d3c2f62ce087fc87a8c724252c7c4af908ca48c2148f/pyosreplace-0.1.win-amd64-py2.7.exe" }, { "comment_text": "", "digests": { "md5": "56d9a352923deb269d4382794dab7d8e", "sha256": "d5738dea1b7e1bde70680fd330aaf31052122971c1068f315f7001db45a78da8" }, "downloads": -1, "filename": "pyosreplace-0.1.win-amd64-py3.2.exe", "has_sig": false, "md5_digest": "56d9a352923deb269d4382794dab7d8e", "packagetype": "bdist_wininst", "python_version": "3.2", "requires_python": null, "size": 229796, "upload_time": "2013-11-05T15:16:52", "url": "https://files.pythonhosted.org/packages/4a/8e/b0ca76d872082f5967f16d637021402289df5367af1de4afda04b83c2637/pyosreplace-0.1.win-amd64-py3.2.exe" }, { "comment_text": "", "digests": { "md5": "b1a392c7b000a7f8d94e471fc72472aa", "sha256": "3b4a587525cf2d98deae834a5263163250b370d463da4d78721dda13f254ad41" }, "downloads": -1, "filename": "pyosreplace-0.1.zip", "has_sig": false, "md5_digest": "b1a392c7b000a7f8d94e471fc72472aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10536, "upload_time": "2013-11-05T15:24:30", "url": "https://files.pythonhosted.org/packages/1e/73/ce3f6bcc91ae170569d3ab00bfd2a725607497ad2eb434f3ac27684635be/pyosreplace-0.1.zip" } ] }