Brian Bruggeman created AVRO-1880:
-------------------------------------

             Summary: Py3 Implementation vs Py2 Implementation API compatibility
                 Key: AVRO-1880
                 URL: https://issues.apache.org/jira/browse/AVRO-1880
             Project: Avro
          Issue Type: Improvement
          Components: python
    Affects Versions: 1.8.1
            Reporter: Brian Bruggeman


The Python3 API has been changed from the Python2 API and this can affect 
backwards compatibility when migrating or building libraries that work with 
both Python3 and Python2.

The exact case I've found was 'validate' vs 'Validate'.  Arguably, the python2 
version is more correct from a Pep8 (see: 
https://www.python.org/dev/peps/pep-0008/) standpoint.  I found no reason 
mentioned that I've found why the API might have been changed.  In addition, 
the Python 3 API is inconsistent within itself:  some functions are CamelCase 
and some are snake_case.

While this may be out of scope for the issue above, I'm not sure why the 
current implementations are segregated.  There doesn't appear to be a reason 
why there are two separate implementations for python:  one for python 3 and 
one for python 2.

Proposal is to create an API that is directly compatible with Python 2 and then 
deprecate the current Python 3 API where it is different.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to