Skip to main content

Python Implement for FastDFS Client

Project description

fastdfs-client-python

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

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("192.168.243.133").upload_as_url(p.read_bytes(), p.suffix)
print(url)
# http://192.168.243.133/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.5.tar.gz (33.5 kB view details)

Uploaded Source

Built Distribution

fastdfs_client-1.1.5-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastdfs_client-1.1.5.tar.gz
  • Upload date:
  • Size: 33.5 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.5.tar.gz
Algorithm Hash digest
SHA256 6bb96bad89f8f7510ec7938ecf491ec46dcb4c2cfabbe9654a0990fc9b8b27ff
MD5 24fa71e794f123d3d4f4dfbbc33a9cc4
BLAKE2b-256 c5e9509550dafaf78defc0a62f596588583e3b5424a323a22b3d8063fc0195eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastdfs_client-1.1.5-py3-none-any.whl
  • Upload date:
  • Size: 35.6 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d3b0dfa0b6622cb5a782e234aa379b3aa0b70f1ca761e69eac3f19e51f0d64de
MD5 b0dbc5a50ada8444bc6ad22c5d781bea
BLAKE2b-256 215d0191b5e54dbfe32ac9a7c00f378b75edf437be0ccc948facabe69c1f3284

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