upvote
The blog post does want to share some type information with users. They just want to prevent users from relying on a specific implementation of that type.

They are basically describing a public API backed by a private type that they can extend, rearrange, or otherwise modify without breaking the public contract.

reply
The point is to mark the constructor as "private" so that it is easy to spot unintended use during code reviews (or using linters).
reply
average python script writer
reply