Hi all, We're looking at fixing avroio on Python 3, which still fails due to a non-picklable schema class in Avro [1]. This is fixed when using the latest Avro master, but the last release dates back to May 2017.
Fastavro does not have the same problem, but is currently also failing due to a dependency of avroio on Avro for schema parsing. We would therefore propose to (temporarily?) deprecate Avro on Python 3, and implement a pure fastavro solution instead. +Frederik Bode <[email protected]> already submitted a PR for this [2]. Use of fastavro is currently activated with the `use_fastavro` flag, which defaults to False. Since this flag would not make sense anymore on Python 3, we would like to switch the default value to True. The documentation already mentions that this will probably become the default on the long term, but this change would also impact Python 2. Is this a problem? Also, looking at the performance gain of fastavro, is there any reason to not deprecate Avro in favor of fastavro on Python 3 indefinitely? [1] https://issues.apache.org/jira/browse/BEAM-6522#comment-16784499 [2] https://github.com/apache/beam/pull/8130 Kind regards, Robbe
