Skip to main content

Pure python Perforce API

Project description

Pure python perforce API


  • Pythonic api to Perforce

  • Pure python, no compiled extension


pip install python-perforce


>>> import perforce
>>> p4 = perforce.connect()
>>> revisions ='//depot/path/to/file.txt')
>>> print(revisions)
[<Revision 1: file.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(
>>> print(client.root)


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

  • 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

  • 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.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-perforce-0.5.2.tar.gz (23.7 kB view hashes)

Uploaded Source

Built Distribution

python_perforce-0.5.2-py2.py3-none-any.whl (13.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page