Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

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.

Files for python-perforce, version 0.5.2
Filename, size File type Python version Upload date Hashes
Filename, size python_perforce-0.5.2-py2.py3-none-any.whl (13.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size python-perforce-0.5.2.tar.gz (23.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page