跳转到主要内容

使用http范围请求进行懒加载、可查找的远程文件对象

项目描述

seekablehttpfile

此项目提供了一个类似文件的对象,该对象根据需要使用HTTP范围请求获取文件的某些部分。

>>> from seekablehttpfile import SeekableHttpFile
>>> from zipfile import ZipFile

>>> f = SeekableHttpFile("https://files.pythonhosted.org/packages/cb/90/599c79a248dcae6935331113649de5d75427e320efde21b583648b498584/tensorflow_intel-2.14.0-cp310-cp310-win_amd64.whl")  # 284MB
>>> # use as normal, for example with ZipFile
>>> z = ZipFile(f)
>>> len(z.namelist())
9414
>>> # find out how much we actually read
>>> f.stats
{'num_requests': 4, 'optimistic_bytes_read': 256000, 'lazy_bytes_read': 1078669, 'satisfied_from_cache': 2}

版本兼容性

此库的用户应能够使用Python 3.7或更高版本。这通过测试得到验证,并编码在Requires-Python中。

开发实际上需要Python 3.12(或3.13)。CI验证它在3.10及以上版本上正常工作,但您将获得较少的flake8检查。预计一旦有mypy、black等版本不再与所有开发版本同时兼容,就会删除旧版本。

值得注意的是,虽然此项目可能在Python 3.7上运行(并且通过测试),但您可能无法对其进行类型检查。

许可协议

seekablehttpfile版权所有 Tim Hatch,并使用MIT许可证许可。我在此存储库中向您提供的代码是在开源许可证下提供的。这是我的个人存储库;您收到的代码许可来自我,而不是我的雇主。有关详细信息,请参阅LICENSE文件。

项目详情


下载文件

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

源代码分发

seekablehttpfile-0.1.0.tar.gz (11.3 kB 查看哈希值)

上传时间 源代码

构建发行版

seekablehttpfile-0.1.0-py3-none-any.whl (10.1 kB 查看哈希值)

上传时间 Python 3