I have included three images highlighting the issue I've encountered with code completion in Dataspell. The image below shows how an instance of Jupyter running in a browser deals with code completion.
In the example below, you can see that for an Axes object labelled as "ax1" DataSpell fails to offer options relating to that object in Matplotlib. Some options it offers (axvline, for example) are only included because they have been used elsewhere in the code.
The issue seems to be that DataSpell does not recognise the type of ax1 (as can be seen from the image below). DataSpell seems to think that ax1 is an "Any" object. Jupyter running in the browser does not have this issue.
The code completion seems to suffer from lots of similar failures to identify the type of the object and so only offers limited generic completion suggestions for the "Any" object.
EDIT:
Another user has kindly sent me an answer that suggests a workaround from 7 years ago that cured the problem for Pycharm. My hope is that the requirement for type hinting, in order to get code-completion behaviour available in other IDEs and Jupyter on the browser, has now disappeared.
I like lots of DataSpell's features, but the requirement to add type hints throughout the code, when other IDEs don't require this, would not be ideal. I'm hoping that I've simply missed an option that enables this common behaviour.