A TUS-based file transfer tool with chunked upload/download support
Project description
ETransfer
面向大文件场景的高性能传输工具,基于 TUS 协议。支持断点续传、切片上传下载、流式中继(上传未完成即可下载)、阅后即焚,适用于 AI 训练数据集、模型权重等大文件的可靠分发。
特性
- 基于 TUS 协议的断点续传,网络中断自动恢复
- 切片上传/下载,支持部分下载(流式中继)
- 阅后即焚 / TTL 过期 / 永久保存三种文件策略
- 存储配额管理,超限自动等待并恢复
- 多 IP 负载均衡,自动选择最优节点
- OIDC 用户系统,基于角色/群组的配额控制
- CLI + GUI + Python API
安装
pip install etransfer
如需部署服务端(含 SQLAlchemy async 依赖):
pip install "etransfer[server]" --only-binary greenlet
--only-binary greenlet确保只安装预编译 wheel,避免 Windows 等平台上的 C 编译问题。
快速开始
# 配置服务器地址
etransfer setup your-server
# 登录(如果服务器启用了 OIDC)
etransfer login
# 上传
etransfer upload ./model-weights.bin
# 阅后即焚上传
etransfer upload ./dataset.tar.gz --retention download_once
# 下载
etransfer download <file_id> -o ./output/
# 文件列表
etransfer list
# 服务器信息
etransfer info
进阶使用(Python API)
from etransfer.client.tus_client import EasyTransferClient
from etransfer.client.downloader import ChunkDownloader
# 上传
with EasyTransferClient("http://your-server:8765", token="your-token") as client:
uploader = client.create_uploader("./large-model.bin", retention="download_once")
uploader.upload(wait_on_quota=True)
file_id = uploader.url.split("/")[-1]
# 下载
downloader = ChunkDownloader("http://your-server:8765", token="your-token")
downloader.download_file(file_id, "./output/large-model.bin")
文档
| 文档 | 说明 |
|---|---|
| 私有化部署 | 服务端安装、配置、Docker 部署 |
| 通信设计 | API 端点与协议说明 |
License
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
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 etransfer-0.1.11.tar.gz.
File metadata
- Download URL: etransfer-0.1.11.tar.gz
- Upload date:
- Size: 112.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a33d284943e50bd7bd79c797953fc2f6547b4f2709b922cfd740530dbc0ac02e
|
|
| MD5 |
aa610cdf0461f62fbfcd2c7df71585d3
|
|
| BLAKE2b-256 |
c9661eb51f09264e081b506a189a7543ce0e3de8a7fcac1b2821bfcf9b2083fc
|
Provenance
The following attestation bundles were made for etransfer-0.1.11.tar.gz:
Publisher:
publish.yml on ZGCA-Forge/ETransfer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
etransfer-0.1.11.tar.gz -
Subject digest:
a33d284943e50bd7bd79c797953fc2f6547b4f2709b922cfd740530dbc0ac02e - Sigstore transparency entry: 986299276
- Sigstore integration time:
-
Permalink:
ZGCA-Forge/ETransfer@736e877c2fa699262a4dbb795303a6af1a42fb07 -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/ZGCA-Forge
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@736e877c2fa699262a4dbb795303a6af1a42fb07 -
Trigger Event:
release
-
Statement type:
File details
Details for the file etransfer-0.1.11-py3-none-any.whl.
File metadata
- Download URL: etransfer-0.1.11-py3-none-any.whl
- Upload date:
- Size: 113.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ce306c1fd69ae2a8205cec6825d1e6aba0cde9854432e8547d6192dbec6e75f
|
|
| MD5 |
3d15375c9c0ab436a12605732965ae5c
|
|
| BLAKE2b-256 |
b56bbfcc4bb77296ad6a749c81a7f2a7c8689afcec1c95d11493bb890d2900ce
|
Provenance
The following attestation bundles were made for etransfer-0.1.11-py3-none-any.whl:
Publisher:
publish.yml on ZGCA-Forge/ETransfer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
etransfer-0.1.11-py3-none-any.whl -
Subject digest:
7ce306c1fd69ae2a8205cec6825d1e6aba0cde9854432e8547d6192dbec6e75f - Sigstore transparency entry: 986299429
- Sigstore integration time:
-
Permalink:
ZGCA-Forge/ETransfer@736e877c2fa699262a4dbb795303a6af1a42fb07 -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/ZGCA-Forge
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@736e877c2fa699262a4dbb795303a6af1a42fb07 -
Trigger Event:
release
-
Statement type: