[ https://issues.apache.org/jira/browse/AVRO-1788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16955536#comment-16955536 ]
Michael A. Smith commented on AVRO-1788: ---------------------------------------- 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)