pydantic模式的代码生成器

pydantic-gen的Python项目详细描述


https://img.shields.io/pypi/pyversions/pydantic-genhttps://img.shields.io/badge/code%20style-black-000000.svghttps://img.shields.io/pypi/v/pydantic-genhttps://img.shields.io/pypi/dw/pydantic-genhttps://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Flicht1stein%2Fpydantic-gen%2Fbadge&style=flathttps://readthedocs.org/projects/pydantic-gen/badge/?version=latesthttps://img.shields.io/badge/Support-With_coffee!-Green

这个软件包的作用是什么

这是一个代码生成包,它将YML定义转换为Pydantic模型(python代码或python对象)。在

什么是Pydantic

Pydantic是一个python库,用于使用 python类型注释。在

看看Pydantic文档中的official example。在

为什么要生成模式?在

通常,您只需在程序中编写模式,但是有几个 代码生成非常有意义的用例:

  • 您正在编写多个使用同一模式的应用程序(考虑一个API服务器和一个客户端库)
  • 你用不止一种编程语言编程

入门

安装

使用pip:

pip install pydantic-gen

使用poetry

^{pr2}$

用法

首先,需要使用所需的类模式创建一个YAML文件。请参阅example.yml文件。在

frompydantic_genimportSchemaGengenerated=SchemaGen('example.yml')

代码现在生成并存储在生成代码属性。有 使用代码的两种方法:

  1. 将其保存到文件中,然后在程序中使用该文件:
generated.to_file('example_output.py')

您可以在example_output.py中检查结果文件

  1. 或者直接导入生成的类而不保存:
generated.to_sys(module_name='generated_schemas')

跑完生成的.to\u sys(module_name='generated\u schemas'您生成的代码将可用于导入:

importgenerated_schemasasgsschema=gs.GeneratedSchema1(id=1)

使用模式

推荐的使用模式是创建项目所需的yaml文件 并将它们存储在单独的存储库中,以实现所有项目之间的最大一致性。在

YAML文件结构

模式-描述的所有模式的列表

name-生成的类的名称

props-使用python类型的类的属性列表 注释。字段:名称-字段名,类型-字段类型, 可选, default-字段的默认值。在

配置-来自Model Config的配置设置列表 皮丹蒂克的。在

测试

项目完全由测试覆盖,并使用pytest。运行:

pytest

包装注意事项

这个项目使用优秀的poetry进行打包。请阅读一下,让我们开始使用 <引用>pyproject.toml项目文件作为标准。阅读更多:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Intellij通过方法中的包查找用法   java中VS代码和打包命名的问题   将java CMS功能集成到具有高度动态内容的网站(Lucene/Mysql/Nosql)的策略   oracle的java类强制转换异常。jdbc。驾驶员OracleConnection   字节码向JVM添加上指令   如何在抽象类中执行java方法?   java是否可以在apache访问日志中排除指定的GET参数?(作者:W7开发环境)   java如何获取已安装音频播放器的列表?   尝试向HS学生展示如何使用Java访问MS数据库   使用正则表达式java对给定行中的特定字符串进行计数   java JOOQ Select查询中的Select计数   方法Java,如何从二维双精度数组中找到特定值?   获取图像URL的java正则表达式   java在切换到新的窗口驱动程序后找不到元素