NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3991 most downloaded on PyPI
Generate Avro Schemas from Python classes. Serialize/Deserialize python instances with avro schemas
Last release 10 days ago
08 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
223 releases · first in 2019
enum type level default intruduced. Closes #665
[master 5e28085] bump: version 0.61.0 → 0.62.0 2 files changed, 8 insertions(+), 2 deletions(-)
render enum as (str, enum.Enum)
[master 265b679] bump: version 0.60.2 → 0.61.0 2 files changed, 8 insertions(+), 2 deletions(-)
One column per quarter.
add aliases to field when field name is not a valid identifier. Related to #628
[master 41d92d9] bump: version 0.60.1 → 0.60.2 2 files changed, 8 insertions(+), 2 deletions(-)
missing dependency python-dateutil added. Closes #644
[master b54ac3f] bump: version 0.60.0 → 0.60.1 2 files changed, 8 insertions(+), 2 deletions(-)
missing dacite hooks added in order to parse_obj in a proper way. Related to #638
[master 4add153] bump: version 0.59.1 → 0.60.0 2 files changed, 8 insertions(+), 2 deletions(-)
generate proper python identifiers when generating model from schemas. Related to #628
[master 3bb297a] bump: version 0.59.0 → 0.59.1 2 files changed, 8 insertions(+), 2 deletions(-)
convert_literal_to_enum option added. Closes #596
[master f9edf1f] bump: version 0.58.2 → 0.59.0 2 files changed, 8 insertions(+), 2 deletions(-)
custom types with extra annotation. Closes #598
[master 258cc6f] bump: version 0.58.1 → 0.58.2 2 files changed, 8 insertions(+), 2 deletions(-)
[master 9bd8b45] bump: version 0.58.0 → 0.58.1 2 files changed, 8 insertions(+), 2 deletions(-)
[master 9bd8b45] bump: version 0.58.0 → 0.58.1 2 files changed, 8 insertions(+), 2 deletions(-)
Support for Pydantic field alias and serialization_alias (#583). Closes #293
[master 6d5d3b2] bump: version 0.57.5 → 0.58.0 2 files changed, 8 insertions(+), 2 deletions(-)
improve pydantic model translation
[master 1ef6e7c] bump: version 0.57.4 → 0.57.5 2 files changed, 8 insertions(+), 2 deletions(-)
do not force pascalcase for enum names. Closes #544
[master f159516] bump: version 0.57.3 → 0.57.4 2 files changed, 36 insertions(+), 30 deletions(-)
add inner names suppor for complex types. Closes #534 and related to #544
None annotation (#433). Closes #424fix: do not generate default dataclass docstrings
fix: datetime model generation
the previous implementation did not roundtrip
feat: render docstrings in generated classes
fix: correct union and optional conversion
test: add avsc -> python -> avsc roundtrip test
fix: properly handle aliases in the model generator
tests: add coverage for single-type unions model generation
Co-authored-by: Maximilian Hils git@maximilianhils.com
extras in a correct way. Closes #272 (#273)feat: logicalTypes model generation
feat: logical types model generator
fix: field order, pascal case for class names
fix: add class Meta support
Co-authored-by: Marcos Schroh marcos.schroh@kpn.com
int and float Avro type support (#119)[master c324f60] bump: version 0.57.2 → 0.57.3 2 files changed, 8 insertions(+), 2 deletions(-)
All notable changes to this project will be documented in this file.
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Migration guide for pydantic users: https://marcosschroh.github.io/dataclasses-avroschema/migration_guide/#migration-from-previous-versions-to-0510
None annotation (#433). Closes #424fix: do not generate default dataclass docstrings
fix: datetime model generation
the previous implementation did not roundtrip
feat: render docstrings in generated classes
fix: correct union and optional conversion
test: add avsc -> python -> avsc roundtrip test
fix: properly handle aliases in the model generator
tests: add coverage for single-type unions model generation
Co-authored-by: Maximilian Hils git@maximilianhils.com
extras in a correct way. Closes #272 (#273)commitizenNameSpaceRequiredException removed. Close #246 (#253)UUID type instead of function uuid4 on model generation (#251)pydantic UUID4 when generating pydantic models. (#247)pydantic.condecimal instead of the custom Decimal as default value when generate pydantic modelsavsc schemas 227Decimal fields serialization 222fake and nested json serialization 219metadata when using faust records 218typing.UnionType support added 212fastavro 1.7.0 214TimeMicro and DateTimeMicro field types added.typing issues fixed 186fastavro updated to close 184InvalidMap exception when a Dict has not string keysMeta.schema_doc to set the schema documentationalias_nested_items must have priority order
parse_obj 90alias_nested_items for ListField and DictField 158fastavro from 1.4.9 to 1.4.10inflect from 5.3.0 to 5.4.0types.Enum replaced by enum.Enum 153validate method added to AvroModel 144get_fields now returns all rendered fields 134null decimals added 130Available cases:
| Case | Example |
|---|---|
| camelcase | 'foo_bar_baz' # => "fooBarBaz" |
| capitalcase | 'foo_bar_baz' # => "Foo_bar_baz" |
| constcase | 'FooBarBaz' # => "_FOO_BAR_BAZ" |
| lowercase | 'FooBarBaz' # => "foobarbaz" |
| pascalcase | 'FooBarBaz' # => "FooBarBaz" |
| pathcase | 'foo_bar_baz' # => "foo/bar/baz" |
| snakecase | 'FooBarBaz' # => "foo_bar_baz" |
| spinalcase | 'FooBarBaz' # => "-foo-bar-baz" |
| trimcase | 'FooBarBaz' # => "FooBarBaz" |
| uppercase | 'FooBarBaz' # => "FOOBARBAZ |
| alphanumcase | 'Foo_123 Bar!' # =>'Foo123Bar' |
int and float Avro type support 119namespaces on repeated user types with complex types 117namespaces for repeated types in arrays and maps 116namespaces for repeated types 115class.__name__ instead of class.__name__.lower()_recordGenericAlias test in Python 3.93.8 and 3.9 in the CI buildschema_name attribute to SchemaMetadatadeserializationint to long and float to double 83. Reason:
double in Cdouble precisioncreate_instance=False should be usedpytz added as requirementUUID type fixednull string with avro null (json)SelfReferenceField when is used inn array and mapsSelfReferenceField default value fixednull should not be included when a default value is defined for premitive typestyping.Optional union fixedtyping.Union with complex types (sequeces and Dict) fixeddataclasses.field descriptor addedserialization fixed for complex typesto_json method fixed. issue 47enum type now is represented by types.Enumtyping.Optional added| Avro Type | Python Type |
|---|---|
| arrays | typing.Sequence, typing.MutableSequence |
| maps | typing.Mapping, typing.MutableMapping |
| Avro Type | Logical Type | Python Type |
|---|---|---|
| int | date | datetime.date |
| int | time-millis | datetime.time |
| long | timestamp-millis | datetime.datetime |
| string | uuid | uuid.uuid4 |
[master a006020] bump: version 0.57.1 → 0.57.2 2 files changed, 331 insertions(+), 387 deletions(-)
pass to fastavro all schemas in a single call
[master 7a07d1a] bump: version 0.57.0 → 0.57.1 2 files changed, 8 insertions(+), 2 deletions(-)
Possibility for original schema string in objects Meta class.
[master cb96839] bump: version 0.56.2 → 0.57.0 2 files changed, 8 insertions(+), 2 deletions(-)
Install typing-extensions when using Python > 3.8
[master b6a61ce] bump: version 0.56.1 → 0.56.2 2 files changed, 8 insertions(+), 2 deletions(-)
Optional[Literal] type fixed. Closes #518
[master 709a7a3] bump: version 0.56.0 → 0.56.1 2 files changed, 8 insertions(+), 2 deletions(-)
support for pydantic date and datetime added
[master fcb5b8b] bump: version 0.55.1 → 0.56.0 2 files changed, 8 insertions(+), 2 deletions(-)
bump inflector version for python3.12 support
[master a058f67] bump: version 0.55.0 → 0.55.1 2 files changed, 8 insertions(+), 2 deletions(-)
exclude_default option added in metadata. Closes #400
[master 0b1ee08] bump: version 0.54.2 → 0.55.0 2 files changed, 8 insertions(+), 2 deletions(-)
[master d45fd3e] bump: version 0.54.1 → 0.54.2 2 files changed, 8 insertions(+), 2 deletions(-)
[master d45fd3e] bump: version 0.54.1 → 0.54.2 2 files changed, 8 insertions(+), 2 deletions(-)
syntax warning in FakeStub docstring
[master 73a9d3a] bump: version 0.54.0 → 0.54.1 2 files changed, 8 insertions(+), 2 deletions(-)
property extra_allowed_default_types added to Field. Closes #457
[master 2e2602f] bump: version 0.53.1 → 0.54.0 2 files changed, 8 insertions(+), 2 deletions(-)
[master 32a7d5b] bump: version 0.53.0 → 0.53.1 2 files changed, 8 insertions(+), 2 deletions(-)
[master 32a7d5b] bump: version 0.53.0 → 0.53.1 2 files changed, 8 insertions(+), 2 deletions(-)
add pydantic v2 support. Closes #415
[master cd2384d] bump: version 0.52.1 → 0.53.0 2 files changed, 8 insertions(+), 2 deletions(-)
add fake() support to Literal field type
[master e25f47f] bump: version 0.52.0 → 0.52.1 2 files changed, 8 insertions(+), 2 deletions(-)
add support for typing.Literal (#435).
[master 311e526] bump: version 0.51.0 → 0.52.0 2 files changed, 8 insertions(+), 2 deletions(-)
pydantic-v2: First steps to support pydantic v2. Namespace dataclasses_avroschame.pydantic added. All AvroModel fields now are private
Migration guide for pydantic users: https://marcosschroh.github.io/dataclasses-avroschema/migration_guide/#migration-from-previous-versions-to-0510
[master bdfcced] bump: version 0.50.2 → 0.51.0 2 files changed, 8 insertions(+), 2 deletions(-)
Add typing-extensions to python 3.8
[master 8272696] bump: version 0.50.1 → 0.50.2 2 files changed, 8 insertions(+), 2 deletions(-)
Resolve issues with raw None annotation (#433). Closes #424
None annotation (#433). Closes #424[master e15a4e0] bump: version 0.50.0 → 0.50.1 2 files changed, 8 insertions(+), 2 deletions(-)
add support for pydantic custom classes as fields
[master a9f0138] bump: version 0.49.0 → 0.50.0 2 files changed, 8 insertions(+), 2 deletions(-)
option to exclude fields on the output schema added.
[master cd62071] bump: version 0.48.1 → 0.49.0 2 files changed, 8 insertions(+), 2 deletions(-)
respect enum symbols order when generating models from schemas. Related to #413
[master 483e0b7] bump: version 0.48.0 → 0.48.1 2 files changed, 8 insertions(+), 2 deletions(-)
[master 3123935] bump: version 0.47.3 → 0.48.0 2 files changed, 8 insertions(+), 2 deletions(-)
[master 3123935] bump: version 0.47.3 → 0.48.0 2 files changed, 8 insertions(+), 2 deletions(-)
Model/code generator when enum has namespaces. Closes #406
[master de4a00d] bump: version 0.47.2 → 0.47.3 2 files changed, 8 insertions(+), 2 deletions(-)
field ordering when field has metadata but not a default value. Closes #401
[master 49b4d01] bump: version 0.47.1 → 0.47.2 2 files changed, 8 insertions(+), 2 deletions(-)
do not uppercase enums keys when the key already exist. Closes #399
[master f009f4a] bump: version 0.47.0 → 0.47.1 2 files changed, 8 insertions(+), 2 deletions(-)
Make Faker an optional dependency.
[master d1e856e] bump: version 0.46.3 → 0.47.0 2 files changed, 8 insertions(+), 2 deletions(-)
[master 16b6a90] bump: version 0.46.2 → 0.46.3 2 files changed, 8 insertions(+), 2 deletions(-)
[master 16b6a90] bump: version 0.46.2 → 0.46.3 2 files changed, 8 insertions(+), 2 deletions(-)
record fields avro schema creation
[master d0097df] bump: version 0.46.1 → 0.46.2 2 files changed, 8 insertions(+), 2 deletions(-)
schema generation with optional Enum fields
[master 883d147] bump: version 0.46.0 → 0.46.1 2 files changed, 8 insertions(+), 2 deletions(-)
support pydantic constrained int fields
[master 18e942e] bump: version 0.45.1 → 0.46.0 2 files changed, 8 insertions(+), 2 deletions(-)
default factory in order to get proper default values. Closes #365
[master bd41de9] bump: version 0.45.0 → 0.45.1 2 files changed, 8 insertions(+), 2 deletions(-)
field_order property added to class Meta. Closes #345
[master 3b93eb7] bump: version 0.44.0 → 0.45.0 2 files changed, 8 insertions(+), 2 deletions(-)
pydantic fields added. Closes #328
[master 6cc9297] bump: version 0.43.10 → 0.44.0 2 files changed, 8 insertions(+), 2 deletions(-)
model generator when fields have metadata. Closes #348
[master e4e6a80] bump: version 0.43.9 → 0.43.10 2 files changed, 8 insertions(+), 2 deletions(-)
pydantic nested schema serialization
[master 6aa250f] bump: version 0.43.8 → 0.43.9 2 files changed, 8 insertions(+), 2 deletions(-)
stringcase replaced by casefy. Closes #341
[master fd261a6] bump: version 0.43.7 → 0.43.8 2 files changed, 8 insertions(+), 2 deletions(-)
Fix typo in kwargs typehint for AvroBaseModel.fake
[master f3e6c6a] bump: version 0.43.6 → 0.43.7 2 files changed, 8 insertions(+), 2 deletions(-)
[master 50c95b1] bump: version 0.43.5 → 0.43.6 2 files changed, 8 insertions(+), 2 deletions(-)
[master 50c95b1] bump: version 0.43.5 → 0.43.6 2 files changed, 8 insertions(+), 2 deletions(-)
proper schema generation when primitive types are defined types. Closes #330
[master e0bbe2e] bump: version 0.43.3 → 0.43.4 2 files changed, 8 insertions(+), 2 deletions(-)
dict conversion of AvroBaseModel. Closes #324
[master 40cb80c] bump: version 0.43.2 → 0.43.3 2 files changed, 8 insertions(+), 2 deletions(-)
deserialization with more than tow layers. Closes #326
[master 32c857f] bump: version 0.43.1 → 0.43.2 2 files changed, 8 insertions(+), 2 deletions(-)
excluded pydantic.Fields should be used on avro serialization. Closes #314
[master 5e26fb3] bump: version 0.43.0 → 0.43.1 2 files changed, 8 insertions(+), 2 deletions(-)
AvroRecord added in order to make simpler faust usage. Closes #281
[master de6b765] bump: version 0.42.2 → 0.43.0 2 files changed, 8 insertions(+), 2 deletions(-)
pydantic and faust-streaming optional dependencies. Remove pytz as dependency. Closes #292
[master 3244e8f] bump: version 0.42.1 → 0.42.2 2 files changed, 8 insertions(+), 2 deletions(-)
typing: incorrect type annotations in avrodantic.py
[master 375cc4c] bump: version 0.42.0 → 0.42.1 2 files changed, 8 insertions(+), 2 deletions(-)
TupleField added in order to deserialize typing.Tuple as tuples rather than list. Closes #291
[master da2a328] bump: version 0.41.2 → 0.42.0 2 files changed, 8 insertions(+), 2 deletions(-)
[master e368977] bump: version 0.41.1 → 0.41.2 2 files changed, 8 insertions(+), 2 deletions(-)
[master e368977] bump: version 0.41.1 → 0.41.2 2 files changed, 8 insertions(+), 2 deletions(-)
Your coding agent can read these notes before it upgrades. Set up the MCP server →