Skip to main content

Multibucket

PyPI version Python License Documentation Status

多对象存储桶SDK,支持UCloud UFile、阿里云 OSS、腾讯云 COS、七牛云 Kodo、通用 S3 等云存储服务。

安装

pip install multibucket

快速开始

from multibucket import UCloudFileClient

# 初始化客户端
ufile = UCloudFileClient(
    public_key="your_public_key",
    private_key="your_private_key",
    bucket="your-bucket",
    region="cn-bj",
    timeout=30  # 全局超时时间(秒,可选)
)

# 上传文件
with open("image.jpg", "rb") as f:
    resp = ufile.upload("photos/image.jpg", f.read(), content_type="image/jpg")
print(resp.status_code)  # 200

# 上传本地文件(自动猜测 Content-Type)
success = ufile.upload_file("photos/image.jpg", "/path/to/image.jpg")
print(success)  # True/False

# 带重试的上传(默认重试 3 次)
success = ufile.upload_with_retry("backup/data.zip", data, retries=3)
print(success)  # True/False

# 获取文件 URL
url = ufile.get_path_url("photos/image.jpg")
print(url)  # https://your-bucket.cn-bj.ufileos.com/photos/image.jpg

# 生成分享链接(私有空间,默认 20 分钟有效)
share_url = ufile.get_shared_url("photos/image.jpg", expire_time=3600)
print(share_url)

# 判断文件是否存在
exists = ufile.is_exists("photos/image.jpg")
print(exists)  # True/False

# 获取文件内容到内存
data = ufile.get_content("photos/image.jpg")  # bytes
text = ufile.get_content("config.json", as_text=True)  # str

# 下载文件到本地
success = ufile.download("photos/image.jpg", "downloaded.jpg")
print(success)  # True/False

# 分片下载(支持进度回调)
success = ufile.multipart_download("videos/large.mp4", "large.mp4")

# 查询文件信息
resp = ufile.head("photos/image.jpg")
print(resp.headers["Content-Length"])

# 列出文件
resp = ufile.list(prefix="photos/", limit=50)
files = resp.json()["DataSet"]

# 删除文件
resp = ufile.delete("photos/image.jpg")
print(resp.status_code)  # 204

# 删除文件(简化版)
success = ufile.delete_file("photos/image.jpg")
print(success)  # True/False

高级功能

自定义域名(CDN)

ufile = UCloudFileClient(
    public_key="your_public_key",
    private_key="your_private_key",
    bucket="your-bucket",
    region="cn-bj",
    domain_url="https://cdn.example.com"  # 自定义 CDN 域名
)

内网访问

ufile = UCloudFileClient(
    public_key="your_public_key",
    private_key="your_private_key",
    bucket="your-bucket",
    region="cn-wlcb",
    internal=True  # 使用内网访问
)

分片上传(大文件)

# 自动分片上传,支持进度回调
def progress_callback(part_number, total_parts, uploaded, total):
    print(f"进度: {part_number + 1}/{total_parts}")

result = ufile.multipart_upload(
    key="videos/large.mp4",
    file_path="/path/to/large.mp4",
    content_type="video/mp4",
    callback=progress_callback
)

# 直接传入二进制内容进行分片上传
result = ufile.multipart_upload_bytes(
    key="matting/2026/08/20/example.webp",
    data=binary_content,
    content_type="image/webp"
)

自定义 HTTP 客户端

可以通过 http_client 参数传入自定义的 httpx.Client 实例:

import httpx
from multibucket import UCloudFileClient

# 创建自定义 client
custom_client = httpx.Client(
    timeout=httpx.Timeout(connect=5.0, read=30.0),
    limits=httpx.Limits(max_connections=100)
)

# 使用自定义 client
ufile = UCloudFileClient(
    public_key="your_public_key",
    private_key="your_private_key",
    bucket="your-bucket",
    region="cn-bj",
    http_client=custom_client
)

注意: 当传入 http_client 时,timeout 参数不会生效,超时由自定义 client 控制。


阿里云 OSS

快速开始

from multibucket import AliyunOSSClient

# 初始化客户端
oss = AliyunOSSClient(
    access_key_id="your_access_key_id",
    access_key_secret="your_access_key_secret",
    bucket="your-bucket",
    region="oss-cn-hangzhou",
    timeout=30  # 全局超时时间(秒,可选)
)

# 上传文件
with open("image.jpg", "rb") as f:
    resp = oss.upload("photos/image.jpg", f, content_type="image/jpeg")
print(resp.status_code)  # 200

# 上传本地文件
success = oss.upload_file("photos/image.jpg", "/path/to/image.jpg")

# 获取文件 URL
url = oss.get_path_url("photos/image.jpg")
print(url)  # https://your-bucket.oss-cn-hangzhou.aliyuncs.com/photos/image.jpg

# 生成分享链接
share_url = oss.get_shared_url("photos/image.jpg", expire_time=3600)

# 下载文件
success = oss.download("photos/image.jpg", "downloaded.jpg")

# 判断文件是否存在
exists = oss.is_exists("photos/image.jpg")

# 删除文件
success = oss.delete_file("photos/image.jpg")

内网访问

oss = AliyunOSSClient(
    access_key_id="your_access_key_id",
    access_key_secret="your_access_key_secret",
    bucket="your-bucket",
    region="oss-cn-hangzhou",
    internal=True  # 使用内网访问
)

分片上传(大文件)

def progress_callback(part_number, total_parts, uploaded, total):
    print(f"进度: {part_number + 1}/{total_parts}")

result = oss.multipart_upload(
    key="videos/large.mp4",
    file_path="/path/to/large.mp4",
    content_type="video/mp4",
    callback=progress_callback
)

自定义 HTTP 客户端

import httpx
from multibucket import AliyunOSSClient

custom_client = httpx.Client(
    timeout=httpx.Timeout(connect=5.0, read=30.0)
)

oss = AliyunOSSClient(
    access_key_id="your_access_key_id",
    access_key_secret="your_access_key_secret",
    bucket="your-bucket",
    region="oss-cn-hangzhou",
    http_client=custom_client
)

注意: 当传入 http_client 时,timeout 参数不会生效,超时由自定义 client 控制。


七牛云 Kodo

快速开始

from multibucket import QiniuKodoClient

# 初始化客户端
qiniu = QiniuKodoClient(
    access_key="your_access_key",
    secret_key="your_secret_key",
    bucket="your-bucket",
    region="z0",             # 区域标识(默认 z0 华东)
    timeout=30               # 全局超时时间(秒,可选)
)

# 上传文件
with open("image.jpg", "rb") as f:
    resp = qiniu.upload("photos/image.jpg", f, content_type="image/jpeg")
print(resp.status_code)  # 200

# 上传本地文件
success = qiniu.upload_file("photos/image.jpg", "/path/to/image.jpg")

# 获取文件 URL
url = qiniu.get_path_url("photos/image.jpg")
print(url)  # http://your-bucket.s3.cn-east-1.qiniucs.com/photos/image.jpg

# 生成分享链接(私有空间)
share_url = qiniu.get_shared_url("photos/image.jpg", expire_time=3600)

# 下载文件
success = qiniu.download("photos/image.jpg", "downloaded.jpg")

# 判断文件是否存在
exists = qiniu.is_exists("photos/image.jpg")

# 删除文件
success = qiniu.delete_file("photos/image.jpg")

# 复制/移动文件
resp = qiniu.copy("photos/image.jpg", "backup/image.jpg")
resp = qiniu.move("photos/old.jpg", "photos/new.jpg")

区域标识

存储区域 Region ID S3 兼容域名
华东-浙江 z0 s3.cn-east-1.qiniucs.com
华东-浙江2 cn-east-2 s3.cn-east-2.qiniucs.com
华北-河北 z1 s3.cn-north-1.qiniucs.com
华南-广东 z2 s3.cn-south-1.qiniucs.com
北美-洛杉矶 na0 s3.us-north-1.qiniucs.com
亚太-新加坡 as0 s3.ap-southeast-1.qiniucs.com
亚太-河内 ap-southeast-2 s3.ap-southeast-2.qiniucs.com
亚太-胡志明 ap-southeast-3 s3.ap-southeast-3.qiniucs.com

SDK 会根据 region 自动生成 S3 兼容域名,无需手动指定 domain_url。

分片上传(大文件)

def progress_callback(part_number, total_parts, uploaded_bytes, total_bytes):
    pct = uploaded_bytes / total_bytes * 100
    print(f"上传进度: {part_number + 1}/{total_parts} ({pct:.1f}%)")

result = qiniu.multipart_upload(
    key="videos/large.mp4",
    file_path="/path/to/large.mp4",
    content_type="video/mp4",
    callback=progress_callback,
    part_size=4 * 1024 * 1024,  # 4MB 每片(七牛云分片最大 4MB)
)

自定义 HTTP 客户端

import httpx
from multibucket import QiniuKodoClient

custom_client = httpx.Client(
    timeout=httpx.Timeout(connect=5.0, read=30.0)
)

qiniu = QiniuKodoClient(
    access_key="your_access_key",
    secret_key="your_secret_key",
    bucket="your-bucket",
    region="z0",
    http_client=custom_client
)

注意: 当传入 http_client 时,timeout 参数不会生效,超时由自定义 client 控制。


通用 S3 兼容存储

支持 AWS S3、MinIO、Cloudflare R2、腾讯 COS 等任何 S3 兼容服务。

快速开始

from multibucket import S3Client

# AWS S3
client = S3Client(
    access_key="your_access_key",
    secret_key="your_secret_key",
    bucket="your-bucket",
    region="us-east-1",
    timeout=30
)

# MinIO
client = S3Client(
    access_key="your_access_key",
    secret_key="your_secret_key",
    bucket="your-bucket",
    region="us-east-1",
    endpoint="http://localhost:9000"
)

# Cloudflare R2
client = S3Client(
    access_key="your_access_key",
    secret_key="your_secret_key",
    bucket="your-bucket",
    region="auto",
    endpoint="https://<account_id>.r2.cloudflarestorage.com"
)

# 上传文件
with open("image.jpg", "rb") as f:
    resp = client.upload("photos/image.jpg", f, content_type="image/jpeg")
print(resp.status_code)  # 200

# 上传本地文件
success = client.upload_file("photos/image.jpg", "/path/to/image.jpg")

# 获取文件 URL
url = client.get_path_url("photos/image.jpg")

# 生成预签名分享链接
share_url = client.get_shared_url("photos/image.jpg", expire_time=3600)

# 下载文件
success = client.download("photos/image.jpg", "downloaded.jpg")

# 判断文件是否存在
exists = client.is_exists("photos/image.jpg")

# 删除文件
success = client.delete_file("photos/image.jpg")

分片上传(大文件)

def progress_callback(part_number, total_parts, uploaded_bytes, total_bytes):
    pct = uploaded_bytes / total_bytes * 100
    print(f"上传进度: {part_number + 1}/{total_parts} ({pct:.1f}%)")

result = client.multipart_upload(
    key="videos/large.mp4",
    file_path="/path/to/large.mp4",
    content_type="video/mp4",
    callback=progress_callback,
    part_size=5 * 1024 * 1024,  # 5MB 每片(S3 最小分片 5MB)
)

自定义 HTTP 客户端

import httpx
from multibucket import S3Client

custom_client = httpx.Client(
    timeout=httpx.Timeout(connect=5.0, read=30.0)
)

client = S3Client(
    access_key="your_access_key",
    secret_key="your_secret_key",
    bucket="your-bucket",
    region="us-east-1",
    http_client=custom_client
)

注意: 当传入 http_client 时,timeout 参数不会生效,超时由自定义 client 控制。

Metadata

Release files for multibucket 0.2.12

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

Built distributions (wheels)

Table of built distributions (wheels) for multibucket 0.2.12
File
multibucket-0.2.12-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
multibucket-0.2.12-cp314-cp314-manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
multibucket-0.2.12-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
multibucket-0.2.12-cp313-cp313-manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
multibucket-0.2.12-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
multibucket-0.2.12-cp312-cp312-manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
multibucket-0.2.12-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
multibucket-0.2.12-cp311-cp311-manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
multibucket-0.2.12-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
multibucket-0.2.12-cp310-cp310-manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
multibucket-0.2.12-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
multibucket-0.2.12-cp39-cp39-manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
multibucket-0.2.12-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
multibucket-0.2.12-cp38-cp38-manylinux_2_17_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details

Total release size: 31.1 MB

Release files / multibucket-0.2.12-cp314-cp314-win_amd64.whl

Download URL multibucket-0.2.12-cp314-cp314-win_amd64.whl
Size 518.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
0dab2179514f5a2a39c4a6d87728f66a149e83d90f53a8126b6be806f8b29c1a
BLAKE2b-256 checksum
How to use checksums
282922981ceca491da295782cb1c98f6d5cf9fbdd11b0b608f9339d64f67d114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp314-cp314-manylinux_2_17_x86_64.whl

Download URL multibucket-0.2.12-cp314-cp314-manylinux_2_17_x86_64.whl
Size 3.9 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
670079f65ce6d931639d17ca70d3d3053a837c9ae24df73e674c0aa85e7a48fc
BLAKE2b-256 checksum
How to use checksums
c329dcc84426623cc2ee0da9bcd37f9215d055bc5173a6c8a8b4fad00437e6a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp313-cp313-win_amd64.whl

Download URL multibucket-0.2.12-cp313-cp313-win_amd64.whl
Size 509.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4cbf94bb673fa3a4bbaf287ded539b85ee1180ed3fe810b402364d9d5311bb35
BLAKE2b-256 checksum
How to use checksums
b6b56a707cf0485508cfa0d5e1fee3309c177f8c9a2551d53f73f59d97d5e14b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp313-cp313-manylinux_2_17_x86_64.whl

Download URL multibucket-0.2.12-cp313-cp313-manylinux_2_17_x86_64.whl
Size 3.9 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7856aa92cb6bfed087e6ece71c103081297ebc7408b28f84174eada13e974466
BLAKE2b-256 checksum
How to use checksums
ec864053d8c325c59568c24217b573adbd1c2c1acfc03f1df5f930bd7eab4f6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp312-cp312-win_amd64.whl

Download URL multibucket-0.2.12-cp312-cp312-win_amd64.whl
Size 512.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ea45c82c4f82c4f332be8ef6cbe2c9a75d9c8ac7bf255331d5997609ebdd2087
BLAKE2b-256 checksum
How to use checksums
8c3af62262d0219167eadea19d0757bbb3002a19fee241f38516e8e807384277
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp312-cp312-manylinux_2_17_x86_64.whl

Download URL multibucket-0.2.12-cp312-cp312-manylinux_2_17_x86_64.whl
Size 4.0 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
655ed83fb6722d9c445f8fc21d9324518e31640a8d8fe20d3c7506d2c545c899
BLAKE2b-256 checksum
How to use checksums
75b6d1e9a63abb55bdef96533ac44ec3986734a5eb3c1b0adbc71c86c8400378
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp311-cp311-win_amd64.whl

Download URL multibucket-0.2.12-cp311-cp311-win_amd64.whl
Size 515.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1a1234aa96192e9b65ff1b5a9e55b933ba035c060313427e0ac4ccba8ff211ae
BLAKE2b-256 checksum
How to use checksums
5cc722656470adc3f9bfe7c50f0c5486a3796776ddfcec8c9c4677477c99a39a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp311-cp311-manylinux_2_17_x86_64.whl

Download URL multibucket-0.2.12-cp311-cp311-manylinux_2_17_x86_64.whl
Size 4.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b2a1c2428df824d8a7b7abeea20aba679cc0e8f90b23476de0170b9973d731c9
BLAKE2b-256 checksum
How to use checksums
fd1f889ba83115c61fef7cf000c3524249fbd24ad7d7044438fc6f4a625ebcd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp310-cp310-win_amd64.whl

Download URL multibucket-0.2.12-cp310-cp310-win_amd64.whl
Size 514.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
c4bab2740d259dfd910303d7eac186ad0eb68b9c9b862100fd21e21542b86680
BLAKE2b-256 checksum
How to use checksums
0894534f0251eb941fedca0ae377f9cb96366a3d67f10d140ce4d0400cabbd86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp310-cp310-manylinux_2_17_x86_64.whl

Download URL multibucket-0.2.12-cp310-cp310-manylinux_2_17_x86_64.whl
Size 3.8 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8e50d5e4751c02d13d1feb06c4b7a9325305ecee0c93db25d455f60d25276382
BLAKE2b-256 checksum
How to use checksums
b4850cf49af3c04670b11430a300555060eb2f460894a9432504ac0e3c6d423a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp39-cp39-win_amd64.whl

Download URL multibucket-0.2.12-cp39-cp39-win_amd64.whl
Size 516.8 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
4168c0b295a7ef673f35513f40426048d4f4ca8b4f2ee7304223925c8eae432f
BLAKE2b-256 checksum
How to use checksums
37924ca6a70c371200a9e855fbf5c014bb41e01cff909d56f3e1230b02bc647e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp39-cp39-manylinux_2_17_x86_64.whl

Download URL multibucket-0.2.12-cp39-cp39-manylinux_2_17_x86_64.whl
Size 3.8 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7004e10cc6cc2415d8224713b7609756e43a2ed6e85087f0a8d71d86014b4c30
BLAKE2b-256 checksum
How to use checksums
b6c5abc06f30dd9b4dcc66d00744ffe9e81c169113e8ae040a9bcb1792d9bbba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp38-cp38-win_amd64.whl

Download URL multibucket-0.2.12-cp38-cp38-win_amd64.whl
Size 527.9 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
2c79f5181dff08c1d7a8d304a7d910233c40d9353bc5d5d5cb07e6e46f957710
BLAKE2b-256 checksum
How to use checksums
92b5b17221a6504de92a2ee64f25e8f982c64334cb82188e1f56d07d1c1dfc8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / multibucket-0.2.12-cp38-cp38-manylinux_2_17_x86_64.whl

Download URL multibucket-0.2.12-cp38-cp38-manylinux_2_17_x86_64.whl
Size 4.0 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
21703dd90c02db9354916a99dc6173b6ee1e9fd68a5b2439661794714d72176d
BLAKE2b-256 checksum
How to use checksums
5d10c3291d57442531835d90ecda2bd2fd00c37f5dec93ca32995684ae98cbd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Security for multibucket 0.2.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 14 files in this release have been uploaded with provenance metadata.

Select from 14 files

Attestation for multibucket-0.2.12-cp314-cp314-win_amd64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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