Comments (8)
It got fixed with version 1.5.0 #51. Feel free to reopen if the issue still persists on your site.
from autodoc_pydantic.
@goroderickgo thanks for reporting the bug and the detailed report! Can you provide a minimal example of your pydantic model that causes the error, please? That would be great otherwise I'm having trouble to reproduce it. Additionally, can you check what pydantic version you are using? It could be related to a change in how pydantic stores and manages root validators.
from autodoc_pydantic.
OK! It will take me a couple days to get to this, but it's on my to-do list
from autodoc_pydantic.
I was able to identify the bug. Root validators come in two flavors via pre=True
and pre=False
. The default is pre=False
which works just fine. However, the former using pre=True
causes the error you've been experiencing. Hence, the following does currently not work with pydantic==1.8.2 and sphinx==4.2.0:
from pydantic import BaseModel, root_validator
class ExampleValidators(BaseModel):
foobar: str
@root_validator(pre=True)
def validate_something(cls, values):
return values
The fix is actually rather simple and will be included in the upcoming 1.5.0 release which will happen very soonish.
from autodoc_pydantic.
@goroderickgo PR #51 addresses your issue, among other things.
Before merging the related PR, it would be great if you could test the bug fix on your site to confirm that my test case did indeed capture the incorrect behavior which you've encountered. To do so, please install the current dev release in your doc-building-environment via pip install git+git://github.com/mansenfranzen/[email protected]
and rebuild your docs.
from autodoc_pydantic.
@all-contributors please add @goroderickgo for tests
from autodoc_pydantic.
I've put up a pull request to add @goroderickgo! 🎉
from autodoc_pydantic.
Thanks (and sorry I didn't get to posting more help before you made the fix)! Looks like the update here does fix the issue for me!
from autodoc_pydantic.
Related Issues (20)
- Build failure with Enum under Pydantic 2.1, autodoc-pydantic 2.0.0 HOT 6
- @computed_field not showing in json schema HOT 2
- Deprecation warning for `ObjectMember` for Sphinx 7.2.2 HOT 3
- Package not honoring sphinxcontrib namespace package structure HOT 10
- Deprecation warning `sphinx.util.typing.stringify` for Sphinx v7.2.6 HOT 7
- Add `pydantic` classifier to help finding package HOT 2
- Cannot generate documentation when having class with arbitrary types HOT 1
- Cannot use `inherited-members` directive with autosummary HOT 5
- Generate output with nonvalidation methods HOT 4
- ForwardRef.__init__() got an unexpected keyword argument 'is_class' HOT 3
- Render field examples HOT 2
- Type aliases don't propagate for nested pydantic models with inherited members.
- Allow `autodoc_pydantic_field_signature_prefix` to be empty HOT 5
- Does `autodoc-pydantic` support the `pydantic.v1` compatibility layer? HOT 2
- `model_post_init` from `BaseModel` appears in the rendered documentation HOT 5
- [Feature Request] Print json schema as (collapsible) table HOT 2
- model_computed_fields is shown in rendered output HOT 3
- Consider dropping support for sphinx version 4.X HOT 3
- Model inherited from two parents does not seem to show inherited members HOT 1
- Dependency Dashboard
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autodoc_pydantic.