Skip to main content

Python Pachyderm Client

Project description

PyPachy

A python client wrapper for Pachyderm <https://www.pachyderm.io/> API.

NOTES

  1. Currently implements only the PFS interface.

  2. Supports Pachyderm versions 1.4 and up

Installing

$ pip install pypachy

Instructions

The functions correspond closely to the Go client implementation and are very similar to the pachctl interface as well.

All functions that accept a commit argument will accept a tuple of (repo, branch) or (repo, commit_id), a string like repo/branch or repo/commit_id and a Commit object

Basic usage example:

>>> import pypachy

>>> client = pypachy.PfsClient()
>>> client.create_repo('test')
>>> with client.commit('test', 'master') as c:
...:     client.put_file_bytes(c, '/dir_a/data', b'DATA')
...:     client.put_file_url(c, '/dir_b/icon.png', 'http://www.pearl-guide.com/forum/images/smilies/biggrin.png')
...:
>>> client.get_files('test/master', '/', recursive=True)
{'/dir_a/data': b'DATA',
 '/dir_b/icon.png': b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x19tEXtSoftware\x00Adobe ImageReadyq\xc9e<\x00\x00\x02\xbfIDATx\xda\xa4\x92KHTa\x14\xc7\xff\xdf\xbd\xde\xb9\x8eskt(\x99|T\xea\xb4QP[\xe4"\x02\x95\xca\x1en\xb2\x88 r\xe16h\x91\xb4r\x11\xd8N\x82@jW"T\x1bCz,\xa4\x89\x92\xac(A\xb4PJQ&L\x85\xb1$u\x1e\xb7\xeb\xdc\xe7\xd7\xf9\xa62\xb5e\x17\x0e\xdf\xf9.\xdf\xf9\x9d\xffy0\xce9\xfe\xe7\xcb\xd9\xfa\xc3\xeee\x9a\xe7\xa1\x9d\xbb8\xee\xba\xa8#\x1f\xe4\x8f\x90\x1f\xa5\xf3F\xe8\n\xd77\xbeg\x1b\x15Pp\xbd\xe7\xa2W\xaan(c\xe1\x06p\x7f\t\xe09\xf0\xd2sp\xe2\xc30\x86\x87f\t\xd4\x16\xee\xe0\xaf\xfe\x01\xd8=\xac\xc5\xdb\x15~(GN\x81\x07w\xc2N\xbe\x87k\xac\x82[&\xbdR!k\x110S\x821\x11\x85\x11\xfbzz\xf75\xfeh\x1d`\xf6\xb0\x10\x1ds9G:4W^\x86\xa3\xc7\x00S\x87kY\xf0l\x8b \x16\xe0r\xb0@\x18J\xde~,\xf5\xdd\xd4I\xc9\x9eH\x17_\x91\x04\x85jk\x97k\x9a4\xee\xa7w\x06\x05[\x06\xee\\O\xd0\xc5!i\x0e\xee\xde&7\x93\x81\xbd4\x0b\xdb\x98F\xb0\xbeIsm\xb4\x8b\xd8,\x80h\xcd\xac\xe8(\\}\x8a\xb2e\xe0Q`\xdb%5{r\xc7A\xeb\x85\x0c%\xa1^dL\xd8\x8bSP\xc2U\x82\xdd\xbc>\x05\x02T"\xaf\x10n*\x81\x91gA\xc2n\xa7\xe2\xb6\x8c\x87j\xf4\xcc\x15T\x95\x8c\xd1eM\x08+[\x07P\xe7\xd7\xb8\x95\xf6\x81\xb2\x15\xd7\x1eF\xb0\xb4\x0e\x92\xbcy\xc2BM\xe2\xf3SxK#Y\x98\xebA\xfe\x0b\xb01\x0b3U\x0b\xf8P\x10J!T~\x00\xb2\xa2n\x028\xa6\x01g\xe1\x16\x81\x15\xb8\xb6\x02s\r\xb1l\x0f\x18c\xa2\x84\x81\xcc\xfck0\xff^\xc8F\x14frFh\xde\xa8\x1f\xe6\xf7Q`\xe1\x05|\x85eH\xcf\xc7@\xed\x18\x10\xb1Rnn.\x11\xd1\x9d\x1a\x8c\xea\xb0\nhL\xf9\xc8\x8c\x9fGj\xf2*\xcc\x95\x11\n|\x8b\xd5\xb1\x8bH>o\x81/\x18\x84\x17\xa8\xc1L_T\'@\xb7\xaa\xaa\xd9Ve-\xd6\x813\x81H\xf1\x83@\xf5\t*,\t;>\x0e;%\x16\xc9\x01\xf3\xa9PvT\xc0F\x05\x16\xdf\xbcD\xfc\xc3\xc2\xd9\x93Ox\xff\x1f@\x8e\xa2(\xdb\xe8\x0c]>\xe44\x9e\xab\xe4\x9d\xc5\xc7\x1a\x8a\xfc\xa5\xb5\x90U\xea\x93k\xd1ZP\x03\xa7\xa70\xd1?\x14\x7f\xfc\x85u\xde\x9f\x94\x07I\xfe2Y\x82\x8c\xf9\t\xb0\x8f6R\x11[\x19\xf4{y]\x8d^ky>\x0ej>T\x89M\xfe\x96\xc6\xa7\xe9e\xbc\xeb\x1ae\xf7tK2D\xedd.\xd9G\xa1@#G\x96$I#\x9fv\x11*\x81\xc4\x8a\xab\xbf\xc6\xcf\xc5c\xe1\x9a\xbf\x83\x04\xe0\xc7\xef\xec\xceO\x01\x06\x00\xce\xbcbi2/%\xbd\x00\x00\x00\x00IEND\xaeB`\x82'}

TODO

  • Test, test, test!

  • Add support for ObjectAPI

  • Add support for PPS, Version, etc

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

pypachy-0.1.1.tar.gz (24.8 kB view hashes)

Uploaded Source

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