跳转到主要内容

基于FastAPI框架和pgstac后端实现STAC API。

项目描述

stac-fastapi-pgstac

GitHub Workflow Status PyPI Documentation License

FastAPI

PgSTAC后端为stac-fastapi,即FastAPI实现的STAC API规范

概述

stac-fastapi-pgstac是在FastAPI中构建的HTTP接口。它验证发送到PgSTAC后端的请求和数据,并将链接添加到返回的数据中。所有其他处理和搜索都直接使用数据库上的PgSTAC过程化sql / plpgsql函数提供。PgSTAC将所有集合和项目记录作为jsonb字段存储,就像它们进来时一样,允许透明地存储和检索任何自定义字段。

PgSTAC版本

stac-fastapi-pgstac依赖于pgstac数据库模式和pypgstac Python包。

stac-fastapi-pgstac版本 pgstac
2.5 >=0.7,<0.8
3.0 >=0.8,<0.9

用法

PgSTAC是一个外部项目,可能被多个前端使用。对于Stac FastAPI开发,可以通过Github容器仓库获取Docker镜像(作为docker-compose的一部分进行拉取)。stac-fastapi-pgstac所需的PgSTAC版本可以在setup文件中找到。

排序

尽管完全支持STAC 排序扩展,但PgSTAC特别增强,能够按日期时间排序(升序或降序)。在非常大的STAC仓库中,如果查询限制非常具体(例如选择单日日期范围),则除了日期时间以外的任何排序(默认情况下不指定排序)都不会有相同的性能。对于超过百万条记录,建议在PostgreSQL上设置低连接超时或禁用排序扩展的使用。

数据填充

要将stac-fastapi-pgstac配置为在API中填充搜索结果项,请将环境变量USE_API_HYDRATE设置为true或明确在PGStac设置对象中设置该选项。

迁移

PgSTAC(pypgstac)中包含一个迁移实用程序。要使用

pypgstac migrate

贡献

有关详细的贡献说明,请参阅CONTRIBUTING

安装

git clone https://github.com/stac-utils/stac-fastapi-pgstac
cd stac-fastapi-pgstac
python -m pip install -e ".[dev,server,docs]"

测试

make test

使用Github 拉取请求提供新功能或请求对草稿代码进行审查,并使用问题报告错误或请求新功能。

文档

构建文档

make docs

然后,通过本地HTTP服务器提供文档

mkdocs serve

历史

stac-fastapi-pgstac最初由developmentseed添加到stac-fastapi。2023年4月,它从核心stac-fastapi仓库中移除,并移动到当前位置(http://github.com/stac-utils/stac-fastapi-pgstac)。

许可证

MIT

项目详情


下载文件

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

源分发

stac_fastapi_pgstac-3.0.0.tar.gz (35.9 kB 查看哈希值)

上传于 源代码

构建发行版

stac_fastapi.pgstac-3.0.0-py3-none-any.whl (40.1 kB 查看哈希值)

上传于 Python 3

支持