跳转到主要内容

Codegen Python GraphQL Entity Framework

项目描述

Platformics

Platformics是一个基于代码生成来实现在PostgreSQL数据库上运行的全功能GraphQL API的GraphQL API框架,支持通过S3实现授权策略执行和文件持久化。它建立在最好的Python工具和框架之上!

使Platformics工作的库和工具

image

这些工具/库的链接

当前特性

  • 使用简单的YAML格式表达您的模式
  • GraphQL Dataloader模式(无n+1查询!)
  • 授权策略强制执行
  • 灵活过滤
  • 数据聚合
  • 顶级分页
  • 关系遍历
  • 数据库迁移
  • 生成的测试固定值
  • pytest连接
  • VSCode调试器集成
  • 授权S3文件上传/下载
  • 将自定义REST端点添加到生成的API
  • 将自定义GQL查询/突变添加到生成的API

路线图

  • 插件钩子,用于将业务逻辑添加到生成的GQL解析器
  • 支持任意类继承层次结构
  • 打包并发布到PyPI

如何设置自己的platformics API

  1. 将test_app模板代码复制到您的自己的仓库。
  2. 编辑schema/schema.yml以反映您的应用程序的数据模型。
  3. 运行make build然后运行make init以构建和运行您自己的GraphQL API服务。
  4. 浏览到http://localhost:9009/graphql与您的API交互!
  5. 运行make token生成一个您可以使用来与API交互的授权令牌。该make目标将必要的标头复制到系统剪贴板。将令牌粘贴到GraphQL探索器API底部的headers部分

平台ics版本控制

可以通过以下方式使用platformics在下游应用程序中

  1. 使用platformics镜像作为基础Docker镜像。要选择platformics的版本,请将适当的版本标签添加到Docker镜像中
  2. 作为依赖项安装,pip install platformics

pyproject.toml中,版本使用poetry-dynamic-versioning进行管理,该版本基于git标签确定。

迭代您的模式

  1. 修改schema/schema.yml
  2. 运行make codegen以重新运行代码生成并重新启动API服务
  3. 如果您的更改需要数据库模式更改,则运行make alembic-autogeneratemake alembic-upgrade-head以生成数据库迁移并运行它们。

如何做

贡献

本项目遵守贡献者公约行为准则。通过参与,您应遵守此准则。请向opensource@chanzuckerberg.com报告不可接受的行为。

报告安全问题

请通过联系security@chanzuckerberg.com负责任地披露安全问题。

项目详情


下载文件

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

源分发

platformics-0.1.0.tar.gz (59.0 kB 查看哈希)

上传时间

构建分发

platformics-0.1.0-py3-none-any.whl (78.7 kB 查看散列值)

上传时间 Python 3

由以下支持