Skip to main content

Python Implement for FastDFS Client

Project description

fastdfs-client-python

Python Versions LatestVersionInPypi Ruff Mypy coverage pre-commit.ci status GithubActionResult

FastDFS Python client

Manual pass upload test with fastdfs v6.12.1

English | 中文

Motivation

Base on:

Fixes:

  • TypeError:
Traceback (most recent call last):
  File "~/trying/something/upload.py", line 4, in <module>
    client = Fdfs_client(tracker_conf_path)
  File "~/trying/something/venv/lib/python3.10/site-packages/fdfs_client/client.py", line 52, in __init__
    self.tracker_pool = poolclass(**self.trackers)
TypeError: fdfs_client.connection.ConnectionPool() argument after ** must be a mapping, not str
  • ResponseError
fdfs_client.exceptions.ResponseError: [-] Error: Tracker response length is invaild, expect: 40, actual: 70

Requires

  • Python3.10+ (No other dependence)

For Python3.8/Python3.9, use https://github.com/waketzheng/fastdfs-client-python/tree/1.0.1

Install

pip install fastdfs-client

Usage

from fastdfs_client import FastdfsClient
client = FastdfsClient('/etc/fdfs/client.conf')
ret = client.upload_by_filename('test.txt')
print(ret)
  • Response sample
{
    "Group name": "group1",
    "Status": "Upload successed.",
    "Remote file_id": "group1/M00/00/00/wKjzh0_xaR63RExnAAAaDqbNk5E1398.txt",
    "Uploaded size": "6.0KB",
    "Local file name": "test.txt",
    "Storage IP": "192.168.243.133"
}

Advance

from pathlib import Path

p = Path('test.txt')
url = FastdfsClient(["dfs.waketzheng.top"]).upload_as_url(p.read_bytes(), p.suffix)
print(url)
# https://dfs.waketzheng.top/group1/M00/00/00/wKjzh0_xaR63RExnAAAaDqbNk5E1398.txt

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

fastdfs_client-1.1.6.tar.gz (33.8 kB view details)

Uploaded Source

Built Distribution

fastdfs_client-1.1.6-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file fastdfs_client-1.1.6.tar.gz.

File metadata

  • Download URL: fastdfs_client-1.1.6.tar.gz
  • Upload date:
  • Size: 33.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.8 Darwin/20.6.0

File hashes

Hashes for fastdfs_client-1.1.6.tar.gz
Algorithm Hash digest
SHA256 88241e346c184082bec961584ccd154a3afe359a703abfb711ada3310c9906b4
MD5 9c1d6fc44daf100e615edfd877e75784
BLAKE2b-256 e164089f991a46bab66afed03b9b29459a60cc91a041183af041c47e49793567

See more details on using hashes here.

File details

Details for the file fastdfs_client-1.1.6-py3-none-any.whl.

File metadata

  • Download URL: fastdfs_client-1.1.6-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.8 Darwin/20.6.0

File hashes

Hashes for fastdfs_client-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 09ff5800e8485ac73f90d5c93d1491920a7f7ea2932db8d7b3b81a40aa813118
MD5 06b9554ca7566b6bfc3a4aaa683d25e1
BLAKE2b-256 2cb023df0be95b5d2b61207cb4dc1756d45a585c3b264702e6654113cc5babe4

See more details on using hashes here.

Supported by

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