You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Michael A. Smith (JIRA)" <ji...@apache.org> on 2018/05/30 03:18:00 UTC
[jira] [Commented] (AVRO-1880) Py3 Implementation vs Py2
Implementation API compatibility
[ https://issues.apache.org/jira/browse/AVRO-1880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16494624#comment-16494624 ]
Michael A. Smith commented on AVRO-1880:
----------------------------------------
I agree, for whatever my opinion is worth. I'd also point out that schema.parse became schema.Parse in the py3 implementation.
> 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
> Priority: Major
>
> 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
(v7.6.3#76005)