You can do both. Python allows for external .pyi files, for situations where you can't modify the underlying library (for example: it's written in C). There are tons of them:
https://github.com/python/typeshed, but you can still add types to new code inline.