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 2019/10/20 16:26:00 UTC

[jira] [Comment Edited] (AVRO-1788) python api differs unnecessarily between python2 and python3

    [ https://issues.apache.org/jira/browse/AVRO-1788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16955536#comment-16955536 ] 

Michael A. Smith edited comment on AVRO-1788 at 10/20/19 4:25 PM:
------------------------------------------------------------------

I have madeĀ [an incremental PR#683|https://github.com/apache/avro/pull/683] to improve future compatibility of the Python 2 codebase. It doesn't entirely resolve the differences, but it resolves some of the low-hanging fruit in terms of being able to use modern static analysis.

It does remove support for Python versions < 2.7.

Avro is particularly sensitive to the bytes vs strings vs unicode differences between Python2 and 3, so that will take a fair bit of effort and is not included in this PR.


was (Author: kojiromike):
I have madeĀ [an incremental PR#683|https://github.com/apache/avro/pull/683] to improve future compatibility of the Python 2 codebase. It doesn't entirely resolve the differences, but it resolves some of the low-hanging fruit in terms of being able to use modern static analysis.

It does remove support for Python versions < 2.7.

Avro is particularly sensitive to the bytes <-> strings <-> unicode differences between Python2 and 3, so that will take a fair bit of effort and is not included in this PR.

> python api differs unnecessarily between python2 and python3
> ------------------------------------------------------------
>
>                 Key: AVRO-1788
>                 URL: https://issues.apache.org/jira/browse/AVRO-1788
>             Project: Apache Avro
>          Issue Type: Wish
>          Components: python
>            Reporter: Alexander Hasha
>            Assignee: Michael A. Smith
>            Priority: Minor
>
> It is difficult to use the python avro module in projects that maintain simultaneous compatibility between python 2 and python 3, because there are small differences in the API between the two versions in the module that seem unnecessary.
> For example, to parse a schema string in python 2:
> {code}
> from avro.schema import parse
> {code}
> and in python 3:
> {code}
> from avro.schema import Parse
> {code}
> In Python2, DatumReader's constructor has keyword argument "writers_schema", and in Python 3 it becomes "writer_schema" (no s).
> Would it be possible to align method names and arguments across the two modules?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)