A Python client for JuiceFS operations
Project description
JuiceFS Client
A Python client for JuiceFS operations with easy-to-use interfaces and AWS credentials support.
Installation
pip install juicefs-client
Quick Start
Initialize Client
from juicefs_client import JuiceFSClient
# Using environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
client = JuiceFSClient(volume="myvolume", token="mytoken")
# Or with explicit credentials
client = JuiceFSClient(
volume="myvolume",
token="mytoken",
access_key="your-aws-access-key",
secret_key="your-aws-secret-key"
)
Basic File Operations
# Write and read text files
client.write_file("/path/to/file.txt", "Hello World")
content = client.read_file("/path/to/file.txt")
# Binary files (e.g., PyTorch models)
client.save_torch_model("/models/model.pt", model.state_dict())
state_dict = client.load_torch_model("/models/model.pt")
# List directory contents
files = client.list_dir("/path/to/directory")
# Delete files
client.delete_file("/path/to/file.txt")
# Copy files
client.copy_file("/source/path", "/destination/path")
Features
- Simple and intuitive API for JuiceFS operations
- AWS credentials support (both environment variables and explicit)
- Built-in support for PyTorch model serialization
- File operations: read, write, delete, copy, list
- Directory operations: create, list, delete
Configuration
| Parameter | Description | Required | Default |
|---|---|---|---|
| volume | JuiceFS volume name | Yes | None |
| token | Authentication token | Yes | None |
| access_key | AWS access key | No | None |
| secret_key | AWS secret key | No | None |
| endpoint | Custom endpoint URL | No | None |
| region | AWS region | No | 'us-east-1' |
Error Handling
from juicefs_client.exceptions import JuiceFSError
try:
client.read_file("/nonexistent/file.txt")
except JuiceFSError as e:
print(f"Error: {e}")
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
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
juicefs_client-0.1.10.tar.gz
(9.2 kB
view details)
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 juicefs_client-0.1.10.tar.gz.
File metadata
- Download URL: juicefs_client-0.1.10.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09351051336239bd71ec70941ef11260d744f450e4e63886c72924f3a0b50eb5
|
|
| MD5 |
8e940b1e650d6fd0931b06d5c2a058f3
|
|
| BLAKE2b-256 |
8afbffa0b1b6f93f77d62f455baaaa6a993f11ad341573c3ce7d1edf724848e7
|
File details
Details for the file juicefs_client-0.1.10-py3-none-any.whl.
File metadata
- Download URL: juicefs_client-0.1.10-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26de93a5fc94255ca17f6772ab2c3501a853e74efae3851690b0d07c53135c9c
|
|
| MD5 |
9e6aec7f70769dadf9c396e6f46093dc
|
|
| BLAKE2b-256 |
97acc45fb26d8ea6b568c6084a5915d6a8d87170f44fc9927244a6527cade2b8
|