Is there a package naming convention for Python like Java’s com.company.actualpackage? Most of the time I see simple, potentially colliding package names like “web“.
If there is no such convention, is there a reason for it? What do you think of using the Java naming convention in the Python world?
Python has two “mantras” that cover this topic:
and
There is a convention for naming of and importing of modules that can be found in The Python Style Guide (PEP 8).
The biggest reason that there is no such convention to consistently prefix your modules names in a Java style, is because over time you end up with a lot of repetition in your code that doesn’t really need to be there.
One of the problems with Java is it forces you to repeat yourself, constantly. There’s a lot of boilerplate that goes into Java code that just isn’t necessary in Python. (Getters/setters being a prime example of that.)
Namespaces aren’t so much of a problem in Python because you are able to give modules an alias upon import. Such as:
So you’re not only able to create or manipulate the namespace within your programs, but are able to create your own keystroke-saving aliases as well.