We learned a lot in this chapter—from how code completion works to how PyCharm's powerful static analysis can help you read code better. I use reStructuredText docstrings all the time for my own code so that it serves as documentation as well as a way for PyCharm to help me write error-free code. There are of course limitations to all these tools, most notably reStructuredText still does not support all kinds of types, for example, more complex types that aren't built in.
We also looked at some of the powerful tools at our disposal to write and read code. Some of these features might change over time, but I'm sure that the basic functionalities will remain the same.