Skip to main content

R2Client

R2Client is a Python client library for interacting with Cloudflare R2 storage, facilitating easy and quick HTTP requests to manage files within an R2 bucket. This framework leverages Python's native packages to sign and send requests, making it straightforward to integrate into existing Python projects.

Features

  • File upload and download
  • Listing files and folders within a bucket

Installation

To install r2client, simply use pip:

pip install r2client

Quick Start

Here's how to get started with r2client:

Setting Up

First, import R2Client and initialize it with your credentials:

from r2client import R2Client

# Initialize the R2Client
client = R2Client(
    access_key='<ACCESS_KEY>',
    secret_key='<SECRET_KEY>',
    endpoint='<ENDPOINT> (example: "https://***.r2.cloudflarestorage.com")'
)

Uploading a File

To upload a file to your R2 bucket:

bucket_name = 'your-bucket-name'
local_file_path = 'path/to/your/local/file'
r2_file_key = 'desired/path/in/bucket'

client.upload_file(bucket_name, local_file_path, r2_file_key)

Downloading a File

To download a file from your R2 bucket:

file_key = 'path/to/the/file/in/bucket'
local_file_name = 'path/to/save/the/downloaded/file'

client.download_file(bucket_name, file_key, local_file_name)

Listing Files

To list files in a specific bucket:

files_dict = client.list_files(bucket_name)
print(files_dict)

Listing Folders

To list folders within a bucket:

folders = client.list_folders(bucket_name)
print(folders)

Contributing

Contributions are welcome! Please feel free to submit a pull request or create an issue for any bugs or feature requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Release files for r2client 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for r2client 0.2.1
File Size Uploaded
r2client-0.2.1.tar.gz 4.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for r2client 0.2.1
File Interpreter ABI Platform
r2client-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.2 kB

Release files / r2client-0.2.1.tar.gz

Download URL r2client-0.2.1.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
83d1ea4ccd58e792b74b8f19a24ad619ea209f23e6ff2faa0ca2e8bf3f845b88
BLAKE2b-256 checksum
How to use checksums
8916b7ff768e04d431ec7bf57d386610462ff052e534d1f553eb5557161e6ec4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release files / r2client-0.2.1-py3-none-any.whl

Download URL r2client-0.2.1-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91a1af0563937c03882428466cf35519f15f7d896b0db270edd96bf3b1ea7960
BLAKE2b-256 checksum
How to use checksums
4db51db15945e4b2974e420cc36c237936257c79e4fff53f9fb5285885e17f4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release history Release notifications | RSS feed

0.3.1

2 release files

0.3

2 release files

This release

0.2.1 This release

2 release files

0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page