Will do a bit later this afternoon
On Jun 16, 2016 09:25, "Stephen Mallette" <spmalle...@gmail.com> wrote:

> > Please make the changes as you see fit and provide a PR.
>
> +1
>
> On Thu, Jun 16, 2016 at 12:23 PM, Marko Rodriguez <okramma...@gmail.com>
> wrote:
>
> > HI David,
> >
> > Please make the changes as you see fit and provide a PR. I read through
> > your explanation and it “makes sense” with the limited knowledge I have.
> > What I would really like to understand is this whole __init__.py business
> > and how you structure and document/etc. everything.
> >
> > Thank you for thinking about this,
> > Marko.
> >
> > http://markorodriguez.com
> >
> >
> >
> > > On Jun 16, 2016, at 10:09 AM, David Brown <davebs...@gmail.com> wrote:
> > >
> > > 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
> >
> >
>

Reply via email to