Official Python Pachyderm client. Created by kalugny (formerly kalugny/pypachy.)
See the API docs. Most of values are auto-generated from protobufs. It's generally easier to rely on the higher-level classes if they provide the functionality you need:
pip install python-pachydermAll of the PFS functions used in pachctl are supported (almost) as-is.
There are some helper functions that help make things more pythonic:
commitwhich is a context manager wrapper forstart_commitandfinish_commitget_fileswhich supports getting the data from multiple files
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.
e.g:
client.list_file(('my_repo', 'branch'), '/') # tuple
client.list_file('my_repo/commit_id', '/') # string
c = client.list_commit('my_repo')[0] # get some commit
client.list_file(c, '/') # and use it directlyimport python_pachyderm
client = python_pachyderm.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)As of version 0.1.4, there is also limited support for PPS:
pps_client = python_pachyderm.PpsClient()
pps_client.list_pipeline()
...This driver is co-maintained by Pachyderm and the community. If you're looking to contribute to the project, this is a fantastic place to get involved.
To run tests, clone the repo, then run:
make init
tox