Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-1880

Py3 Implementation vs Py2 Implementation API compatibility

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 1.8.1
    • None
    • python
    • None
    • python

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bbruggeman Brian Bruggeman
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: