All variants of Gremlin have naturalized its syntax into the culture of
their language, meaning Gremlin as a syntax looks native to the language it
is in. I mentioned this as a premise of the talk I gave a few weeks ago on
"Graph Queries with Gremlin Language Variants":

https://twitter.com/spmallette/status/1314151198652538881

I did have to make an exception in that presentation for Python. It was our
first official variant to Gremlin (which we were hesitant about even doing)
and no core committer was heavily experienced in Python so we just built
stuff and as such didn't fully make Gremlin Python match the idioms of the
language. Of particular note, was the choice to not use common python
function naming and to go with the Java style.

While it has been convenient to some degree, I think it would be best to go
the route of all other variants and make gremlin-python look (and behave)
as a first class python library. In 3.5.0 I think we should go to
underscore naming for steps and deprecate the camel-cased ones. In this
way, Users code will still work when they upgrade and they can have a long
run at 3.5.x to switch. Note that Translators are turning into first class
citizens and therefore conversions to the new style might be more easily
accomplished - especially if we can get gremlint and its formatting powers
into the mix.

The step naming is the big ticket change (though non-breaking) but I would
also expect to go through the code carefully to try to remove older style
python that we inherited from Python 2, clean up less public
variable/function naming, etc.

If there are no objections to this direction in the next 72 hours, I will
assume lazy consensus and create a ticket in JIRA. Thanks!

Reply via email to