Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Pure python Perforce API

Project Description

Pure python perforce API

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.
Release History

Release History

This version
History Node

0.3.17

History Node

0.3.15

History Node

0.3.14

History Node

0.3.13

History Node

0.3.12

History Node

0.3.11

History Node

0.3.10

History Node

0.3.9

History Node

0.3.8

History Node

0.3.7

History Node

0.3.6

History Node

0.3.5

History Node

0.3.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

History Node

0.3.0

History Node

0.2.4

History Node

0.2.3

History Node

0.2.1

History Node

0.2.0

History Node

0.1.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
python-perforce-0.3.17.tar.gz (23.9 kB) Copy SHA256 Checksum SHA256 Source Oct 19, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting