Python Pachyderm Client
Project description
Pachyderm's Python SDK
Official Python client/SDK for Pachyderm. The successor to https://github.com/pachyderm/python-pachyderm.
This library provides the autogenerated gRPC/protobuf code for Pachyderm, generated using a fork of the betterproto package, along with higher-level functionality.
Installation
pip install pachyderm_sdk
A Small Taste
Here's an example that creates a repo and adds a file:
from pachyderm_sdk import Client
from pachyderm_sdk.api import pfs
# Connects to a pachyderm cluster using your local config
# at ~/.pachyderm/config.json
client = Client.from_config()
# Creates a pachyderm repo called `test`
repo = pfs.Repo(name="test")
client.pfs.create_repo(repo=repo)
# Create a new commit in `test@master` and upload a file.
branch = pfs.Branch.from_uri("test@master")
with client.pfs.commit(branch=branch) as commit:
file = commit.put_file_from_bytes(path="/data/file.dat", data=b"DATA")
# Retrieve the uploaded file.
with client.pfs.pfs_file(file) as f:
print(f.readall())
How to load a CAST file into a pandas dataframe
from pachyderm_sdk import Client
from pachyderm_sdk.api import pfs
import pandas as pd
client = Client.from_config()
file = pfs.File.from_uri("test@master:/path/to/data.csv")
with client.pfs.pfs_file(file) as f:
df = pd.read_csv(f)
Changes from Python-Pachyderm
This package is a successor to the python-pachyderm package. Listed below are some of the notable changes:
- Organization of the API
- Methods and Message objects are now organized according to the service they are associated with, i.e. auth, pfs (pachyderm file-system), pps (pachyderm pipelining-system).
- Message objects can be found within their respective submodule of the
pachyder_sdk.apimodule, i.e.pachyderm_sdk.api.pfs. - Methods can be found within their respective attribute of the
Clientclass, i.e.client.pps.create_pipeline.- Some methods have been renamed to remove redundancy due to this organization, i.e.
python_pachyderm.Client.get_enterprise_state->pachyderm_sdk.Client.enterprise.get_state
- Some methods have been renamed to remove redundancy due to this organization, i.e.
- The autogenerated code is generated using a fork of the betterproto compiler.
- Messages are now python dataclasses.
- Methods require keyword arguments.
- Pachyderm resources are specified using types.
- python-pachyderm (old):
client.create_repo("test") - pachyderm_sdk (new):
client.pfs.create_repo(repo=pfs.Repo(name="test"))
- python-pachyderm (old):
Contributing
Please see the contributing guide for more info (including testing instructions)
Developer Guide
Generate python APIs from protobuf:
./generate-protos.sh
Running Tests:
pytest -vvv tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pachyderm_sdk-2.7.8.tar.gz.
File metadata
- Download URL: pachyderm_sdk-2.7.8.tar.gz
- Upload date:
- Size: 59.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.1 CPython/3.10.13 Linux/5.15.0-1053-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
451af0058361af54487ae6d9481ddac45d3ea36a000c64a4183f049f78978bf7
|
|
| MD5 |
7902926183ca24fdcfa1c11aa715cb21
|
|
| BLAKE2b-256 |
52a38e4463952c72019ce7538dfec7afa54070a93c9c27fffc4707fc3a9bdb73
|
File details
Details for the file pachyderm_sdk-2.7.8-py3-none-any.whl.
File metadata
- Download URL: pachyderm_sdk-2.7.8-py3-none-any.whl
- Upload date:
- Size: 71.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.1 CPython/3.10.13 Linux/5.15.0-1053-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a8df6245ed0fef8617ad430491726eb7014b2ac554c7bc54b9934553c96b033
|
|
| MD5 |
81f6cf185ea342863b04f1db1a231ed3
|
|
| BLAKE2b-256 |
4a090bcf103babc82fec528e95c0ef22f81a7bcc1bcabf75509218652e455a3e
|