{"id":21518151,"url":"https://github.com/ucloud/ufile-sdk-python","last_synced_at":"2025-07-08T07:14:21.631Z","repository":{"id":52468241,"uuid":"162412363","full_name":"ucloud/ufile-sdk-python","owner":"ucloud","description":"This is an UFile(OSS) SDK for Python from UCloud","archived":false,"fork":false,"pushed_at":"2025-03-11T08:03:57.000Z","size":1188,"stargazers_count":21,"open_issues_count":6,"forks_count":16,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-19T19:09:10.618Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ucloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG/CHANGELOG-3.2.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-12-19T09:14:11.000Z","updated_at":"2025-05-15T08:27:01.000Z","dependencies_parsed_at":"2024-12-17T03:11:13.421Z","dependency_job_id":"c5fed056-7427-42ec-8fff-3e87aa93b1df","html_url":"https://github.com/ucloud/ufile-sdk-python","commit_stats":{"total_commits":59,"total_committers":14,"mean_commits":4.214285714285714,"dds":0.728813559322034,"last_synced_commit":"21065c5e52a8b9a10d0254fc670bd587181247af"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/ucloud/ufile-sdk-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Fufile-sdk-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Fufile-sdk-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Fufile-sdk-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Fufile-sdk-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ucloud","download_url":"https://codeload.github.com/ucloud/ufile-sdk-python/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Fufile-sdk-python/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261374414,"owners_count":23148977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T00:50:18.280Z","updated_at":"2025-07-08T07:14:21.592Z","avatar_url":"https://github.com/ucloud.png","language":"Python","readme":"# UCloud 对象存储 Python-SDK\n\nTable of Contents\n=================\n\n   * [概述](#概述)\n      * [文件目录说明](#文件目录说明)\n   * [安装](#安装)\n      * [本地安装](#本地安装)\n      * [使用 pip 安装](#使用-pip-安装)\n      * [开发文档生成](#开发文档生成)\n   * [快速使用](#快速使用)\n   * [参数设置](#参数设置)\n      * [设置公共参数](#设置公共参数)\n      * [设置默认参数](#设置默认参数)\n      * [设置日志文件](#设置日志文件)\n   * [版本记录](#版本记录)\n   * [更多使用](#更多使用)\n   * [联系我们](#联系我们)\n\n# 概述\n\n本源码包含使用Python对UCloud的对象存储业务US3(原名UFile)进行空间和内容管理的API，适用于Python 2(2.6及以后)和Python 3(3.3及以后)。\n\n## 文件目录说明\n\n```shell\nUFILE-SDK-PYTHON\n├─docs               开发文档生成目录\n├─examples           示例代码存放目录\n├─setup.py           package安装文件\n├─test_ufile         测试文件存放目录\n├─ufile              SDK的具体实现\n```\n\n[回到目录](#table-of-contents)\n\n# 安装\n\n## 本地安装\n\n```bash\n$ git clone https://github.com/ucloud/ufile-sdk-python.git\n$ git checkout \u003ctag/branch\u003e\n$ cd ufile-sdk-python\n$ python setup.py install\n\n#卸载\n$ python setup.py install --record files.txt #获取安装程序安装的文件名\n$ cat files.txt | xargs rm -rf               #删除这些文件\n```\n\n## 使用 pip 安装\n\n```bash\n$ pip install ufile\n# 如果你要使用 pre-release 版本\n$ pip install --pre ufile\n\n# 如果未安装pip\n# pip官网：https://pypi.org/project/pip/\n\n#卸载\n$ pip uninstall ufile\n```\n\n**注意：在国内的 pip 源会由于网络问题无法更新，建议加上国内的 python 源。**\n\n## 开发文档生成\n\n源码中的docs文件夹包含基于sphinx的开发文档生成文件，下载相应的SDK包后，进入此文件夹，然后执行命令`make html`命令可生成build目录，build/html目录即为开发文档。\n\n注：Windows下可使用`.\\make.bat html`命令生成build目录\n\n[回到目录](#table-of-contents)\n\n# 快速使用\n\n```python\n# 密钥可在https://console.ucloud.cn/uapi/apikey中获取\npublic_key = ''              #账户公钥\nprivate_key = ''             #账户私钥\n\nbucket = ''                  #空间名称\nlocal_file = ''              #本地文件名\nput_key = ''                 #上传文件在空间中的名称\nsave_file = ''               #下载文件保存的文件名\n\nfrom ufile import config,filemanager\n\n#以下两项如果不设置，则默认设为'.cn-bj.ufileos.com'，如果上传、下载文件的bucket所在地域不在北京，请务必设置以下两项。\n#设置上传host后缀,外网可用后缀形如 .cn-bj.ufileos.com（cn-bj为北京地区，其他地区具体后缀可见控制台：对象存储-单地域空间管理-存储空间域名）\nconfig.set_default(uploadsuffix='YOUR_UPLOAD_SUFFIX')\n#设置下载host后缀，普通下载后缀即上传后缀，CDN下载后缀为 .ufile.ucloud.com.cn\nconfig.set_default(downloadsuffix='YOUR_DOWNLOAD_SUFFIX')\n\nufile_handler = filemanager.FileManager(public_key, private_key)\n\n# 上传文件\nret, resp = ufile_handler.putfile(bucket, put_key, local_file, header=None)\nassert resp.status_code == 200\n\n# 下载文件\n_, resp = ufile_handler.download_file(bucket, put_key, save_file)\nassert resp.status_code == 200\n\n# 遍历空间里文件(默认数目为20)\nret, resp = ufile_handler.getfilelist(bucket)\nassert resp.status_code == 200\nfor object in ret[\"DataSet\"]:\n    print(object)\n\n# 删除文件\nret, resp = ufile_handler.deletefile(bucket, put_key)\nassert resp.status_code == 204\n```\n[回到目录](#table-of-contents)\n\n# 参数设置\n\n\n## 设置公共参数\n\n```python\npublic_key = ''         #公钥或token\nprivate_key = ''        #私钥或token\n```\n\n* 密钥可以在控制台中 [API 产品 - API 密钥](https://console.ucloud.cn/uapi/apikey)，点击显示 API 密钥获取。将 public_key 和 private_key 分别赋值给相关变量后，SDK即可通过此密钥完成鉴权。请妥善保管好 API 密钥，避免泄露。\n* token（令牌）是针对指定bucket授权的一对公私钥。可通过token进行授权bucket的权限控制和管理。可以在控制台中[对象存储US3-令牌管理](https://console.ucloud.cn/ufile/token)，点击创建令牌获取。\n* 管理 bucket 创建和删除必须要公私钥，如果只做文件上传和下载用 TOEKN 就够了，为了安全，强烈建议只使用 TOKEN 做文件管理\n\n## 设置默认参数\n\n```python\nfrom ufile import config\n\n#设置上传host后缀,外网可用后缀形如 .cn-bj.ufileos.com（cn-bj为北京地区，其他地区具体后缀可见控制台：对象存储-单地域空间管理-存储空间域名）\n#默认值为'.cn-bj.ufileos.com'，如果上传文件的bucket所在地域不在北京，请务必设置此项\nconfig.set_default(uploadsuffix='YOUR_UPLOAD_SUFFIX')\n#设置下载host后缀，普通下载后缀即上传后缀，CDN下载后缀为 .ufile.ucloud.com.cn\nconfig.set_default(downloadsuffix='YOUR_DOWNLOAD_SUFFIX')\n#设置请求连接超时时间，单位为秒\nconfig.set_default(connection_timeout=60)\n#设置私有bucket下载链接有效期,单位为秒\nconfig.set_default(expires=60)\n#设置上传文件是否进行数据完整性校验（现仅支持putifle和putstream）\nconfig.set_default(md5=True)\n#设置是否使用https,注意内网不支持https\nconfig.set_default(open_ssl=True)\n```\n\n* 如果在实例化 FileManager 和 MultipartUploadUFile 实例时传入相关参数，则生成的实例会使用传入的值，而不是此处设置的默认值。\n\n## 设置日志文件\n\n```python\nfrom ufile import logger\n\nlocallogname = '' #完整本地日志文件名\nlogger.set_log_file(locallogname)\n```\n\n[回到目录](#table-of-contents)\n\n# 版本记录\n\n[UFileSDK release history](https://github.com/ucloud/ufile-sdk-python/blob/master/CHANGELOG/CHANGELOG-3.2.md)\n\n# 更多使用\n\n* [更多例子](https://github.com/ucloud/ufile-sdk-python/tree/master/examples)\n* UCloud US3 [开发者文档](https://ucloud-us3.github.io/python-sdk/概述.html)\n\n# 联系我们\n\n- UCloud US3 [UCloud官方网站](https://www.ucloud.cn/)\n- UCloud US3 [官方文档中心](https://docs.ucloud.cn/ufile/README)\n- UCloud 官方技术支持：[提交工单](https://accountv2.ucloud.cn/work_ticket/create)\n- 提交[issue](https://github.com/ucloud/ufile-sdk-python/issues)\n\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucloud%2Fufile-sdk-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fucloud%2Fufile-sdk-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucloud%2Fufile-sdk-python/lists"}