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.4.tar.gz
(8.3 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.4.tar.gz.
File metadata
- Download URL: juicefs_client-0.1.4.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6886a87d03d25fe0b9475d8324abb653291096a622398e41020493232221bb33
|
|
| MD5 |
6e38e7a8c97fa909b59e93eb4d3722e4
|
|
| BLAKE2b-256 |
77b9f4a83468ecdd5345fb800d34fb54a7d512c2b86288478176db0a6167cb11
|
File details
Details for the file juicefs_client-0.1.4-py3-none-any.whl.
File metadata
- Download URL: juicefs_client-0.1.4-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56e46afca72de279a2c2166ce72a7209df4edbad5142fb44272c5c524769dee2
|
|
| MD5 |
d8c69cf69b41369f57e69c98d322c7b5
|
|
| BLAKE2b-256 |
2f7b744a12eacded2bbe1060cbb314bfb1ae4527101e6111efd8e7df00a6e365
|