Pure python perforce API
Free software: MIT license
Documentation: https://python-perforce.readthedocs.org.
Features
Pythonic api to Perforce
Pure python, no compiled extension
Installation
pip install python-perforce
Usage
>>> import perforce
>>> p4 = perforce.connect()
>>> revisions = p4.ls('//depot/path/to/file.txt')
>>> print(revisions)
[<Revision 1: file.txt>]
>>> p4.ls('//depot/path/....txt')
[<Revision 1: file.txt>, <Revision 2: foo.txt>]
>>> cl = p4.findChangelist('my description')
>>> with cl:
... cl.append(revisions[0])
... p4.add('path/to/add.txt', cl)
>>> cl.description
'my description'
>>> cl.description = 'something else'
>>> cl.submit()
>>> client = perforce.Client('my_client')
>>> print(client.stream)
//streams/main
>>> print(client.root)
Path(/path/to/root)
History
0.3.17 (2016-7-28)
Fixed bug with windows dependent line breaks Fixes #34
Fixed bug while parsing unicode Fixes #32
0.3.16 (2016-5-6)
Fixed bug with non-unicode characters Fixes #32
Fixed bug with spaces in a file spec for Client and Stream Fixes #29
Fixed bug if any of the P4 variables were set to an empty string in a config file
0.3.15 (2016-3-9)
Python 3 support
0.3.14 (2016-2-24)
Fixed bug when trying to add an empty file
0.3.13 (2016-2-17)
Changed the parameter in __getVariables to a list Fixes #27
0.3.12 (2016-2-16)
Added an optional connection paramter to all api functions
0.3.11 (2016-2-16)
Added a base class for perforce objects to wrap dict getter
Added Stream object Fixes #25
Added tests for new classes Fixes #26
Added tests for Revision objects as it was lacking
__getVariables will no longer show a console on windows Fixes #24
Client and Stream are now exposed at the package level Fixes #23
0.3.10 (2016-1-30)
Added Client object
Added better support for finding p4 env variables
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
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
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
0.3.9 (2016-1-29)
Changelist objects are lazy and will only query files as needed
0.3.7 (2015-1-7)
Fixed bugs regarding spaces in file names or specs
Fixed bug that may have left too many file handles open
Added comparison operator to Changelist
0.3.6 (2015-12-3)
Added __iadd_ operator to Changelist
Added unchanged_only flag to Changelist.revert()
Added exclude_deleted flag to Connection.ls()
Fixed a bug on windows that would occur if the command line was too long (>8190)
Added setter to Connection.client
Changelist.append will now raise a RevisionError if the file to append is not under the clients root
0.3.5 (2015-11-18)
Changed the argument order for Revisions to be consistent with everything else. Supports backwards compatible argument orders
Fixed bug that would attempt to checkout files when querying a changelist
0.3.4 (2015-11-17)
Changed enums to be namedtuples
Fixed bug when detecting login state
0.3.3 (2015-11-16)
Corrected the way the error levels were being handled
Added more documentation
Connection will no longer fail if any of the paramter were incorrect, use Connection.status() to check the status of the connection
0.1.0 (2014-10-16)
First release on PyPI.
Metadata
Release files for python-perforce 0.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| python-perforce-0.5.2.tar.gz | 23.7 kB | Without provenance | Details for python-perforce-0.5.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| python_perforce-0.5.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for python_perforce-0.5.2-py2.py3-none-any.whl |
Total release size: 37.4 kB
Release files / python-perforce-0.5.2.tar.gz
| Download URL | python-perforce-0.5.2.tar.gz |
|---|---|
| Size | 23.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
665f7b25a58fe0ad339451e64fd072c455af1745ffd9c103ce5e2dfa00078514
|
|
BLAKE2b-256 checksum How to use checksums |
89f360090143c8ddb84f0cb5a198e60925015c524e886b9755ba909b96fe105d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.5
|
Release files / python_perforce-0.5.2-py2.py3-none-any.whl
| Download URL | python_perforce-0.5.2-py2.py3-none-any.whl |
|---|---|
| Size | 13.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
8971d37abc0bede43006feb11f2e43b8b7b6ba5fb7b2940fb18ce128c5062929
|
|
BLAKE2b-256 checksum How to use checksums |
a3c43ff9f15826e5069dc0dd353d0c3a37a85f872d2f35b8e850f8f51c78afc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.5
|
Security for python-perforce 0.5.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.