跳转到主要内容

Python中的Git LFS客户端实现

项目描述

Giftless Client

一个使用Python实现的Git LFS客户端库,兼容一般的Git LFS服务器,特别是Giftless Git LFS服务器

giftless-client已在Python 2.7和3.6+上进行了测试。

安装

您可以直接从pypi安装此库

(venv) $ pip install giftless-client

API

此模块公开一个主要类:LfsClient。通常,您只需要使用此类来执行大多数Git LFS操作。客户端提供了对低级LFS API命令的包装,例如batch,以及上传和下载文件的高级方法。

创建客户端实例

from giftless_client import LfsClient

client = LfsClient(
    lfs_server_url='https://git-lfs.example.com', # Git LFS server URL
    auth_token='somer4nd0mT0ken==',               # Bearer token if required by the server (optional)
    transfer_adapters=['basic']                   # Enabled transfer adapters (optional)
)

transfer_adapters参数是可选的,表示与服务器协商时按优先级支持的传输适配器列表;通常,没有必要提供此参数。

从LFS存储下载文件

下载一个文件并将其保存到文件对象。

download(file_obj, object_sha256, object_size, organization, repo, **extras)
  • file_obj预期为一个以二进制模式打开进行写入的文件对象
  • object_sha256:要下载的对象的sha256
  • object_size:要下载的对象的大小
  • organizationrepo:用于生成形式为organization/repo的批量请求前缀
  • extras添加到带有前缀x-的批量请求属性字典中。这主要是Giftless特定的。

请注意,下载本身是由所选的传输适配器执行的。

将文件上传到LFS存储

将文件上传到LFS存储

upload(file_obj, organization, repo, **extras)
  • file_obj:可读、可寻址的文件对象
  • 其他参数与下载相同

请注意,上传本身是由所选的传输适配器执行的。

发送LFS 批量 API请求

向LFS服务器发送一个批量 请求

batch(prefix, operation, objects, ref=None, transfers=None)

  • prefix: 添加到LFS服务器URL,例如,如果prefix=abc并且客户端使用服务器URL为https://git-lfs.example.com创建,则批量请求通过POST发送到https://git-lfs.example.com/abc/objects/batch
  • 其他所有参数:请参阅批量命令了解定义

示例

client.batch(
  prefix='myorg/myrepo',
  operation='download',
  objects={
      "oid": "12345678",
      "size": 123
    }
)

命令行使用

尽管giftless-client的主要用途是作为其他项目的客户端库,但此模块确实包含一些命令行功能。

运行以下命令以获取更多信息

(venv) $ giftless-client --help

许可证

Giftless Client是免费软件,根据MIT许可证条款分发。有关详细信息,请参阅LICENSE

Giftless Client版权所有 © 2020 Datopian / Viderum Inc.

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分发

giftless-client-0.1.1.tar.gz (6.6 kB 查看哈希值)

上传时间

构建分发

giftless_client-0.1.1-py2.py3-none-any.whl (9.2 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面