Hello everyone, I was thinking about the current Gremlin-Python distribution package structure and names. As is, a user will install with:
pip install gremlinpython Then, imports in application code will be something like this: from gremlin_python import PythonGraphTraversalSource, GroovyTranslator from gremlin_rest_driver import RESTRemoteConnection (assuming the REST driver is part of the package) Or, in the case of a driver developer using the provided base classes: from gremlin_driver import RemoteConnection, Traverser This works fine, but I think it would make more sense to consolidate commonly used classes, modules, and packages under the gremlin_python namespace. Then, installation and use would look something like: pip install gremlin_python from gremlin_python import RESTRemoteConnection, ... from gremlin_python.gremlin_driver import RemoteConnection ... I think in general this is the expected pattern for a Python developer. While style generally dictates that distribution package names don't use underscores, as Leif pointed out, underscores are syntactically fine and in this case they emulate the naming convention (a dash) used with the other GLVs. Therefore, I would propose changing the distribution name to: gremlin_python. Then, change the directory structure so the two other packages (gremlin_driver, gremlin_rest_driver) are contained within the directory gremlin_python and updating the imports in the __init__ files as necessary: jython/ ... jython/gremlin_python/ jython/gremlin_python/gremlin_driver/ # or you could just remove the jython/gremlin_python/gremlin_rest_driver/ Alternatively, all three packages could be included in a new directory called gremlin_python jython/ ... jython/gremlin_python/gremlin_python/ jython/gremlin_python/gremlin_driver/ # or you could just remove the jython/gremlin_python/gremlin_rest_driver/ Also, on another note, I think we should use absolute package imports inside the gremlin_python package. Ideas? Again I am happy to make these changes in a PR, or a committer can just go ahead and do it if everyone agrees. Best, -- David M. Brown R.A. CulturePlex Lab, Western University