PostgREST-py 项目教程
1. 项目的目录结构及介绍
postgrest-py/
├── postgrest/
│ ├── __init__.py
│ ├── client.py
│ ├── request_builder.py
│ ├── filters.py
│ ├── responses.py
│ ├── types.py
│ ├── exceptions.py
│ └── examples/
│ ├── basic_queries.py
│ └── logging_requests.py
├── tests/
│ ├── __init__.py
│ ├── test_client.py
│ └── test_request_builder.py
├── docs/
│ ├── conf.py
│ ├── index.rst
│ └── api_reference.rst
├── README.md
├── CODE_OF_CONDUCT.md
├── LICENSE
├── pyproject.toml
└── poetry.lock
目录结构介绍
- postgrest/: 包含项目的主要代码文件,包括客户端、请求构建器、过滤器、响应、类型和异常处理等模块。
- examples/: 包含一些示例代码,展示了如何使用
postgrest-py
进行基本的查询和日志记录。 - tests/: 包含项目的测试代码,确保代码的正确性和稳定性。
- docs/: 包含项目的文档配置文件和文档内容。
- README.md: 项目的介绍和使用说明。
- CODE_OF_CONDUCT.md: 项目的代码行为准则。
- LICENSE: 项目的开源许可证。
- pyproject.toml: 项目的配置文件,用于 Poetry 包管理。
- poetry.lock: 锁定依赖版本的文件。
2. 项目的启动文件介绍
项目的启动文件主要是 postgrest/client.py
,该文件定义了 AsyncPostgrestClient
类,用于与 PostgREST 服务器进行异步通信。
client.py
文件介绍
from postgrest import AsyncPostgrestClient
async def main():
async with AsyncPostgrestClient("http://localhost:3000") as client:
r = await client.from_("countries").select("*").execute()
countries = r.data
print(countries)
asyncio.run(main())
- AsyncPostgrestClient: 这是一个异步客户端类,用于与 PostgREST 服务器进行通信。
- from_("countries"): 选择要查询的表。
- select("*"): 选择要查询的字段。
- execute(): 执行查询并返回结果。
3. 项目的配置文件介绍
项目的配置文件主要是 pyproject.toml
,该文件用于配置项目的依赖和构建工具。
pyproject.toml
文件介绍
[tool.poetry]
name = "postgrest-py"
version = "0.1.0"
description = "PostgREST client for Python"
authors = ["Anand Krishna <anand@example.com>"]
license = "MIT"
[tool.poetry.dependencies]
python = "^3.9"
[tool.poetry.dev-dependencies]
pytest = "^6.2"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
- [tool.poetry]: 定义了项目的基本信息,如名称、版本、描述、作者和许可证。
- [tool.poetry.dependencies]: 定义了项目的依赖项,如 Python 版本。
- [tool.poetry.dev-dependencies]: 定义了开发依赖项,如测试框架
pytest
。 - [build-system]: 定义了构建系统的要求和后端。
以上是 postgrest-py
项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用该项目。