dapper91 / pydantic-xml

python xml for humans
https://pydantic-xml.readthedocs.io
The Unlicense
155 stars 16 forks source link

XmlModelMeta accepts ModelMetaclass directly. #90

Closed dapper91 closed 1 year ago

dapper91 commented 1 year ago

Accepting metaclass base as type(BaseModel) could lead to some problems with linters and code analyzers. For example mypy can't figure out that type(BaseModel) returns ModelMetaclass and thinks that BaseModel and BaseXmlModel have different metaclass roots.

XmlModelMeta is not inherited from ModelMetaclass directly because it is not public. The issue addressing that problem.

Resolves the issue

codecov-commenter commented 1 year ago

Codecov Report

Merging #90 (ebca1e1) into dev (a6d40e6) will decrease coverage by 0.90%. Report is 39 commits behind head on dev. The diff coverage is 93.46%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@            Coverage Diff             @@
##              dev      #90      +/-   ##
==========================================
- Coverage   93.11%   92.22%   -0.90%     
==========================================
  Files          23       23              
  Lines        1089     1234     +145     
==========================================
+ Hits         1014     1138     +124     
- Misses         75       96      +21     
Flag Coverage Δ
unittests 92.22% <93.46%> (-0.90%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed Coverage Δ
pydantic_xml/element/native/lxml.py 0.00% <ø> (ø)
...ydantic_xml/serializers/factories/typed_mapping.py 73.91% <73.91%> (ø)
pydantic_xml/serializers/factories/tagged_union.py 84.84% <84.84%> (ø)
pydantic_xml/serializers/factories/union.py 87.95% <87.17%> (+0.14%) :arrow_up:
pydantic_xml/serializers/factories/mapping.py 88.75% <89.33%> (-1.88%) :arrow_down:
...ydantic_xml/serializers/factories/heterogeneous.py 89.58% <90.90%> (-1.49%) :arrow_down:
pydantic_xml/serializers/factories/homogeneous.py 92.00% <91.66%> (+0.62%) :arrow_up:
pydantic_xml/serializers/factories/primitive.py 95.69% <95.45%> (+1.66%) :arrow_up:
pydantic_xml/serializers/factories/model.py 95.62% <96.04%> (+0.34%) :arrow_up:
pydantic_xml/element/element.py 99.42% <96.55%> (+0.03%) :arrow_up:
... and 8 more