跳转到主要内容

用于处理STAC的命令行工具和Python库

项目描述

stactools

Build Status Documentation PyPI version Conda (channel only) License

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,请考虑使用 DockerConda 来获取现代 GDAL。

可选依赖项

stactools 包含两个可选依赖

  • s3:通过 fsspecs3fs 启用 s3 链接
  • validate:启用 stac validatestac 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,包括图像源,如 asterlandsatmodisnaipplanetsentinel1sentinel1-grdsentinel2sentinel3,土地利用/覆盖数据(corinecgls_lc100aafc-landuse),数字高程模型(DEMs)(cop-demalos-dem),人口数据(gpwworldpop)、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 (46.6 kB 查看哈希值)

上传时间 源码

构建发行版

stactools-0.5.3-py3-none-any.whl (57.3 kB 查看哈希值)

上传时间 Python 3

由以下组织支持