Open black-snow opened 1 month ago
Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.
I can strip down the schema to a minimal example if the issue isn't apparent.
My quick workaround is to patch it after code generation:
LC_ALL=C findmodels/generated -type f -exec sed -i '' -r 's/^from . import (AnonymousSchema[0-9]+)/from .\1 import \1/' {} \; \
&& LC_ALL=C findmodels/generated -type f -exec sed -i '' -r 's/Optional\[AnonymousSchema[0-9]+\./Optional[/' {} \;
Describe the bug.
(ref. https://github.com/asyncapi/cli/issues/1485)
So with
--pyDantic
, the CLI generates models like:with
But when I try to use the models I end up with the unhelpful message:
The import seems to break the types for pydantic. It works fine when I go with
from .AnonymousSchema15 import AnonymousSchema15
and thenOptional[AnonymousSchema15]
. This seems to be some deep crappy typehinting black magic eff-up.So the fix might just be to adjust the import + the usage.
Expected behavior
Nested models should work out of the box.
Screenshots
-
How to Reproduce
allOf
:asyncapi generate models python asyncapi.yaml --pyDantic
🥦 Browser
None
👀 Have you checked for similar open issues?
🏢 Have you read the Contributing Guidelines?
Are you willing to work on this issue ?
None