microsoft / microsoft/typespec
[Bug]: [typing] "_models" in typing annotation confuses sphinx
- Dominant language
- Java
- Stars
- 5.9k
- Forks
- 394
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 104
Description
### Describe the bug
This is transferred from https://github.com/Azure/autorest.python/issues/2964
we add "_models." in our generated code.
e.g.
def init(
self,
*,
vectorizer_name: str,
ai_services_vision_parameters: Optional["_models.AIServicesVisionParameters"] = None,
**kwargs: Any
) -> None:
The reason is to avoid name conflicts. we've had issues in the past, for example, if an enum is named the same thing as a model, by tying it to _models (we also make it private so we're not exposing anything), we avoid naming conflicts.
Unfortunately, Sphinx cannot parse the model "_models.AIServicesVisionParameters" correctly.
In Sphinx generated code, it shows
_models.SearchIndexerDataIdentity
and loses xref.
We need to find some other ways to solve the name conflicts.
### Reproduction
As above
### Checklist
- [x] Follow our [Code of Conduct](https://github.com/microsoft/typespec/blob/main/CODE_OF_CONDUCT.md)
- [x] Check that there isn't already an issue that request the same bug to avoid creating a duplicate.
- [x] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/Microsoft/typespec/discussions).
- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.
Contributor guide
Assessment
This issue has not been assessed yet.