用于处理STAC的命令行工具和Python库
项目描述
stactools
stactools
是一个高级命令行工具和Python库,用于处理 STAC。它基于 PySTAC。
这是 stactools
的核心仓库,提供基本的命令行界面 (CLI) 和API,用于处理STAC目录。在其他仓库中还有一系列用于处理各种数据集和进行更复杂STAC数据操作的包。有关更多信息,请参阅 包。
目录
安装
通过pip安装最新版本
pip install stactools
使用conda安装最新版本
conda install -c conda-forge stactools
从源代码库安装最新开发版本
git clone https://github.com/stac-utils/stactools.git
cd stactools
pip install .
注意:为了读取和写入云优化地理 TIFF,需要 GDAL 版本 3.1 或更高。如果您的系统 GDAL 低于版本 3.1,请考虑使用 Docker 或 Conda 来获取现代 GDAL。
可选依赖项
stactools
包含两个可选依赖
s3
:通过fsspec
和s3fs
启用 s3 链接validate
:启用stac validate
和stac lint
安装可选依赖项
pip install 'stactools[s3]'
pip install 'stactools[validate]'
Docker
从注册表中下载 Docker 镜像
docker pull ghcr.io/stac-utils/stactools:latest
运行
stac --help
从 Docker 运行
docker run --rm ghcr.io/stac-utils/stactools:latest --help
文档
查看最新文档的文档页面。
软件包
stactools
由许多其他子软件包组成,提供库和 CLI 功能。官方支持的软件包托管在 Github stactools-packages
组织,其他子软件包可能来自其他来源。
有超过 25 个软件包可以将特定类型的数据转换为 STAC,包括图像源,如 aster、landsat、modis、naip、planet、sentinel1、sentinel1-grd、sentinel2、sentinel3,土地利用/覆盖数据(corine、cgls_lc100、aafc-landuse),数字高程模型(DEMs)(cop-dem、alos-dem),人口数据(gpw、worldpop)、pointclouds 以及更多。
还有像 stactools-browse 这样的酷工具,它使得从命令行部署 STAC 浏览器 来浏览任何本地数据变得非常简单。
有关官方支持的软件包列表,请参阅 STAC 软件包列表,位于 stactools-packages GitHub 组织。每个软件包都可以通过 pip install stactools-{package}
安装,例如 pip install stactools-landsat
。第三方软件包也可以以相同的方式安装,或者如果它们不在 PyPI 上,可以直接从源代码库安装,例如 pip install /path/to/my/code/stactools-greatdata
。
开发
克隆存储库,并使用可选的 dev
依赖项以可编辑模式安装它
git clone https://github.com/stac-utils/stactools.git
cd stactools
pip install -e '.[dev]'
使用 pre-commit 处理代码检查和格式化。您需要在提交任何更改之前安装 pre-commit
pre-commit install
使用 pytest 处理测试
pytest
运行 Jupyter 笔记本
scripts/notebook
使用 Docker
您还可以在 Docker 容器中开发。使用以下命令构建容器
docker/build
容器构建完成后,您可以通过运行以下命令在 Docker 控制台中运行 scripts/
脚本
docker/console
可以使用以下命令运行完整的构建和测试
docker/cibuild
在您想在 docker/
中运行脚本但不想运行构建的情况下,可以通过 pull
脚本来下载镜像
docker/pull
运行一个 Jupyter 笔记本
docker/notebook
您可以通过以下命令通过 docker 运行 CLI
docker/stac --help
使用 conda
conda 是一个用于管理依赖的有用工具,包括二进制和基于 Python 的依赖。如果您已安装 conda,您可以通过在此仓库的顶层目录中运行以下命令来为 stactools
开发创建一个新的环境
conda env create -f environment.yml
然后激活 stactools
环境
conda activate stactools
最后,以可编辑模式安装 stactools
和所有开发需求
pip install -e '.[dev]'
开发文档
要构建和提供文档,必须使用 pip install -e '.[docs]'
安装开发需求。要构建文档,您可以从文档目录内部使用 make html
,要构建文档并启动一个监视更改的服务器,请使用 make livehtml
cd docs
make html
make livehtml
如果使用 make livehtml
,服务器启动后,请转到 http://localhost:8000 以查看文档。使用不带参数的 'make' 命令可以查看可用命令列表。
您还可以使用以下命令在 docker 容器中运行先前命令
docker/console
代码所有者和仓库维护者
此仓库使用一个 代码所有者文件 来自动请求对新的 pull 请求进行审查。此仓库当前的主要维护者列在 CODEOWNERS 文件中的 *
规则下。
添加新包
要创建新的 stactools
包,请使用 stactools
包模板。 stactools
利用 Python 的 命名空间包 来提供一系列在 stactools
命名空间下的工具。如果您希望您的包被考虑作为核心 stactools
包,请在本仓库中打开一个链接到您的包仓库的问题。
发布
有关创建新版本的步骤,请参阅 RELEASING.md
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建发行版
stactools-0.5.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ccf321a33604a9edd571eb80ddaef427b928db36d528ac72d918f90a3212a883 |
|
MD5 | 6a197bb45e9ec62df7ffbc61a0a06380 |
|
BLAKE2b-256 | e6e6316e794974cce6458caaeea63a145dcd62effa232a908ac3e63f19069273 |
stactools-0.5.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4ceffac7d2c1315fe811b3f6ae3d320772e44b5375ea6c3fa3cc0da8b849dabb |
|
MD5 | fadb672a32d82f20690521d348ad49cf |
|
BLAKE2b-256 | 43896c8b32e5d82fce88478db31d517c7f52fc79c6a6a53c7a006b01838d7b01 |