Skip to main content

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

快速开始

# 配置服务器地址
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

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etransfer-0.1.3.tar.gz (107.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

etransfer-0.1.3-py3-none-any.whl (109.1 kB view details)

Uploaded Python 3

File details

Details for the file etransfer-0.1.3.tar.gz.

File metadata

  • Download URL: etransfer-0.1.3.tar.gz
  • Upload date:
  • Size: 107.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for etransfer-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9f37372f2940cad3ff3a1279fafe1e1868f88e4636901685e0cdd908b38d5c0d
MD5 0e032e05216be4b5592bcc1a8c84fc29
BLAKE2b-256 6c814917339a0a07c26cb90e9011235affb3c6a0c2a4feff3041fdd7d24ac82e

See more details on using hashes here.

Provenance

The following attestation bundles were made for etransfer-0.1.3.tar.gz:

Publisher: publish.yml on ZGCA-Forge/ETransfer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file etransfer-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: etransfer-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 109.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for etransfer-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8c02bc16b134c3d9e52c210cdf4ec9c14624b6717c2c089c0e07ecfcc60c5aad
MD5 130bc72f7d5781a2311b46a086c99b78
BLAKE2b-256 182501e29129089c67fcbd68dc20bbd1c92f42c61e4f7d0a52e1f78136797707

See more details on using hashes here.

Provenance

The following attestation bundles were made for etransfer-0.1.3-py3-none-any.whl:

Publisher: publish.yml on ZGCA-Forge/ETransfer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page