NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3714 most downloaded on PyPI
Generate Avro Schemas from Python classes. Serialize/Deserialize python instances with avro schemas
Last release 4 days ago
30 Sep 2026
Release timing varies
gaps range from 1 weeks to 4 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
225 releases · first in 2019
- Cleanup 112
Alias for nested items (nested records, arrays and maps) 110
One column per quarter.
GenericAlias test in Python 3.9
GenericAlias test in Python 3.93.8 and 3.9 in the CI buildschema_name attribute to SchemaMetadatadeserializationUnpin install_requires with version ranges 99
Improve error message in unknown type: https://github.com/marcosschroh/dataclasses-avroschema/issues/88
avro-json serialization with defaults 89
Correct out-of-spec Avro schemas with typing.Union #87
Support for decimal logical type added #86
Default Avro type for Python ints has been changed from int to long and float to double 83. Reason:
int to long and float to double 83. Reason:
double in Cdouble precisionAllow multiple references to the same class in record relationships
Fake instances generation added
Deserialization process generate class instances instead a pythn dict
create_instance=False should be used### Fix - pytz added as requirement
### Fix - include UUID as field type
replaced null string with avro null (json)
null string with avro null (json)### Fix - field SelfReference fixed
null should not be included when a default value is defined
union with complex type fixed. union with optional types fixed. close #51.
support for aware datetime added
### Fix - pytest dependency updated
### Fix - bytes type fixed
inheritance approach adopted over composition. Migration guide
enum type now is represented by types.Enum
enum type now is represented by types.Enumjson payload generated from class instance
import of SchemaGenetor improved.
SchemaGenetor improved.Serialization/deserialization added
Nothing published for this version
### Feat - fixed type support added
Ability to store metadata into fields. https://github.com/marcosschroh/dataclasses-avroschema/pull/27
metadata into fields. https://github.com/marcosschroh/dataclasses-avroschema/pull/27isort package addedNow is possible to generate optional types doing:
typing.Optional.Now is possible to generate optional types doing:
class MyClass:
optional_union: typing.Optional[str]
optional_union_with_default: typing.Optional[str] = None
Union types can be included in sequences types
sequences typesLogical types now are allowed in Sequences and Maps
Union type now allows logical and primitive types
| arrays | typing.Sequence, typing.MutableSequence |
| Avro Type | Python Type |
|---|---|
| arrays | typing.Sequence, typing.MutableSequence |
| maps | typing.Mapping, typing.MutableMapping |
Now is possible to generate Avro Schemas from a Faust Records
Faust RecordsNow default values are validated according to the field type
### Feat - Union support added ### Fix - mkdocs fixed
| Avro Type | Logical Type |Python Type |
| Avro Type | Logical Type | Python Type |
|---|---|---|
| int | date | datetime.date |
| int | time-millis | datetime.time |
| long | timestamp-millis | datetime.datetime |
| string | uuid | uuid.uuid4 |
Field have been devided into several field classes to make the code more redeable
Recursive OneToOne relationship added
Nothing published for this version
Singular name for array's child name
OneToManyOneToMany relationship added (array and map)
Enum, Array and Map fields fixed
fastavroclean & publish scrips added. Docs added
Your coding agent can read these notes before it upgrades. Set up the MCP server →