Python Pachyderm Client
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-pachyderm
Usage and options
All 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 for
get_fileswhich supports getting the data from multiple files
All functions that accept a
commit argument will accept a tuple of
(repo, branch) or
a string like
repo/commit_id and a Commit object.
client.list_file(('my_repo', 'branch'), '/') # tuple client.list_file('my_repo/commit_id', '/') # string c = client.list_commit('my_repo') # get some commit client.list_file(c, '/') # and use it directly
Basic usage example
import 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