大文件集合管理器
项目描述
pyfiles
一个大文件集合管理器。
安装
在虚拟环境中
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip wheel
pip install git+git://github.com/jrmi/pyfiles@master # Or any last commit
# Then create your setup.py file before using CLI
命令行界面
创建一个 settings.py 文件,在其中以该配置执行cli进行文件存储
BACKEND = "pyfiles.storages.diskstorage.DiskStorage"
BACKEND_OPTIONS = {
"basepath": "/tmp/tmpdir",
"base_url": "http://localhost:8000"
}
对于S3
BACKEND = "pyfiles.storages.s3storage.S3Storage"
BACKEND_OPTIONS = {
"access_key":"<you-S3-access-key>",
"secret_key":"<you-S3-secret-key>",
"endpoint_url":"<S3-api-endpoint>",
"region_name":"<region>",
"bucket_name":"<bucket name>",
}
然后存储一个文件
$ pyfiles store <file path> <file.namespace> <file.name> <version>
版本 应遵循以下格式:YYYY.MM.DD-Rev 或任何类似于 semver 的 X.Y.Z
列出一个文件的所有版本
$ pyfiles versions <file.namespace> <file.name>
搜索文件
$ pyfiles search <file.namespace> <file.name> [<version-prefix>]
版本前缀 可以是 YYYY 或 X 或 YYYY.MM 或 X.Y 或 YYYY.MM.DD 或 X.Y.Z 或 Latest。如果未指定,默认为 Latest。
最后删除一个文件
$ pyfiles delete <file.namespace> <file.name> <version>
启动Web API服务器
$ pyfiles serve
Web API
GET on /search/<namespace>/<filename>[?version=<version>]
获取文件版本下载链接。 Namespace 是组织数据的命名空间,而 filename 是文件名。您可以可选地添加一个版本,如 latest 或 <year> 或 <year.month> 或 <major> 或 <major>.<minor> 等。对于指定的版本,您将获得最新版本。
GET on /versions/<namespace>/<filename>
显示所有可用文件版本。
Python API
查看pyfiles.storage类以获取更多信息。
您可以使用 pyfiles.storage.get_storage(<后端路径>, <选项>) 来初始化您的存储。
特性
一个具有丰富版本选择的下载文件API
列出文件的所有版本
适用于CSV或Geojson文件
文件版本可以是如2018.01.10-01的格式
通过版本的一部分查找文件。例如 2018 或 2018.01
路线图
允许使用私有数据进行认证
处理不同版本之间的文件差异
获取文件的更新日期以简化缓存
添加客户端库和CLI
许可
免费软件:MIT许可
鸣谢
此包是用 Cookiecutter 和 audreyr/cookiecutter-pypackage 项目模板创建的。
历史
0.1.1 (2020-12-17)
首次发布在PyPI。
项目详情
bygfiles-0.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fa48153a2451e4f066e75ccb1f925becdd27a9042fe807ce0414ade9ee4b0393 |
|
MD5 | 4c2a25e8a7efb6f9e46ea98c4b191204 |
|
BLAKE2b-256 | 3d5961f44e6df31f4b7c5a889abd11a2da2cfc5213efccc6d337687831499ee0 |