I was reading through the gremlin-python code, and things are looking
good. Currently, it only works with Python 2, but I think that we need
to consider striving for Python 2/3 compatibility in future releases.
It is great to maintain support for Python 2--there is a LOT of Python
2 code in production, and we don't want to limit the user base.
However, as "Python 3.x is the present and future of the language"[1],
it seems to me that we should shoot for Python 3 compatibility as
well.

In general, using a subset of Python that runs on 2.6+ and 3.3+ is
fairly simple. In the current code base, the "major" change would be
using a 2/3 compatible version of `long`. This is necessary because
Python 3 unifies the integer types `int` and `long` (available in
Python 2) into one type `int` [2]. In making this change, we would
have to consider how to serialize Python 3 integers to GraphSON,
probably using `@type` `int64` by default.

The other question here would be building and testing. It seems to me
that we would want to run the tests against both Python versions,
however, it would be nice if the tests would pass even if someone
doesn't have 3 (or 2) installed on their machine.

Thoughts?

1. https://wiki.python.org/moin/Python2orPython3
2. http://python3porting.com/differences.html#long

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

Reply via email to