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.6.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.6.tar.gz.
File metadata
- Download URL: juicefs_client-0.1.6.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
181ea5e526cb0b9fd222c9af525c1904231edb7d572f7508a1ea6ed661e223fe
|
|
| MD5 |
c3049c0c21944cbefe43b3eaafe3dec9
|
|
| BLAKE2b-256 |
eb0b5a600529c83f7dd2684932dc70ff690cea312b44b988cd619ce6f9567378
|
File details
Details for the file juicefs_client-0.1.6-py3-none-any.whl.
File metadata
- Download URL: juicefs_client-0.1.6-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.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
102c44eeac09cf31727361e05c80045c6a567fbe144a4ce89f74fa1ca9e70ec1
|
|
| MD5 |
91677dfd6c8d19f9b396a61981f4ff41
|
|
| BLAKE2b-256 |
57f778bb1ea56d9406f733cb38faa4d82f577658883c811b162e4e8bb0518bbe
|