没有项目描述

marsha的Python项目详细描述


玛莎

管道状态覆盖率报告

基于输入模块的python 3序列化和验证库。

状态

实验性

不要将此代码放在服务器上。你可以,但你可能不应该。

文档

https://dekar01.gitlab.io/marsha

功能

严格性

当使用python的内置类型进行模式注释时,数据必须是 指定类型或加载操作的实例将失败,并出现异常。 默认情况下,意外和丢失的数据将出错。

清晰度

验证错误反映数据的结构,提供对值的洞察 这导致了错误,并提供有意义的信息以帮助解决问题。

速度

默认功能是快速和精简。性能下降 开发人员明确选择了复杂的功能。

灵活性

自定义数据类型是通过定义格式化程序类创建的,然后转换为 与内置打字模块兼容的类型。

表现力

python的内置类型泛型可以用来声明 知道如何使用简洁明了的语法自动处理多种类型。

安装

pip install marsha

用法

需要从用户输入创建数据库模型实例并以序列化形式公开它们吗?< /P>

创建与模型分离的模式是声明"视图"和 允许定义多个架构来控制数据在不同上下文中的公开方式。

frommy_app.database_modelsimportArtist,AlbumimportmarshafromtypingimportList@marsha.schema(Artist)classArtistSchema:name:str@marsha.schema(Album)classAlbumSchema:title:strartists:List[Artist]# dict -> Albumalbum=marsha.load(album_data,Album)# Do stuffalbum.save()# Album -> dictresponse_data=marsha.dump(album)

只需要验证一些数据并将其转换为正确的类型?< /P>

可以通过以下方式自动将任何模型的类型批注注册为架构 添加schemadecorator。

importmarshafromtypingimportList@marsha.schema()classArtist(dict):name:str@marsha.schema()classAlbum(dict):title:strartists:List[Artist]# dict -> dictalbum=marsha.load(album_data,Album)# Do stufffirst_artist=album['artists'][0]

开发

依赖关系

# python >= 3.6
pip install -r dev-requirements.txt

测试

# Quick testing.
flake8
pytest
# Ensure all statements and branches are covered with tests.
pytest --cov=marsha --cov-branch --cov-report html --cov-report term
# Ensure documentations changes render correctly.
make html

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

推荐PyPI第三方库


热门话题
java在搜索二进制搜索树时遇到问题   当try block中的多行抛出异常时,java使用TryWithResources而不是finally block   java什么时候需要动态多态性(与静态多态性相比)?   从对象类型的角度来看,java的子类是否与racine类等价?   JavaSpring数据JDBConetomany关系会导致大量日志警告   Java:无法更改响应标头中的“ContentDisposition”属性   Java:我可以直接初始化函数而不将其转换为变量吗?   java do,而游标仅从数组返回3个值   java StoredProcedureQuery多输出类型   java ForLoops最大和最小数   如何在java中的任何机器上读取文本文件   java从嵌套标记中获取XML字符串中包含的值   java如何解决Spring批处理作业运行期间的连接重置异常?   我在运行时创建的java Swing组件没有显示在JPanel中   Apache Jena:Error:“java.lang.NoClassDefFoundError:org/Apache/Jena/riot/RDFDataMgr”   java访问嵌套接口数据变量   java如果CopyOnWriteArrayList中的项目被不同的线程更新和读取,我需要同步它们吗?   在Java数组中不断迭代   java组织。贾维斯。常见的例外JaversException:NOT_INSTANCE_OF:无法为EntityType创建InstanceId