You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by Stephen Mallette <sp...@gmail.com> on 2016/08/25 02:24:12 UTC

[DISCUSS] Code Review TINKERPOP-1278: gremlin-python

We basically have TINKERPOP-1278 ready for review. For those just tuning
in, that is the gremlin-python branch which can be viewed here:

https://github.com/apache/tinkerpop/tree/TINKERPOP-1278

As I mentioned in a separate email, I don't think we should bother trying
to issue a pull request for this as it is a massive body of work and GitHub
tools really won't be useful here. Better to just check-out the branch and
examine what's going on. Let's use this thread to get our standard
review/vote process done.

I don't plan on firing up a separate VOTE thread, so feel free to +1 here
on this one (we'll keep this informal unless someone has some objection).
I'll be sure to reference this thread in the JIRA issue itself. I'll also
note that while we typically hold votes open for 72 hours, that won't be
the case here as this is not a typical vote thread - it is a code review
and we have no such restrictions on time when it comes to those.

Note that we are positioning gremlin-python for 3.2.2 and that it is going
to be considered a bit experimental so that we can get some feedback on
usage and perhaps root out some bugs in the process.There is still a fair
bit of work to do to make this package awesome but as of right now, it's
very usable.

Feel free to bring up problems you notice, but I think that reviewers
should consider the big picture of this pull request rather than the minute
details. Once we get things back on master we can make some adjustments as
needed, but I think it's basically time to bring that feature branch back
home and get it merged.

One of the nice bits that came in recently from Marko to this branch were
native python Vertex, Edge, etc. classes which lets users work directly
with graph elements (as opposed to Map). In that way, we get:

>>> g.V()[0].toList()
[v[1]]
>>> g.E()[0].toList()
[e[7][1-knows->2]]
>>> g.V().properties('name')[0].toList()
[vp[name->marko]]
>>> g.E().properties('weight')[0].toList()
[p[weight->0.5]]

eh? eh? nice, right? Note that retrieval of sideEffects is working well now
too:

>>>
g.V().repeat(groupCount('m').by('name').both()).times(10).cap('m').next()
{u'vadas': 2378L, u'marko': 5740L, u'josh': 5740L, u'lop': 5740L,
u'ripple': 2378L, u'peter': 2378L}
>>> t = g.V().repeat(groupCount('m').by('name').both()).times(10).iterate()
>>> t.side_effects
sideEffects[size:1]
>>> t.side_effects.keys()
set([u'm'])
>>> t.side_effects['m']
{u'lop': 5740L, u'marko': 5740L, u'vadas': 2378L, u'ripple': 2378L,
u'peter': 2378L, u'josh': 5740L}

I think the interfaces and core classes are feeling pretty solid now for
both java and python. We have a good body of test around much of this, but
have only been able to test native python connectivity to Gremlin Server
stuff manually. We don't have automated tests for that, but there are many
automated tests that hit the key aspects of the core of all this processing
so in that sense there is some solid test coverage in place. As of
yesterday, full integration tests were passing on this branch which
includes GraphSON 2.0. I don't believe that much was done today that could
have affected that outcome.

The documentation has been updated but will likely need some more work. We
can do a lot of that during code freeze week. Here's some links to the
newest bits:

http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/#connecting-via-remotegraph

http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/#gremlin-variants

Marko, please feel free to follow up with finer points that I've missed -
my mind is a bit spent on things at this point but wanted this email out
tonight. Anyway, at this point, I'm going to start this off with a +1 and
say this is ready to merge back to master.

Re: [DISCUSS] Code Review TINKERPOP-1278: gremlin-python

Posted by David Brown <da...@gmail.com>.
Sorry, I'm a bit late to the party, but I wanted to say awesome job to
everyone involved. The my colleagues at ZEROFAIL and I are super
stoked on the new gremlin-python GLV, and I look forward to being able
to contribute to the project.

On Fri, Aug 26, 2016 at 9:18 PM, Marko Rodriguez <ok...@gmail.com> wrote:
>
> Hey GitHub, think you all hip and cool with your ‘social coding’-vibe. Making up fun little tag lines so the kids these days think they are part of something bigger. Changing the world are ya? How boutz you take this fatty rebase to yo face, you punk ass version control.
>
> Marko.
>
>
>> On Aug 26, 2016, at 6:55 PM, Stephen Mallette <sp...@gmail.com> wrote:
>>
>> Merged TINKERPOP-1287 back to master and with that commit we bust past
>> 10000 commits!
>>
>> On Fri, Aug 26, 2016 at 10:17 AM, Ted Wilmes <tw...@gmail.com> wrote:
>>
>>> I was taking a look at the various parts and reading the docs, which as
>>> usual were very comprehensive.  Really impressive work guys.  I think your
>>> plan is a good one Stephen so +1 from me.
>>>
>>> --Ted
>>>
>>> On Fri, Aug 26, 2016 at 9:07 AM, Stephen Mallette <sp...@gmail.com>
>>> wrote:
>>>
>>>> There hasn't been much discussion here, so I'm assuming that there are no
>>>> major objections to the work on TINKERPOP-1278. We've been generally
>>>> discussing its ongoing development here on this list for a while now so I
>>>> would think that everyone is up to speed on what's happening. I plan to
>>> get
>>>> this merged back to master in the next few hours or so and then will
>>> focus
>>>> on the Robert Dale PRs to get ready for code freeze.
>>>>
>>>> Stephen
>>>>
>>>> On Thu, Aug 25, 2016 at 7:56 AM, Marko Rodriguez <ok...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Here is a terminal session showing off some chops.
>>>>>
>>>>>        https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934
>>> <
>>>>> https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934>
>>>>>
>>>>> If you know Gremlin, you know Gremlin-Python.
>>>>>
>>>>> Marko.
>>>>>
>>>>> http://markorodriguez.com
>>>>>
>>>>>
>>>>>
>>>>>> On Aug 24, 2016, at 8:24 PM, Stephen Mallette <sp...@gmail.com>
>>>>> wrote:
>>>>>>
>>>>>> We basically have TINKERPOP-1278 ready for review. For those just
>>>> tuning
>>>>>> in, that is the gremlin-python branch which can be viewed here:
>>>>>>
>>>>>> https://github.com/apache/tinkerpop/tree/TINKERPOP-1278
>>>>>>
>>>>>> As I mentioned in a separate email, I don't think we should bother
>>>> trying
>>>>>> to issue a pull request for this as it is a massive body of work and
>>>>> GitHub
>>>>>> tools really won't be useful here. Better to just check-out the
>>> branch
>>>>> and
>>>>>> examine what's going on. Let's use this thread to get our standard
>>>>>> review/vote process done.
>>>>>>
>>>>>> I don't plan on firing up a separate VOTE thread, so feel free to +1
>>>> here
>>>>>> on this one (we'll keep this informal unless someone has some
>>>> objection).
>>>>>> I'll be sure to reference this thread in the JIRA issue itself. I'll
>>>> also
>>>>>> note that while we typically hold votes open for 72 hours, that won't
>>>> be
>>>>>> the case here as this is not a typical vote thread - it is a code
>>>> review
>>>>>> and we have no such restrictions on time when it comes to those.
>>>>>>
>>>>>> Note that we are positioning gremlin-python for 3.2.2 and that it is
>>>>> going
>>>>>> to be considered a bit experimental so that we can get some feedback
>>> on
>>>>>> usage and perhaps root out some bugs in the process.There is still a
>>>> fair
>>>>>> bit of work to do to make this package awesome but as of right now,
>>>> it's
>>>>>> very usable.
>>>>>>
>>>>>> Feel free to bring up problems you notice, but I think that reviewers
>>>>>> should consider the big picture of this pull request rather than the
>>>>> minute
>>>>>> details. Once we get things back on master we can make some
>>> adjustments
>>>>> as
>>>>>> needed, but I think it's basically time to bring that feature branch
>>>> back
>>>>>> home and get it merged.
>>>>>>
>>>>>> One of the nice bits that came in recently from Marko to this branch
>>>> were
>>>>>> native python Vertex, Edge, etc. classes which lets users work
>>> directly
>>>>>> with graph elements (as opposed to Map). In that way, we get:
>>>>>>
>>>>>>>>> g.V()[0].toList()
>>>>>> [v[1]]
>>>>>>>>> g.E()[0].toList()
>>>>>> [e[7][1-knows->2]]
>>>>>>>>> g.V().properties('name')[0].toList()
>>>>>> [vp[name->marko]]
>>>>>>>>> g.E().properties('weight')[0].toList()
>>>>>> [p[weight->0.5]]
>>>>>>
>>>>>> eh? eh? nice, right? Note that retrieval of sideEffects is working
>>> well
>>>>> now
>>>>>> too:
>>>>>>
>>>>>>>>>
>>>>>> g.V().repeat(groupCount('m').by('name').both()).times(10).
>>>>> cap('m').next()
>>>>>> {u'vadas': 2378L, u'marko': 5740L, u'josh': 5740L, u'lop': 5740L,
>>>>>> u'ripple': 2378L, u'peter': 2378L}
>>>>>>>>> t = g.V().repeat(groupCount('m').by('name').both()).times(10).
>>>>> iterate()
>>>>>>>>> t.side_effects
>>>>>> sideEffects[size:1]
>>>>>>>>> t.side_effects.keys()
>>>>>> set([u'm'])
>>>>>>>>> t.side_effects['m']
>>>>>> {u'lop': 5740L, u'marko': 5740L, u'vadas': 2378L, u'ripple': 2378L,
>>>>>> u'peter': 2378L, u'josh': 5740L}
>>>>>>
>>>>>> I think the interfaces and core classes are feeling pretty solid now
>>>> for
>>>>>> both java and python. We have a good body of test around much of
>>> this,
>>>>> but
>>>>>> have only been able to test native python connectivity to Gremlin
>>>> Server
>>>>>> stuff manually. We don't have automated tests for that, but there are
>>>>> many
>>>>>> automated tests that hit the key aspects of the core of all this
>>>>> processing
>>>>>> so in that sense there is some solid test coverage in place. As of
>>>>>> yesterday, full integration tests were passing on this branch which
>>>>>> includes GraphSON 2.0. I don't believe that much was done today that
>>>>> could
>>>>>> have affected that outcome.
>>>>>>
>>>>>> The documentation has been updated but will likely need some more
>>> work.
>>>>> We
>>>>>> can do a lot of that during code freeze week. Here's some links to
>>> the
>>>>>> newest bits:
>>>>>>
>>>>>> http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
>>>>> #connecting-via-remotegraph
>>>>>>
>>>>>> http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
>>>>> #gremlin-variants
>>>>>>
>>>>>> Marko, please feel free to follow up with finer points that I've
>>>> missed -
>>>>>> my mind is a bit spent on things at this point but wanted this email
>>>> out
>>>>>> tonight. Anyway, at this point, I'm going to start this off with a +1
>>>> and
>>>>>> say this is ready to merge back to master.
>>>>>
>>>>>
>>>>
>>>
>



-- 
David M. Brown
R.A. CulturePlex Lab, Western University

Re: [DISCUSS] Code Review TINKERPOP-1278: gremlin-python

Posted by Marko Rodriguez <ok...@gmail.com>.
Hey GitHub, think you all hip and cool with your ‘social coding’-vibe. Making up fun little tag lines so the kids these days think they are part of something bigger. Changing the world are ya? How boutz you take this fatty rebase to yo face, you punk ass version control.

Marko.


> On Aug 26, 2016, at 6:55 PM, Stephen Mallette <sp...@gmail.com> wrote:
> 
> Merged TINKERPOP-1287 back to master and with that commit we bust past
> 10000 commits!
> 
> On Fri, Aug 26, 2016 at 10:17 AM, Ted Wilmes <tw...@gmail.com> wrote:
> 
>> I was taking a look at the various parts and reading the docs, which as
>> usual were very comprehensive.  Really impressive work guys.  I think your
>> plan is a good one Stephen so +1 from me.
>> 
>> --Ted
>> 
>> On Fri, Aug 26, 2016 at 9:07 AM, Stephen Mallette <sp...@gmail.com>
>> wrote:
>> 
>>> There hasn't been much discussion here, so I'm assuming that there are no
>>> major objections to the work on TINKERPOP-1278. We've been generally
>>> discussing its ongoing development here on this list for a while now so I
>>> would think that everyone is up to speed on what's happening. I plan to
>> get
>>> this merged back to master in the next few hours or so and then will
>> focus
>>> on the Robert Dale PRs to get ready for code freeze.
>>> 
>>> Stephen
>>> 
>>> On Thu, Aug 25, 2016 at 7:56 AM, Marko Rodriguez <ok...@gmail.com>
>>> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> Here is a terminal session showing off some chops.
>>>> 
>>>>        https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934
>> <
>>>> https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934>
>>>> 
>>>> If you know Gremlin, you know Gremlin-Python.
>>>> 
>>>> Marko.
>>>> 
>>>> http://markorodriguez.com
>>>> 
>>>> 
>>>> 
>>>>> On Aug 24, 2016, at 8:24 PM, Stephen Mallette <sp...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> We basically have TINKERPOP-1278 ready for review. For those just
>>> tuning
>>>>> in, that is the gremlin-python branch which can be viewed here:
>>>>> 
>>>>> https://github.com/apache/tinkerpop/tree/TINKERPOP-1278
>>>>> 
>>>>> As I mentioned in a separate email, I don't think we should bother
>>> trying
>>>>> to issue a pull request for this as it is a massive body of work and
>>>> GitHub
>>>>> tools really won't be useful here. Better to just check-out the
>> branch
>>>> and
>>>>> examine what's going on. Let's use this thread to get our standard
>>>>> review/vote process done.
>>>>> 
>>>>> I don't plan on firing up a separate VOTE thread, so feel free to +1
>>> here
>>>>> on this one (we'll keep this informal unless someone has some
>>> objection).
>>>>> I'll be sure to reference this thread in the JIRA issue itself. I'll
>>> also
>>>>> note that while we typically hold votes open for 72 hours, that won't
>>> be
>>>>> the case here as this is not a typical vote thread - it is a code
>>> review
>>>>> and we have no such restrictions on time when it comes to those.
>>>>> 
>>>>> Note that we are positioning gremlin-python for 3.2.2 and that it is
>>>> going
>>>>> to be considered a bit experimental so that we can get some feedback
>> on
>>>>> usage and perhaps root out some bugs in the process.There is still a
>>> fair
>>>>> bit of work to do to make this package awesome but as of right now,
>>> it's
>>>>> very usable.
>>>>> 
>>>>> Feel free to bring up problems you notice, but I think that reviewers
>>>>> should consider the big picture of this pull request rather than the
>>>> minute
>>>>> details. Once we get things back on master we can make some
>> adjustments
>>>> as
>>>>> needed, but I think it's basically time to bring that feature branch
>>> back
>>>>> home and get it merged.
>>>>> 
>>>>> One of the nice bits that came in recently from Marko to this branch
>>> were
>>>>> native python Vertex, Edge, etc. classes which lets users work
>> directly
>>>>> with graph elements (as opposed to Map). In that way, we get:
>>>>> 
>>>>>>>> g.V()[0].toList()
>>>>> [v[1]]
>>>>>>>> g.E()[0].toList()
>>>>> [e[7][1-knows->2]]
>>>>>>>> g.V().properties('name')[0].toList()
>>>>> [vp[name->marko]]
>>>>>>>> g.E().properties('weight')[0].toList()
>>>>> [p[weight->0.5]]
>>>>> 
>>>>> eh? eh? nice, right? Note that retrieval of sideEffects is working
>> well
>>>> now
>>>>> too:
>>>>> 
>>>>>>>> 
>>>>> g.V().repeat(groupCount('m').by('name').both()).times(10).
>>>> cap('m').next()
>>>>> {u'vadas': 2378L, u'marko': 5740L, u'josh': 5740L, u'lop': 5740L,
>>>>> u'ripple': 2378L, u'peter': 2378L}
>>>>>>>> t = g.V().repeat(groupCount('m').by('name').both()).times(10).
>>>> iterate()
>>>>>>>> t.side_effects
>>>>> sideEffects[size:1]
>>>>>>>> t.side_effects.keys()
>>>>> set([u'm'])
>>>>>>>> t.side_effects['m']
>>>>> {u'lop': 5740L, u'marko': 5740L, u'vadas': 2378L, u'ripple': 2378L,
>>>>> u'peter': 2378L, u'josh': 5740L}
>>>>> 
>>>>> I think the interfaces and core classes are feeling pretty solid now
>>> for
>>>>> both java and python. We have a good body of test around much of
>> this,
>>>> but
>>>>> have only been able to test native python connectivity to Gremlin
>>> Server
>>>>> stuff manually. We don't have automated tests for that, but there are
>>>> many
>>>>> automated tests that hit the key aspects of the core of all this
>>>> processing
>>>>> so in that sense there is some solid test coverage in place. As of
>>>>> yesterday, full integration tests were passing on this branch which
>>>>> includes GraphSON 2.0. I don't believe that much was done today that
>>>> could
>>>>> have affected that outcome.
>>>>> 
>>>>> The documentation has been updated but will likely need some more
>> work.
>>>> We
>>>>> can do a lot of that during code freeze week. Here's some links to
>> the
>>>>> newest bits:
>>>>> 
>>>>> http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
>>>> #connecting-via-remotegraph
>>>>> 
>>>>> http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
>>>> #gremlin-variants
>>>>> 
>>>>> Marko, please feel free to follow up with finer points that I've
>>> missed -
>>>>> my mind is a bit spent on things at this point but wanted this email
>>> out
>>>>> tonight. Anyway, at this point, I'm going to start this off with a +1
>>> and
>>>>> say this is ready to merge back to master.
>>>> 
>>>> 
>>> 
>> 


Re: [DISCUSS] Code Review TINKERPOP-1278: gremlin-python

Posted by Stephen Mallette <sp...@gmail.com>.
Merged TINKERPOP-1287 back to master and with that commit we bust past
10000 commits!

On Fri, Aug 26, 2016 at 10:17 AM, Ted Wilmes <tw...@gmail.com> wrote:

> I was taking a look at the various parts and reading the docs, which as
> usual were very comprehensive.  Really impressive work guys.  I think your
> plan is a good one Stephen so +1 from me.
>
> --Ted
>
> On Fri, Aug 26, 2016 at 9:07 AM, Stephen Mallette <sp...@gmail.com>
> wrote:
>
> > There hasn't been much discussion here, so I'm assuming that there are no
> > major objections to the work on TINKERPOP-1278. We've been generally
> > discussing its ongoing development here on this list for a while now so I
> > would think that everyone is up to speed on what's happening. I plan to
> get
> > this merged back to master in the next few hours or so and then will
> focus
> > on the Robert Dale PRs to get ready for code freeze.
> >
> > Stephen
> >
> > On Thu, Aug 25, 2016 at 7:56 AM, Marko Rodriguez <ok...@gmail.com>
> > wrote:
> >
> > > Hi,
> > >
> > > Here is a terminal session showing off some chops.
> > >
> > >         https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934
> <
> > > https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934>
> > >
> > > If you know Gremlin, you know Gremlin-Python.
> > >
> > > Marko.
> > >
> > > http://markorodriguez.com
> > >
> > >
> > >
> > > > On Aug 24, 2016, at 8:24 PM, Stephen Mallette <sp...@gmail.com>
> > > wrote:
> > > >
> > > > We basically have TINKERPOP-1278 ready for review. For those just
> > tuning
> > > > in, that is the gremlin-python branch which can be viewed here:
> > > >
> > > > https://github.com/apache/tinkerpop/tree/TINKERPOP-1278
> > > >
> > > > As I mentioned in a separate email, I don't think we should bother
> > trying
> > > > to issue a pull request for this as it is a massive body of work and
> > > GitHub
> > > > tools really won't be useful here. Better to just check-out the
> branch
> > > and
> > > > examine what's going on. Let's use this thread to get our standard
> > > > review/vote process done.
> > > >
> > > > I don't plan on firing up a separate VOTE thread, so feel free to +1
> > here
> > > > on this one (we'll keep this informal unless someone has some
> > objection).
> > > > I'll be sure to reference this thread in the JIRA issue itself. I'll
> > also
> > > > note that while we typically hold votes open for 72 hours, that won't
> > be
> > > > the case here as this is not a typical vote thread - it is a code
> > review
> > > > and we have no such restrictions on time when it comes to those.
> > > >
> > > > Note that we are positioning gremlin-python for 3.2.2 and that it is
> > > going
> > > > to be considered a bit experimental so that we can get some feedback
> on
> > > > usage and perhaps root out some bugs in the process.There is still a
> > fair
> > > > bit of work to do to make this package awesome but as of right now,
> > it's
> > > > very usable.
> > > >
> > > > Feel free to bring up problems you notice, but I think that reviewers
> > > > should consider the big picture of this pull request rather than the
> > > minute
> > > > details. Once we get things back on master we can make some
> adjustments
> > > as
> > > > needed, but I think it's basically time to bring that feature branch
> > back
> > > > home and get it merged.
> > > >
> > > > One of the nice bits that came in recently from Marko to this branch
> > were
> > > > native python Vertex, Edge, etc. classes which lets users work
> directly
> > > > with graph elements (as opposed to Map). In that way, we get:
> > > >
> > > >>>> g.V()[0].toList()
> > > > [v[1]]
> > > >>>> g.E()[0].toList()
> > > > [e[7][1-knows->2]]
> > > >>>> g.V().properties('name')[0].toList()
> > > > [vp[name->marko]]
> > > >>>> g.E().properties('weight')[0].toList()
> > > > [p[weight->0.5]]
> > > >
> > > > eh? eh? nice, right? Note that retrieval of sideEffects is working
> well
> > > now
> > > > too:
> > > >
> > > >>>>
> > > > g.V().repeat(groupCount('m').by('name').both()).times(10).
> > > cap('m').next()
> > > > {u'vadas': 2378L, u'marko': 5740L, u'josh': 5740L, u'lop': 5740L,
> > > > u'ripple': 2378L, u'peter': 2378L}
> > > >>>> t = g.V().repeat(groupCount('m').by('name').both()).times(10).
> > > iterate()
> > > >>>> t.side_effects
> > > > sideEffects[size:1]
> > > >>>> t.side_effects.keys()
> > > > set([u'm'])
> > > >>>> t.side_effects['m']
> > > > {u'lop': 5740L, u'marko': 5740L, u'vadas': 2378L, u'ripple': 2378L,
> > > > u'peter': 2378L, u'josh': 5740L}
> > > >
> > > > I think the interfaces and core classes are feeling pretty solid now
> > for
> > > > both java and python. We have a good body of test around much of
> this,
> > > but
> > > > have only been able to test native python connectivity to Gremlin
> > Server
> > > > stuff manually. We don't have automated tests for that, but there are
> > > many
> > > > automated tests that hit the key aspects of the core of all this
> > > processing
> > > > so in that sense there is some solid test coverage in place. As of
> > > > yesterday, full integration tests were passing on this branch which
> > > > includes GraphSON 2.0. I don't believe that much was done today that
> > > could
> > > > have affected that outcome.
> > > >
> > > > The documentation has been updated but will likely need some more
> work.
> > > We
> > > > can do a lot of that during code freeze week. Here's some links to
> the
> > > > newest bits:
> > > >
> > > > http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
> > > #connecting-via-remotegraph
> > > >
> > > > http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
> > > #gremlin-variants
> > > >
> > > > Marko, please feel free to follow up with finer points that I've
> > missed -
> > > > my mind is a bit spent on things at this point but wanted this email
> > out
> > > > tonight. Anyway, at this point, I'm going to start this off with a +1
> > and
> > > > say this is ready to merge back to master.
> > >
> > >
> >
>

Re: [DISCUSS] Code Review TINKERPOP-1278: gremlin-python

Posted by Ted Wilmes <tw...@gmail.com>.
I was taking a look at the various parts and reading the docs, which as
usual were very comprehensive.  Really impressive work guys.  I think your
plan is a good one Stephen so +1 from me.

--Ted

On Fri, Aug 26, 2016 at 9:07 AM, Stephen Mallette <sp...@gmail.com>
wrote:

> There hasn't been much discussion here, so I'm assuming that there are no
> major objections to the work on TINKERPOP-1278. We've been generally
> discussing its ongoing development here on this list for a while now so I
> would think that everyone is up to speed on what's happening. I plan to get
> this merged back to master in the next few hours or so and then will focus
> on the Robert Dale PRs to get ready for code freeze.
>
> Stephen
>
> On Thu, Aug 25, 2016 at 7:56 AM, Marko Rodriguez <ok...@gmail.com>
> wrote:
>
> > Hi,
> >
> > Here is a terminal session showing off some chops.
> >
> >         https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934 <
> > https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934>
> >
> > If you know Gremlin, you know Gremlin-Python.
> >
> > Marko.
> >
> > http://markorodriguez.com
> >
> >
> >
> > > On Aug 24, 2016, at 8:24 PM, Stephen Mallette <sp...@gmail.com>
> > wrote:
> > >
> > > We basically have TINKERPOP-1278 ready for review. For those just
> tuning
> > > in, that is the gremlin-python branch which can be viewed here:
> > >
> > > https://github.com/apache/tinkerpop/tree/TINKERPOP-1278
> > >
> > > As I mentioned in a separate email, I don't think we should bother
> trying
> > > to issue a pull request for this as it is a massive body of work and
> > GitHub
> > > tools really won't be useful here. Better to just check-out the branch
> > and
> > > examine what's going on. Let's use this thread to get our standard
> > > review/vote process done.
> > >
> > > I don't plan on firing up a separate VOTE thread, so feel free to +1
> here
> > > on this one (we'll keep this informal unless someone has some
> objection).
> > > I'll be sure to reference this thread in the JIRA issue itself. I'll
> also
> > > note that while we typically hold votes open for 72 hours, that won't
> be
> > > the case here as this is not a typical vote thread - it is a code
> review
> > > and we have no such restrictions on time when it comes to those.
> > >
> > > Note that we are positioning gremlin-python for 3.2.2 and that it is
> > going
> > > to be considered a bit experimental so that we can get some feedback on
> > > usage and perhaps root out some bugs in the process.There is still a
> fair
> > > bit of work to do to make this package awesome but as of right now,
> it's
> > > very usable.
> > >
> > > Feel free to bring up problems you notice, but I think that reviewers
> > > should consider the big picture of this pull request rather than the
> > minute
> > > details. Once we get things back on master we can make some adjustments
> > as
> > > needed, but I think it's basically time to bring that feature branch
> back
> > > home and get it merged.
> > >
> > > One of the nice bits that came in recently from Marko to this branch
> were
> > > native python Vertex, Edge, etc. classes which lets users work directly
> > > with graph elements (as opposed to Map). In that way, we get:
> > >
> > >>>> g.V()[0].toList()
> > > [v[1]]
> > >>>> g.E()[0].toList()
> > > [e[7][1-knows->2]]
> > >>>> g.V().properties('name')[0].toList()
> > > [vp[name->marko]]
> > >>>> g.E().properties('weight')[0].toList()
> > > [p[weight->0.5]]
> > >
> > > eh? eh? nice, right? Note that retrieval of sideEffects is working well
> > now
> > > too:
> > >
> > >>>>
> > > g.V().repeat(groupCount('m').by('name').both()).times(10).
> > cap('m').next()
> > > {u'vadas': 2378L, u'marko': 5740L, u'josh': 5740L, u'lop': 5740L,
> > > u'ripple': 2378L, u'peter': 2378L}
> > >>>> t = g.V().repeat(groupCount('m').by('name').both()).times(10).
> > iterate()
> > >>>> t.side_effects
> > > sideEffects[size:1]
> > >>>> t.side_effects.keys()
> > > set([u'm'])
> > >>>> t.side_effects['m']
> > > {u'lop': 5740L, u'marko': 5740L, u'vadas': 2378L, u'ripple': 2378L,
> > > u'peter': 2378L, u'josh': 5740L}
> > >
> > > I think the interfaces and core classes are feeling pretty solid now
> for
> > > both java and python. We have a good body of test around much of this,
> > but
> > > have only been able to test native python connectivity to Gremlin
> Server
> > > stuff manually. We don't have automated tests for that, but there are
> > many
> > > automated tests that hit the key aspects of the core of all this
> > processing
> > > so in that sense there is some solid test coverage in place. As of
> > > yesterday, full integration tests were passing on this branch which
> > > includes GraphSON 2.0. I don't believe that much was done today that
> > could
> > > have affected that outcome.
> > >
> > > The documentation has been updated but will likely need some more work.
> > We
> > > can do a lot of that during code freeze week. Here's some links to the
> > > newest bits:
> > >
> > > http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
> > #connecting-via-remotegraph
> > >
> > > http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
> > #gremlin-variants
> > >
> > > Marko, please feel free to follow up with finer points that I've
> missed -
> > > my mind is a bit spent on things at this point but wanted this email
> out
> > > tonight. Anyway, at this point, I'm going to start this off with a +1
> and
> > > say this is ready to merge back to master.
> >
> >
>

Re: [DISCUSS] Code Review TINKERPOP-1278: gremlin-python

Posted by Stephen Mallette <sp...@gmail.com>.
There hasn't been much discussion here, so I'm assuming that there are no
major objections to the work on TINKERPOP-1278. We've been generally
discussing its ongoing development here on this list for a while now so I
would think that everyone is up to speed on what's happening. I plan to get
this merged back to master in the next few hours or so and then will focus
on the Robert Dale PRs to get ready for code freeze.

Stephen

On Thu, Aug 25, 2016 at 7:56 AM, Marko Rodriguez <ok...@gmail.com>
wrote:

> Hi,
>
> Here is a terminal session showing off some chops.
>
>         https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934 <
> https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934>
>
> If you know Gremlin, you know Gremlin-Python.
>
> Marko.
>
> http://markorodriguez.com
>
>
>
> > On Aug 24, 2016, at 8:24 PM, Stephen Mallette <sp...@gmail.com>
> wrote:
> >
> > We basically have TINKERPOP-1278 ready for review. For those just tuning
> > in, that is the gremlin-python branch which can be viewed here:
> >
> > https://github.com/apache/tinkerpop/tree/TINKERPOP-1278
> >
> > As I mentioned in a separate email, I don't think we should bother trying
> > to issue a pull request for this as it is a massive body of work and
> GitHub
> > tools really won't be useful here. Better to just check-out the branch
> and
> > examine what's going on. Let's use this thread to get our standard
> > review/vote process done.
> >
> > I don't plan on firing up a separate VOTE thread, so feel free to +1 here
> > on this one (we'll keep this informal unless someone has some objection).
> > I'll be sure to reference this thread in the JIRA issue itself. I'll also
> > note that while we typically hold votes open for 72 hours, that won't be
> > the case here as this is not a typical vote thread - it is a code review
> > and we have no such restrictions on time when it comes to those.
> >
> > Note that we are positioning gremlin-python for 3.2.2 and that it is
> going
> > to be considered a bit experimental so that we can get some feedback on
> > usage and perhaps root out some bugs in the process.There is still a fair
> > bit of work to do to make this package awesome but as of right now, it's
> > very usable.
> >
> > Feel free to bring up problems you notice, but I think that reviewers
> > should consider the big picture of this pull request rather than the
> minute
> > details. Once we get things back on master we can make some adjustments
> as
> > needed, but I think it's basically time to bring that feature branch back
> > home and get it merged.
> >
> > One of the nice bits that came in recently from Marko to this branch were
> > native python Vertex, Edge, etc. classes which lets users work directly
> > with graph elements (as opposed to Map). In that way, we get:
> >
> >>>> g.V()[0].toList()
> > [v[1]]
> >>>> g.E()[0].toList()
> > [e[7][1-knows->2]]
> >>>> g.V().properties('name')[0].toList()
> > [vp[name->marko]]
> >>>> g.E().properties('weight')[0].toList()
> > [p[weight->0.5]]
> >
> > eh? eh? nice, right? Note that retrieval of sideEffects is working well
> now
> > too:
> >
> >>>>
> > g.V().repeat(groupCount('m').by('name').both()).times(10).
> cap('m').next()
> > {u'vadas': 2378L, u'marko': 5740L, u'josh': 5740L, u'lop': 5740L,
> > u'ripple': 2378L, u'peter': 2378L}
> >>>> t = g.V().repeat(groupCount('m').by('name').both()).times(10).
> iterate()
> >>>> t.side_effects
> > sideEffects[size:1]
> >>>> t.side_effects.keys()
> > set([u'm'])
> >>>> t.side_effects['m']
> > {u'lop': 5740L, u'marko': 5740L, u'vadas': 2378L, u'ripple': 2378L,
> > u'peter': 2378L, u'josh': 5740L}
> >
> > I think the interfaces and core classes are feeling pretty solid now for
> > both java and python. We have a good body of test around much of this,
> but
> > have only been able to test native python connectivity to Gremlin Server
> > stuff manually. We don't have automated tests for that, but there are
> many
> > automated tests that hit the key aspects of the core of all this
> processing
> > so in that sense there is some solid test coverage in place. As of
> > yesterday, full integration tests were passing on this branch which
> > includes GraphSON 2.0. I don't believe that much was done today that
> could
> > have affected that outcome.
> >
> > The documentation has been updated but will likely need some more work.
> We
> > can do a lot of that during code freeze week. Here's some links to the
> > newest bits:
> >
> > http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
> #connecting-via-remotegraph
> >
> > http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/
> #gremlin-variants
> >
> > Marko, please feel free to follow up with finer points that I've missed -
> > my mind is a bit spent on things at this point but wanted this email out
> > tonight. Anyway, at this point, I'm going to start this off with a +1 and
> > say this is ready to merge back to master.
>
>

Re: [DISCUSS] Code Review TINKERPOP-1278: gremlin-python

Posted by Marko Rodriguez <ok...@gmail.com>.
Hi,

Here is a terminal session showing off some chops.

	https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934 <https://gist.github.com/okram/0d40c78d7df14c0ca3ad8f3f5c547934>

If you know Gremlin, you know Gremlin-Python. 

Marko.

http://markorodriguez.com



> On Aug 24, 2016, at 8:24 PM, Stephen Mallette <sp...@gmail.com> wrote:
> 
> We basically have TINKERPOP-1278 ready for review. For those just tuning
> in, that is the gremlin-python branch which can be viewed here:
> 
> https://github.com/apache/tinkerpop/tree/TINKERPOP-1278
> 
> As I mentioned in a separate email, I don't think we should bother trying
> to issue a pull request for this as it is a massive body of work and GitHub
> tools really won't be useful here. Better to just check-out the branch and
> examine what's going on. Let's use this thread to get our standard
> review/vote process done.
> 
> I don't plan on firing up a separate VOTE thread, so feel free to +1 here
> on this one (we'll keep this informal unless someone has some objection).
> I'll be sure to reference this thread in the JIRA issue itself. I'll also
> note that while we typically hold votes open for 72 hours, that won't be
> the case here as this is not a typical vote thread - it is a code review
> and we have no such restrictions on time when it comes to those.
> 
> Note that we are positioning gremlin-python for 3.2.2 and that it is going
> to be considered a bit experimental so that we can get some feedback on
> usage and perhaps root out some bugs in the process.There is still a fair
> bit of work to do to make this package awesome but as of right now, it's
> very usable.
> 
> Feel free to bring up problems you notice, but I think that reviewers
> should consider the big picture of this pull request rather than the minute
> details. Once we get things back on master we can make some adjustments as
> needed, but I think it's basically time to bring that feature branch back
> home and get it merged.
> 
> One of the nice bits that came in recently from Marko to this branch were
> native python Vertex, Edge, etc. classes which lets users work directly
> with graph elements (as opposed to Map). In that way, we get:
> 
>>>> g.V()[0].toList()
> [v[1]]
>>>> g.E()[0].toList()
> [e[7][1-knows->2]]
>>>> g.V().properties('name')[0].toList()
> [vp[name->marko]]
>>>> g.E().properties('weight')[0].toList()
> [p[weight->0.5]]
> 
> eh? eh? nice, right? Note that retrieval of sideEffects is working well now
> too:
> 
>>>> 
> g.V().repeat(groupCount('m').by('name').both()).times(10).cap('m').next()
> {u'vadas': 2378L, u'marko': 5740L, u'josh': 5740L, u'lop': 5740L,
> u'ripple': 2378L, u'peter': 2378L}
>>>> t = g.V().repeat(groupCount('m').by('name').both()).times(10).iterate()
>>>> t.side_effects
> sideEffects[size:1]
>>>> t.side_effects.keys()
> set([u'm'])
>>>> t.side_effects['m']
> {u'lop': 5740L, u'marko': 5740L, u'vadas': 2378L, u'ripple': 2378L,
> u'peter': 2378L, u'josh': 5740L}
> 
> I think the interfaces and core classes are feeling pretty solid now for
> both java and python. We have a good body of test around much of this, but
> have only been able to test native python connectivity to Gremlin Server
> stuff manually. We don't have automated tests for that, but there are many
> automated tests that hit the key aspects of the core of all this processing
> so in that sense there is some solid test coverage in place. As of
> yesterday, full integration tests were passing on this branch which
> includes GraphSON 2.0. I don't believe that much was done today that could
> have affected that outcome.
> 
> The documentation has been updated but will likely need some more work. We
> can do a lot of that during code freeze week. Here's some links to the
> newest bits:
> 
> http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/#connecting-via-remotegraph
> 
> http://tinkerpop.apache.org/docs/3.2.2-SNAPSHOT/reference/#gremlin-variants
> 
> Marko, please feel free to follow up with finer points that I've missed -
> my mind is a bit spent on things at this point but wanted this email out
> tonight. Anyway, at this point, I'm going to start this off with a +1 and
> say this is ready to merge back to master.