基于FastAPI框架和pgstac后端实现STAC API。
项目描述
stac-fastapi-pgstac
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)。
许可证
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建发行版
stac_fastapi_pgstac-3.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2899325053a2b8b63b4e5a24caa9cfe67015585811336db32082f94503786527 |
|
MD5 | b1342cdd44f8f2f70788662732571d2d |
|
BLAKE2b-256 | 6269a0c4852569193b7ab021c093da4d619e93a18677681473e8aeb06cf84d6d |
stac_fastapi.pgstac-3.0.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 92674aae6c12b3e906c58f6b70a441a8dfff3eb2369861dce54993af7dbf8e60 |
|
MD5 | 9b5b83047aec653866bf14fe3f795e8a |
|
BLAKE2b-256 | feae27b37921035b96d780526578a1dd5b22f94dcee8e0593170a3beb8ff812d |