{ "info": { "author": "Brett Dixon", "author_email": "theiviaxx@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5" ], "description": "===============================\nPython Perforce\n===============================\n\nPure python perforce API\n\n* Free software: MIT license\n* Documentation: https://python-perforce.readthedocs.org.\n\nFeatures\n--------\n\n* Pythonic api to Perforce\n* Pure python, no compiled extension\n\nInstallation\n------------\n\n::\n\n pip install python-perforce\n\nUsage\n-----\n\n >>> import perforce\n >>> p4 = perforce.connect()\n >>> revisions = p4.ls('//depot/path/to/file.txt')\n >>> print(revisions)\n []\n >>> p4.ls('//depot/path/....txt')\n [, ]\n >>> cl = p4.findChangelist('my description')\n >>> with cl:\n ... cl.append(revisions[0])\n ... p4.add('path/to/add.txt', cl)\n >>> cl.description\n 'my description'\n >>> cl.description = 'something else'\n >>> cl.submit()\n >>> client = perforce.Client('my_client')\n >>> print(client.stream)\n //streams/main\n >>> print(client.root)\n Path(/path/to/root)\n\n\n\n\nHistory\n-------\n\n0.3.17 (2016-7-28)\n-------------------\n* Fixed bug with windows dependent line breaks Fixes #34\n* Fixed bug while parsing unicode Fixes #32\n\n0.3.16 (2016-5-6)\n-------------------\n* Fixed bug with non-unicode characters Fixes #32\n* Fixed bug with spaces in a file spec for Client and Stream Fixes #29\n* Fixed bug if any of the P4 variables were set to an empty string in a config file\n\n0.3.15 (2016-3-9)\n-------------------\n* Python 3 support\n\n0.3.14 (2016-2-24)\n--------------------\n* Fixed bug when trying to add an empty file\n\n0.3.13 (2016-2-17)\n--------------------\n* Changed the parameter in __getVariables to a list Fixes #27\n\n0.3.12 (2016-2-16)\n--------------------\n* Added an optional connection paramter to all api functions\n\n0.3.11 (2016-2-16)\n--------------------\n* Added a base class for perforce objects to wrap dict getter\n* Added Stream object Fixes #25\n* Added tests for new classes Fixes #26\n* Added tests for Revision objects as it was lacking\n* __getVariables will no longer show a console on windows Fixes #24\n* Client and Stream are now exposed at the package level Fixes #23\n\n\n0.3.10 (2016-1-30)\n--------------------\n* Added Client object\n* Added better support for finding p4 env variables\n* Added PendingDeprecationWarnings to Changelist and Revision to accept an optional Connection object. If not provided, it will use whatever settings it can find to create one\n* For Changelist, Revision, and Client, added __getattr__ to use the underlying dict to allow use of all fields if not directly supported by this lib\n* Connection.run() now requires a list instead of a string for the command. A PendingDeprecationWarning will be thrown if a string is used. Strings will not be supported in 0.4.0\n\n0.3.9 (2016-1-29)\n--------------------\n* Changelist objects are lazy and will only query files as needed\n\n0.3.7 (2015-1-7)\n--------------------\n* Fixed bugs regarding spaces in file names or specs\n* Fixed bug that may have left too many file handles open\n* Added comparison operator to Changelist\n\n0.3.6 (2015-12-3)\n--------------------\n* Added __iadd_ operator to Changelist\n* Added unchanged_only flag to Changelist.revert()\n* Added exclude_deleted flag to Connection.ls()\n* Fixed a bug on windows that would occur if the command line was too long (>8190)\n* Added setter to Connection.client\n* Changelist.append will now raise a RevisionError if the file to append is not under the clients root\n\n0.3.5 (2015-11-18)\n--------------------\n\n* Changed the argument order for Revisions to be consistent with everything else. Supports backwards compatible argument orders\n* Fixed bug that would attempt to checkout files when querying a changelist\n\n0.3.4 (2015-11-17)\n--------------------\n\n* Changed enums to be namedtuples\n* Fixed bug when detecting login state\n\n0.3.3 (2015-11-16)\n---------------------\n\n* Corrected the way the error levels were being handled\n* Added more documentation\n* Connection will no longer fail if any of the paramter were incorrect, use Connection.status() to check the status of the connection\n\n0.1.0 (2014-10-16)\n---------------------\n\n* First release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/theiviaxx/python-perforce", "keywords": "python-perforce", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "python-perforce", "package_url": "https://pypi.org/project/python-perforce/", "platform": "", "project_url": "https://pypi.org/project/python-perforce/", "project_urls": { "Homepage": "https://github.com/theiviaxx/python-perforce" }, "release_url": "https://pypi.org/project/python-perforce/0.3.17/", "requires_dist": null, "requires_python": "", "summary": "Pure python Perforce API", "version": "0.3.17" }, "last_serial": 3263325, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "32ec9c346b8dd87992139e98aa947b97", "sha256": "363d90d02a1c2dc031198949eb76ac21293bf123fb4de33fb4c910ed55f43651" }, "downloads": -1, "filename": "python-perforce-0.1.0.zip", "has_sig": false, "md5_digest": "32ec9c346b8dd87992139e98aa947b97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27817, "upload_time": "2015-06-12T06:07:24", "url": "https://files.pythonhosted.org/packages/56/aa/48c83a3ab6c262ca01c8d15c7ac31357b64f8c93c8503388d921e0e69f45/python-perforce-0.1.0.zip" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "114a0d478969d91fb09e179ad255e774", "sha256": "56b3ac918a17a650708727f9bfc277e4a00354c871448b831f9198287d72a78e" }, "downloads": -1, "filename": "python-perforce-0.2.0.zip", "has_sig": false, "md5_digest": "114a0d478969d91fb09e179ad255e774", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28852, "upload_time": "2015-09-10T06:36:37", "url": "https://files.pythonhosted.org/packages/c0/5d/5f60f392698895e942a76a6b2bbed9ffa6cedf3edef1032e6e726fb94ef7/python-perforce-0.2.0.zip" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c430d44dd8ce07dd797d7fbf0150447b", "sha256": "9748d0818c9b9dc4cff12041059cbd97e65f16d59dbae1277ce054d0650f6b57" }, "downloads": -1, "filename": "python-perforce-0.2.1.zip", "has_sig": false, "md5_digest": "c430d44dd8ce07dd797d7fbf0150447b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28876, "upload_time": "2015-09-10T20:33:45", "url": "https://files.pythonhosted.org/packages/20/30/79f48545af31323b294a10460eb1addfa11e0efa70329a23bf677de23a44/python-perforce-0.2.1.zip" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "58aa5f2837f879b61a8824c238339c22", "sha256": "8b743bf3d41b453a967f1f033b37c7ab74aaeb7832d37df4517a6c5c6c6576cb" }, "downloads": -1, "filename": "python-perforce-0.2.3.zip", "has_sig": false, "md5_digest": "58aa5f2837f879b61a8824c238339c22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38113, "upload_time": "2015-09-18T06:07:16", "url": "https://files.pythonhosted.org/packages/f6/70/76a602ad8dbf27bbe12964b321372b9cca0fada7e22f40140dda1fa447d7/python-perforce-0.2.3.zip" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "9971257afc307fa3acaf58d3aa6757ad", "sha256": "c2b420dd275a58e86fe2f0d1f654ce18302ecce6db8b1e21df3832677f611035" }, "downloads": -1, "filename": "python-perforce-0.2.4.zip", "has_sig": false, "md5_digest": "9971257afc307fa3acaf58d3aa6757ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38304, "upload_time": "2015-09-21T18:58:00", "url": "https://files.pythonhosted.org/packages/8c/5e/7d7dd0478bc00db3e621d3ba0bf0e5f01a3de28c9695b478ecbf9585abb0/python-perforce-0.2.4.zip" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d01234b128cbf6b0f2223fd3b76d8eeb", "sha256": "5fedd1424ed984e5dc20c353977caf3fb3adc2071396436e0c28541b6fb98064" }, "downloads": -1, "filename": "python-perforce-0.3.0.zip", "has_sig": false, "md5_digest": "d01234b128cbf6b0f2223fd3b76d8eeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37597, "upload_time": "2015-10-02T06:18:12", "url": "https://files.pythonhosted.org/packages/8d/55/cd285849179f1b8772fd48554e947911e5e8be6265dbae671323c3153e70/python-perforce-0.3.0.zip" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "270b516e5d5206ebcf90f1be8d641615", "sha256": "7e009b46716f95346b06188898854733654d5b6549fe2effbf38405a2f9bdd9d" }, "downloads": -1, "filename": "python-perforce-0.3.1.zip", "has_sig": false, "md5_digest": "270b516e5d5206ebcf90f1be8d641615", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36569, "upload_time": "2015-11-10T15:31:35", "url": "https://files.pythonhosted.org/packages/95/e5/e0e74efde79c655d2484ca19635b5bc87c60375ac9d338c62a1706678fe4/python-perforce-0.3.1.zip" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "546a4509203e9cbb678b2df4d851cd83", "sha256": "340e82d6eab4559016faa3f4959990a540c107960561a00f4e9bfdc355f2c88b" }, "downloads": -1, "filename": "python-perforce-0.3.10.zip", "has_sig": false, "md5_digest": "546a4509203e9cbb678b2df4d851cd83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39484, "upload_time": "2016-01-31T06:24:20", "url": "https://files.pythonhosted.org/packages/34/39/bdab68453792b421b8841c0547fdf4409f210ee2fd9c172e72161f905a8e/python-perforce-0.3.10.zip" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "a2d3d43ecb8f7f415eb9ed9379a52302", "sha256": "4df2298253407f67af609967c2e80402cfec79737262ecc6bc58a80a844e05a6" }, "downloads": -1, "filename": "python-perforce-0.3.11.zip", "has_sig": false, "md5_digest": "a2d3d43ecb8f7f415eb9ed9379a52302", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35964, "upload_time": "2016-02-17T05:42:59", "url": "https://files.pythonhosted.org/packages/1f/23/72d2c9d2f92dae8948c2f0a1505b9f0e3e5bac5321c0bf6fd48d0c256692/python-perforce-0.3.11.zip" } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "4eb0583132696135a1dddb3ff8d186b0", "sha256": "523653f9ddf20b2cbb77cfd18c3b243b2b16923d03b2820414d725250546b5f8" }, "downloads": -1, "filename": "python-perforce-0.3.12.zip", "has_sig": false, "md5_digest": "4eb0583132696135a1dddb3ff8d186b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36087, "upload_time": "2016-02-17T06:10:46", "url": "https://files.pythonhosted.org/packages/e9/0f/bb2b5815695b6f20d8ef147f65822ba245840a37683f10f8318ad84b6d7a/python-perforce-0.3.12.zip" } ], "0.3.13": [ { "comment_text": "", "digests": { "md5": "753ff77b15a60d1b14e55ee7baacd71a", "sha256": "31ea250a728bcf32292b885c149bf616ceb175b66770df1f8563bfa826cafe57" }, "downloads": -1, "filename": "python-perforce-0.3.13.zip", "has_sig": false, "md5_digest": "753ff77b15a60d1b14e55ee7baacd71a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36162, "upload_time": "2016-02-18T05:29:45", "url": "https://files.pythonhosted.org/packages/7c/87/419efd8fc853733d7c6f8aacf24749f5d23cc4b247aa469630a45fa1c941/python-perforce-0.3.13.zip" } ], "0.3.14": [ { "comment_text": "", "digests": { "md5": "e7fa1950c81f2a3e88a82b9c75f05040", "sha256": "3e62dc7f475f84635b1fadd9f1ba8d383d4cccef2d66dd71302e101b4ce99f62" }, "downloads": -1, "filename": "python-perforce-0.3.14.zip", "has_sig": false, "md5_digest": "e7fa1950c81f2a3e88a82b9c75f05040", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36277, "upload_time": "2016-02-25T05:20:58", "url": "https://files.pythonhosted.org/packages/37/fb/814b4c1377d70f3599b0b4b87ed97ccf932c9de7644ff97420a01c04fc86/python-perforce-0.3.14.zip" } ], "0.3.15": [ { "comment_text": "", "digests": { "md5": "dd1bae96823a51207ac904ed674be49e", "sha256": "d82d8fe2b80a721c88f3b946bd71756121e4f61c7b44750211f5c9e8913eb16b" }, "downloads": -1, "filename": "python-perforce-0.3.15.zip", "has_sig": false, "md5_digest": "dd1bae96823a51207ac904ed674be49e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36571, "upload_time": "2016-03-10T05:50:02", "url": "https://files.pythonhosted.org/packages/ad/0a/38c5383f825f072da4f088d89df05c9e4514b9b61bec6174b78d760697b9/python-perforce-0.3.15.zip" } ], "0.3.17": [ { "comment_text": "", "digests": { "md5": "33ed32ddde1defaa09707e484e3d26ec", "sha256": "1f6c142659aa3e2b59cb0daa7fc042f1abb5d30fe6003576e7a73a3aa6594c8c" }, "downloads": -1, "filename": "python-perforce-0.3.17.tar.gz", "has_sig": false, "md5_digest": "33ed32ddde1defaa09707e484e3d26ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23863, "upload_time": "2017-10-19T15:43:36", "url": "https://files.pythonhosted.org/packages/c3/2d/fb2fb20f54d14d21524736d0308900b56d3a103127c0fa8f71755b0ca009/python-perforce-0.3.17.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f2a0490032353e3b2b6d82c93abfdce3", "sha256": "1dbac6151db7677be8bbf42e939d00e3c17e29d922f8bb4ff395bc6b45fe969a" }, "downloads": -1, "filename": "python-perforce-0.3.2.zip", "has_sig": false, "md5_digest": "f2a0490032353e3b2b6d82c93abfdce3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37066, "upload_time": "2015-11-11T06:37:34", "url": "https://files.pythonhosted.org/packages/1b/c0/2341c46e83c05f38282c9e8d9c8da7e46f4d4fe5a39e61388fd3ef0fd68b/python-perforce-0.3.2.zip" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "47fd113c529ccf6c911a1802314e22b8", "sha256": "4e7077eeba46d1c9db9ee5c811f45f3ff102f9a3b101612daceb653e2ef2dd07" }, "downloads": -1, "filename": "python-perforce-0.3.3.zip", "has_sig": false, "md5_digest": "47fd113c529ccf6c911a1802314e22b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34724, "upload_time": "2015-11-17T06:05:48", "url": "https://files.pythonhosted.org/packages/84/db/dac3890a1027a62d2f9b2a0f87e1313a533360c973474d63b710c5547251/python-perforce-0.3.3.zip" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "13719db23030f5129dd47370cc7124f0", "sha256": "458669b1aeb7b794451033a60ed5ebf4e72e5a7466299402b631c2ca6beeef85" }, "downloads": -1, "filename": "python-perforce-0.3.4.zip", "has_sig": false, "md5_digest": "13719db23030f5129dd47370cc7124f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35109, "upload_time": "2015-11-18T06:35:51", "url": "https://files.pythonhosted.org/packages/51/a7/598d69808f19f8c65275c38a632e30f224e3b0fa79e7028381771d27f7a4/python-perforce-0.3.4.zip" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "b38f9691942186b08234cf22158e6cc1", "sha256": "48a705525d62d119f01df2d07469b3655af2c090ef008bfd872b066171096bd6" }, "downloads": -1, "filename": "python-perforce-0.3.5.zip", "has_sig": false, "md5_digest": "b38f9691942186b08234cf22158e6cc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35529, "upload_time": "2015-11-19T06:15:02", "url": "https://files.pythonhosted.org/packages/dd/18/78d735532e12eb1b41b0f17b8755bbf717217f3096f5ddeccca50167ea1b/python-perforce-0.3.5.zip" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "19c4c3987da996e29b99f4a53c5ab4a4", "sha256": "bc9a20ea07ef74aa23c7061479340fc3921b7845aaa059ac217041e504cf4b09" }, "downloads": -1, "filename": "python-perforce-0.3.6.zip", "has_sig": false, "md5_digest": "19c4c3987da996e29b99f4a53c5ab4a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36645, "upload_time": "2015-12-04T06:37:18", "url": "https://files.pythonhosted.org/packages/0a/cd/dfbc513b7fa59087412997ec73daa2b089b9c4c9129f89104bdde2832968/python-perforce-0.3.6.zip" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "19b81e001ed565faf38976929f187729", "sha256": "4abe0c87da46c56e8b5bb932be2d5d56321563da74193d227e0d97d4ca4285ac" }, "downloads": -1, "filename": "python-perforce-0.3.7.zip", "has_sig": false, "md5_digest": "19b81e001ed565faf38976929f187729", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36977, "upload_time": "2016-01-08T06:08:51", "url": "https://files.pythonhosted.org/packages/3f/32/dd7ca9148077b393cf339e8f5cee92f8d357f3288bfc71a2c3e70b087097/python-perforce-0.3.7.zip" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "f9978f8224e0698c6034276775b45e4d", "sha256": "d33cb26a0541bbc62604a9fb707b447116186f0ae1380ac2e373cbdf420bd14b" }, "downloads": -1, "filename": "python-perforce-0.3.8.zip", "has_sig": false, "md5_digest": "f9978f8224e0698c6034276775b45e4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36980, "upload_time": "2016-01-15T05:29:53", "url": "https://files.pythonhosted.org/packages/52/3b/4691585c14c2eaa4c0d4165f54e21486a21cfb41f1e447dc7e80f5a65465/python-perforce-0.3.8.zip" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "19d20348b4ff0104aa6be98a7b18f0c6", "sha256": "0b060e1193ca4d6689da5c6f18b282bdff2d72e11b9ff00f8b2b95b1bd6a8c91" }, "downloads": -1, "filename": "python-perforce-0.3.9.zip", "has_sig": false, "md5_digest": "19d20348b4ff0104aa6be98a7b18f0c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37170, "upload_time": "2016-01-29T16:15:37", "url": "https://files.pythonhosted.org/packages/d3/35/78573abb8ec5c7aa13552368b5c71e528c379d69700c46a83ee5897a1c45/python-perforce-0.3.9.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "33ed32ddde1defaa09707e484e3d26ec", "sha256": "1f6c142659aa3e2b59cb0daa7fc042f1abb5d30fe6003576e7a73a3aa6594c8c" }, "downloads": -1, "filename": "python-perforce-0.3.17.tar.gz", "has_sig": false, "md5_digest": "33ed32ddde1defaa09707e484e3d26ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23863, "upload_time": "2017-10-19T15:43:36", "url": "https://files.pythonhosted.org/packages/c3/2d/fb2fb20f54d14d21524736d0308900b56d3a103127c0fa8f71755b0ca009/python-perforce-0.3.17.tar.gz" } ] }