Dataclasses Avroschema Versions Save

Generate avro schemas from python classes. Code generation from avro schemas. Serialize/Deserialize python instances with avro schemas

0.59.0

4 weeks ago

0.59.0 (2024-04-19)

Feat

  • convert_literal_to_enum option added. Closes #596 (#608)

[master f9edf1f] bump: version 0.58.2 → 0.59.0 2 files changed, 8 insertions(+), 2 deletions(-)

0.58.2

1 month ago

0.58.2 (2024-04-12)

Fix

  • custom types with extra annotation. Closes #598 (#601)

[master 258cc6f] bump: version 0.58.1 → 0.58.2 2 files changed, 8 insertions(+), 2 deletions(-)

0.58.1

1 month ago

0.58.1 (2024-04-11)

Fix

  • add Enum symbol validation (#599)

[master 9bd8b45] bump: version 0.58.0 → 0.58.1 2 files changed, 8 insertions(+), 2 deletions(-)

0.58.0

1 month ago

0.58.0 (2024-03-28)

Feat

  • 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(-)

0.57.5

1 month ago

0.57.5 (2024-03-26)

Fix

  • improve pydantic model translation (#582)

[master 1ef6e7c] bump: version 0.57.4 → 0.57.5 2 files changed, 8 insertions(+), 2 deletions(-)

0.57.4

2 months ago

0.57.4 (2024-03-15)

Fix

  • do not force pascalcase for enum names. Closes #544 (#571)

[master f159516] bump: version 0.57.3 → 0.57.4 2 files changed, 36 insertions(+), 30 deletions(-)

0.57.3

2 months ago

0.57.3 (2024-03-14)

Fix

  • add inner names suppor for complex types. Closes #534 and related to #544 (#570)

0.57.2 (2024-03-11)

Fix

  • model generator refactored (#569)

0.57.1 (2024-02-22)

Fix

  • pass to fastavro all schemas in a single call (#553)

0.57.0 (2024-02-16)

Feat

  • Possibility for original schema string in objects Meta class. (#545)

0.56.2 (2024-02-12)

Fix

  • Install typing-extensions when using Python > 3.8 (#541)

0.56.1 (2024-01-30)

Fix

  • Optional[Literal] type fixed. Closes #518 (#528)

0.56.0 (2024-01-19)

Feat

  • support for pydantic date and datetime added (#517)

0.55.1 (2024-01-16)

Fix

  • bump inflector version for python3.12 support (#519)

0.55.0 (2024-01-16)

Feat

  • exclude_default option added in metadata. Closes #400 (#513)

0.54.2 (2023-12-12)

Fix

  • kwarg typing in AvroModel (#488)

0.54.1 (2023-12-07)

Fix

  • syntax warning in FakeStub docstring (#486)

0.54.0 (2023-12-01)

Feat

  • property extra_allowed_default_types added to Field. Closes #457 (#481)

0.53.1 (2023-11-15)

Fix

  • simplify faker stub code (#471)

0.53.0 (2023-11-03)

Feat

  • add pydantic v2 support. Closes #415 (#455)

0.52.1 (2023-10-09)

Fix

  • add fake() support to Literal field type (#451)

0.52.0 (2023-09-28)

Feat

  • add support for typing.Literal (#435).

0.51.0 (2023-09-20)

Feat

  • pydantic-v2: First steps to support pydantic v2. Namespace dataclasses_avroschame.pydantic added. All AvroModel fields now are private (#427)

0.50.2 (2023-09-19)

Fix

  • Add typing-extensions to python 3.8 (#432)

0.50.1 (2023-09-19)

Fix

  • Resolve issues with raw None annotation (#433). Closes #424

0.50.0 (2023-09-13)

Feat

  • add support for pydantic custom classes as fields (#420)

0.49.0 (2023-09-12)

Feat

  • option to exclude fields on the output schema added. (#423)

0.48.1 (2023-09-12)

Fix

  • respect enum symbols order when generating models from schemas. Related to #413 (#422)

0.48.0 (2023-09-11)

BREAKING CHANGE

  • drop python 3.7 support (#414)

0.47.3 (2023-09-06)

Fix

  • Model/code generator when enum has namespaces. Closes #406 (#410)

0.47.2 (2023-08-30)

Fix

  • field ordering when field has metadata but not a default value. Closes #401 (#403)

0.47.1 (2023-08-30)

Fix

  • do not uppercase enums keys when the key already exist. Closes #399 (#402)

0.47.0 (2023-08-28)

Feat

  • Make Faker an optional dependency. (#391)

0.46.3 (2023-08-25)

Fix

  • dependencies updated (#393)

0.46.2 (2023-08-15)

Fix

  • record fields avro schema creation (#382) (#383)

0.46.1 (2023-08-14)

Fix

  • schema generation with optional Enum fields (#386)

0.46.0 (2023-08-14)

Feat

  • support pydantic constrained int fields (#379)

0.45.1 (2023-07-27)

Fix

  • default factory in order to get proper default values. Closes #365

0.45.0 (2023-07-18)

Feat

  • field_order property added to class Meta. Closes #345 (#369)

0.44.0 (2023-07-06)

Feat

  • pydantic fields added. Closes #328

0.43.10 (2023-06-29)

Fix

  • model generator when fields have metadata. Closes #348 (#355)

0.43.9 (2023-06-19)

Fix

  • pydantic nested schema serialization (#346)

0.43.8 (2023-06-15)

Fix

  • stringcase replaced by casefy. Closes #341 (#347)

0.43.7 (2023-06-13)

Fix

  • Fix typo in kwargs typehint for AvroBaseModel.fake (#340)

0.43.6 (2023-05-30)

Fix

  • ci process (#336)

0.43.5 (2023-05-30)

Fix

  • update dependencies and bump version (#334)

0.43.4 (2023-05-26)

Fix

  • proper schema generation when primitive types are defined types. Closes #330 (#332)

0.43.3 (2023-05-25)

Fix

  • dict conversion of AvroBaseModel. Closes #324 (#331)

0.43.2 (2023-05-25)

Fix

  • deserialization with more than tow layers. Closes #326 (#329)

0.43.1 (2023-05-19)

Fix

  • excluded pydantic.Fields should be used on avro serialization. Closes #314 (#322)

0.43.0 (2023-04-26)

Feat

  • AvroRecord added in order to make simpler faust usage. Closes #281 (#303)

0.42.2 (2023-04-24)

Fix

  • pydantic and faust-streaming optional dependencies. Remove pytz as dependency. Closes #292 (#297)

0.42.1 (2023-04-24)

Fix

  • typing: incorrect type annotations in avrodantic.py (#302)

0.42.0 (2023-04-21)

Feat

  • TupleField added in order to deserialize typing.Tuple as tuples rather than list. Closes #291 (#296)

0.41.2 (2023-04-20)

Fix

  • dev dependencies updated (#294)

0.41.1 (2023-04-06)

Fix

  • dependencies updated. Model generator documentation updated (#285)

0.41.0 (2023-04-06)

BREAKING CHANGE

  • types.Decimal has been replaced by condecimal (Annotated[decimal.Decimal]). Closes #260 (#282)

0.40.0 (2023-03-29)

Fix

  • correctly generate enum default values (#275)
  • correctly generate type annotations

fix: 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 [email protected]

0.39.3 (2023-03-29)

Fix

  • include matadata when using pydantic.Field with AvroBaseMode. Closes #263 (#274)

0.39.2 (2023-03-28)

Fix

  • use extras in a correct way. Closes #272 (#273)

0.39.1 (2023-03-27)

Fix

  • dependencies updated. Closes #270 (#271)

0.39.0 (2023-03-24)

Feat

  • support for typing.Annotated added (#264)

0.38.1 (2023-03-22)

Fix

  • dc-avro dependency (#262)

0.38.0 (2023-03-22)

v0.37.5 (2023-03-17)

Fix

  • avro schema generation should always return the same result. Close #254 (#255)

v0.37.4 (2023-03-06)

Fix

  • release v0.37.3 -> v0.37.4
  • exception NameSpaceRequiredException removed. Close #246 (#253)

v0.37.3 (2023-03-06)

Fix

  • dependencies and documentation (#252)

v0.37.2 (2023-03-02)

Fix

  • use UUID type instead of function uuid4 (#251)

v0.37.1 (2023-02-24)

Fix

  • use pydantic UUID4 when generating pydantic models. (#247)

v0.37.0 (2023-02-22)

Feat

  • dacite custom config added to class Meta. Closes #242 (#245)

v0.36.3 (2023-02-16)

Fix

  • ListField fake generation when it contains Optional. Closes #232 (#244)

v0.36.2 (2023-02-14)

Fix

  • do not persist the schema when the parent class is not an AvroModel. Closes #241 (#243)

Perf

  • ruff added in order to replace isort and flake8 (#238)

v0.36.1 (2023-01-19)

Fix

  • use pydantic condecimal when generating pydantic models. Closes #234 (#237)
  • model generator with only decimal fields. Closes #233 (#236)

v0.36.0 (2023-01-18)

Feat

  • Generate a Python module from multiple schemas (#235)

v0.35.0 (2023-01-10)

Feat

  • model generator added (#227)
  • self relationship schema generation

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 [email protected]

v0.34.6 (2023-01-06)

Fix

  • use namespaces when an enum is used multiple times in a class. Cases should not apply to enum names. Closes #221 (#231)

v0.34.5 (2023-01-06)

Fix

  • schema generation with optional enum when using pydantic. Closes #229 (#230)

v0.34.4 (2023-01-04)

Fix

  • fake generation with optional user defined types (#228)

v0.34.3 (2022-12-15)

Fix

  • serialize decimal fields. Closes #222 (#224)

v0.34.2 (2022-11-18)

Fix

  • pydantic fake and nested json serialization (#219)

v0.34.1 (2022-11-11)

Fix

  • include field metadata when using faust records. Closes #217 (#218)

v0.34.0 (2022-11-01)

Feat

  • types.UnionType support added (#213)

v0.33.0 (2022-11-01)

v0.32.3 (2022-10-31)

Fix

  • update to latest fastavro. logical types fixed (#214)

v0.32.2 (2022-10-25)

Fix

  • nested enums serialization. Closes #208 (#211)

v0.32.1 (2022-10-13)

Perf

  • use python slots (#206)

v0.32.0 (2022-10-13)

Feat

  • provide data to the fake functionality (#205)

v0.31.3 (2022-10-07)

Fix

  • utils refactor. @dataclass decorator included in all code examples. Inheritance example added. Closes #202 (#204)

v0.31.2 (2022-10-03)

Fix

  • UnknownType on serialization with intermediates schemas. Closes #199 (#201)

v0.31.1 (2022-09-30)

Fix

  • name collision on splittes schema usage. Close #196 (#198)

v0.31.0 (2022-09-23)

Feat

  • micro precision added to time and datetime types (#197)

v0.30.3 (2022-08-05)

Fix

  • mypy issues (#186)

v0.30.2 (2022-08-04)

Fix

  • Do not use name and type from metadata in avro schema (#188) (#189)

v0.30.1 (2022-08-02)

Fix

  • fastavro dependency updated. Close #184 (#187)

v0.30.0 (2022-05-18)

v0.29.2 (2022-05-06)

v0.29.1 (2022-04-15)

Fix

  • nested metadata not respected. closes #171 (#172)

v0.29.0 (2022-04-08)

Fix

  • create nested schema resolution directly from dictionaries (#170)

v0.28.1 (2022-04-05)

Fix

  • alias for nested items (#169)

v0.28.0 (2022-03-23)

Feat

  • pydantic support added (#163)

v0.27.2 (2022-03-23)

Fix

  • rebuild cache (#164)

v0.27.1 (2022-03-22)

v0.27.0 (2022-02-18)

Feat

  • add enum support (#153)

v0.26.1 (2021-12-07)

Feat

  • manual job trigger (#146)

Fix

  • use root reference to generate valid schemas in multiple inheritance levels (#148)
  • cache and release expresion (#147)

v0.26.0 (2021-12-06)

Feat

  • validate method added (#144)

Fix

  • some type checks (#143)
  • mkdocs styles (#141)

v0.25.3 (2021-11-26)

Fix

  • generate valid avro schemas when inheritance has multiple levels (#140)
  • api get_fields now returns all rendered fields (#134)

v0.25.1 (2021-10-06)

v0.25.0 (2021-09-27)

Feat

  • case schemas. Closes #79 (#95)

Fix

  • new style type annotations don't work for containers and maps (#122)
  • possible crash if no docs (#123)

v0.24.0 (2021-09-24)

Feat

  • add int and float Avro type support (#119)

v0.23.2 (2021-09-04)

Fix

  • use namespaces on repeated user types with complex types (#117)

v0.23.1 (2021-09-03)

Fix

  • using namespaces for repeated nested types in arrays and maps (#116)

v0.23.0 (2021-08-26)

Feat

  • use namespaces for repeated types (#115)

v0.22.1 (2021-07-05)

v0.22.0 (2021-06-30)

Feat

  • alias nested schemas added (#110)

v0.21.0 (2021-06-17)

Fix

  • github CI added (#106)

v0.20.4 (2021-05-05)

v0.20.3 (2021-04-29)

Fix

  • dependencies updated (#97)
  • Improve error message in unknown type (#94)
  • generators fixtures replaced with container. Close #70 (#91)

v0.20.2 (2021-01-27)

Fix

  • avro-json serialization with defaults (#89)

v0.20.1 (2020-12-04)

v0.20.0 (2020-11-24)

v0.19.0 (2020-11-12)

Fix

  • doc updated

v0.18.0 (2020-10-10)

Fix

  • correct name generation for nested records (#81)

v0.17.0 (2020-09-04)

Feat

  • fake class instances generation added (#77)

v0.16.0 (2020-08-27)

Fix

  • isort (#71)

v0.15.2 (2020-08-25)

Fix

  • pytz added as requirement (#69)

v0.15.1 (2020-08-22)

Fix

  • include UUID as field type (#68)

v0.15.0 (2020-08-16)

Fix

  • use generic to_avro method for logical types (#66)
  • replace 'null' str with avro null (json) (#65)

Perf

  • check for dataclass.MISSING removed. coverage increased up to 99% (#61)

v0.14.6 (2020-07-11)

Fix

  • field SelfReference fixed (#59)

v0.14.5 (2020-07-09)

Fix

  • null should not be included when a default value is defined (#58)

v0.14.4 (2020-07-03)

Fix

  • union with complex type fixed. union with optional types fixed. close #51. (#56)

v0.14.3 (2020-06-29)

Fix

  • refactor logical types (#54)
  • support for aware datetime added (#53)
  • serialization for complex types (#49)

v0.14.2 (2020-06-16)

Fix

  • pytest dependency updated (#46)

v0.14.1 (2020-06-09)

Fix

  • bytes type fixed (#42)

v0.14.0 (2020-06-01)

v0.13.1 (2020-05-28)

Fix

  • enum field refactored in order to include other enum attributes (#37)

v0.13.0 (2020-05-25)

Feat

  • generate json payload from class instance accroding to the avro schema generated (#36)

v0.12.0 (2020-05-25)

Fix

  • schema-generator import improved (#35)

v0.11.1 (2020-05-20)

Feat

  • serialization added (#34)

Fix

  • fastavro included as dependencie
  • development scripts updated. (#33)

v0.10.0 (2020-02-16)

Feat

  • fixed type support added (#32)

v0.9.0 (2020-01-24)

Fix

  • isort added. more mypy types added. WIP mypy checks (#30)
  • Correct license to MIT in setup.py (#29)

v0.8.0 (2020-01-06)

v0.7.4 (2019-11-21)

Fix

  • Avro-Array: Handle union inside array field. Closes #21

v0.7.3 (2019-11-16)

Fix

  • typing.Dict: Include LogicalTypes as values
  • typing.List: Include LogicalTypes as items
  • Code refactor and first steps to support logicaltypes in sequences and maps

v0.7.2 (2019-11-07)

Fix

  • Union type allow logical and primitive types

v0.7.1 (2019-10-25)

Fix

  • Support for Sequences and Mapping added

v0.7.0 (2019-10-23)

Feat

  • Generate Avro Schemas from Faust Records

v0.6.1 (2019-10-21)

Fix

  • Validate default values when the avro schema is generated

v0.6.0 (2019-10-17)

Feat

  • Union support added

Fix

  • mkdocs fixed

v0.5.0 (2019-10-13)

Feat

  • LogicalTypes: Support for Date, Time, Datetime and UUID added

v0.4.1 (2019-10-11)

Fix

  • Fields refactor

v0.4.0 (2019-10-05)

Feat

  • Self relationship OneToOne added
  • Self relationship OneToMany added
  • Self relationship OneToMany finished. Factory Pattern used in SchemaGenarator and AvroSchemaDefinition

v0.3.1 (2019-09-05)

v0.3.0 (2019-09-03)

Feat

  • Singular names are generated for array, map chilndren's namea nd enum

v0.2.0 (2019-09-02)

Feat

  • OneToMany schema relationship added.

v0.1.1 (2019-09-02)

Feat

  • One To Many relationship added
  • One to One schema relationship added
  • Travis added

Fix

  • Default values for Map and Array
  • Map, Array and Enum types fixed. Schema Parse tests added with fastavro
  • License added
  • mkdocs links updated

v0.1.0 (2019-08-29)

Feat

  • clean & publish scrips added. Docs added
  • avro_schema method added to SchemaGenerator class. Doc added.
  • Aliases and Namespaces avro check added

Fix

  • clean & publish scripts should be executables
  • Exclude default type only when is a tuple
  • The avro schema returned should be string, not a python dict.
  • Package renamed to dataclasses_avroschema

[master c324f60] bump: version 0.57.2 → 0.57.3 2 files changed, 8 insertions(+), 2 deletions(-)

0.57.2

2 months ago

Changelog

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.

0.57.2 (2024-03-11)

Fix

  • model generator refactored (#569)

0.57.1 (2024-02-22)

Fix

  • pass to fastavro all schemas in a single call (#553)

0.57.0 (2024-02-16)

Feat

  • Possibility for original schema string in objects Meta class. (#545)

0.56.2 (2024-02-12)

Fix

  • Install typing-extensions when using Python > 3.8 (#541)

0.56.1 (2024-01-30)

Fix

  • Optional[Literal] type fixed. Closes #518 (#528)

0.56.0 (2024-01-19)

Feat

  • support for pydantic date and datetime added (#517)

0.55.1 (2024-01-16)

Fix

  • bump inflector version for python3.12 support (#519)

0.55.0 (2024-01-16)

Feat

  • exclude_default option added in metadata. Closes #400 (#513)

0.54.2 (2023-12-12)

Fix

  • kwarg typing in AvroModel (#488)

0.54.1 (2023-12-07)

Fix

  • syntax warning in FakeStub docstring (#486)

0.54.0 (2023-12-01)

Feat

  • property extra_allowed_default_types added to Field. Closes #457 (#481)

0.53.1 (2023-11-15)

Fix

  • simplify faker stub code (#471)

0.53.0 (2023-11-03)

Feat

  • add pydantic v2 support. Closes #415 (#455)

0.52.1 (2023-10-09)

Fix

  • add fake() support to Literal field type (#451)

0.52.0 (2023-09-28)

Feat

  • add support for typing.Literal (#435).

0.51.0 (2023-09-20)

BREAKING CHANGE

  • pydantic-v2: First steps to support pydantic v2. Namespace dataclasses_avroschame.pydantic added. All AvroModel fields now are private (#427)

Migration guide for pydantic users: https://marcosschroh.github.io/dataclasses-avroschema/migration_guide/#migration-from-previous-versions-to-0510

0.50.2 (2023-09-19)

Fix

  • Add typing-extensions to python 3.8 (#432)

0.50.1 (2023-09-19)

Fix

  • Resolve issues with raw None annotation (#433). Closes #424

0.50.0 (2023-09-13)

Feat

  • add support for pydantic custom classes as fields (#420)

0.49.0 (2023-09-12)

Feat

  • option to exclude fields on the output schema added. (#423)

0.48.1 (2023-09-12)

Fix

  • respect enum symbols order when generating models from schemas. Related to #413 (#422)

0.48.0 (2023-09-11)

BREAKING CHANGE

  • drop python 3.7 support (#414)

0.47.3 (2023-09-06)

Fix

  • Model/code generator when enum has namespaces. Closes #406 (#410)

0.47.2 (2023-08-30)

Fix

  • field ordering when field has metadata but not a default value. Closes #401 (#403)

0.47.1 (2023-08-30)

Fix

  • do not uppercase enums keys when the key already exist. Closes #399 (#402)

0.47.0 (2023-08-28)

Feat

  • Make Faker an optional dependency. (#391)

0.46.3 (2023-08-25)

Fix

  • dependencies updated (#393)

0.46.2 (2023-08-15)

Fix

  • record fields avro schema creation (#382) (#383)

0.46.1 (2023-08-14)

Fix

  • schema generation with optional Enum fields (#386)

0.46.0 (2023-08-14)

Feat

  • support pydantic constrained int fields (#379)

0.45.1 (2023-07-27)

Fix

  • default factory in order to get proper default values. Closes #365

0.45.0 (2023-07-18)

Feat

  • field_order property added to class Meta. Closes #345 (#369)

0.44.0 (2023-07-06)

Feat

  • pydantic fields added. Closes #328

0.43.10 (2023-06-29)

Fix

  • model generator when fields have metadata. Closes #348 (#355)

0.43.9 (2023-06-19)

Fix

  • pydantic nested schema serialization (#346)

0.43.8 (2023-06-15)

Fix

  • stringcase replaced by casefy. Closes #341 (#347)

0.43.7 (2023-06-13)

Fix

  • Fix typo in kwargs typehint for AvroBaseModel.fake (#340)

0.43.6 (2023-05-30)

Fix

  • ci process (#336)

0.43.5 (2023-05-30)

Fix

  • update dependencies and bump version (#334)

0.43.4 (2023-05-26)

Fix

  • proper schema generation when primitive types are defined types. Closes #330 (#332)

0.43.3 (2023-05-25)

Fix

  • dict conversion of AvroBaseModel. Closes #324 (#331)

0.43.2 (2023-05-25)

Fix

  • deserialization with more than tow layers. Closes #326 (#329)

0.43.1 (2023-05-19)

Fix

  • excluded pydantic.Fields should be used on avro serialization. Closes #314 (#322)

0.43.0 (2023-04-26)

Feat

  • AvroRecord added in order to make simpler faust usage. Closes #281 (#303)

0.42.2 (2023-04-24)

Fix

  • pydantic and faust-streaming optional dependencies. Remove pytz as dependency. Closes #292 (#297)

0.42.1 (2023-04-24)

Fix

  • typing: incorrect type annotations in avrodantic.py (#302)

0.42.0 (2023-04-21)

Feat

  • TupleField added in order to deserialize typing.Tuple as tuples rather than list. Closes #291 (#296)

0.41.2 (2023-04-20)

Fix

  • dev dependencies updated (#294)

0.41.1 (2023-04-06)

Fix

  • dependencies updated. Model generator documentation updated (#285)

0.41.0 (2023-04-06)

BREAKING CHANGE

  • types.Decimal has been replaced by condecimal (Annotated[decimal.Decimal]). Closes #260 (#282)

0.40.0 (2023-03-29)

Fix

  • correctly generate enum default values (#275)
  • correctly generate type annotations

fix: 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 [email protected]

0.39.3 (2023-03-29)

Fix

  • include matadata when using pydantic.Field with AvroBaseMode. Closes #263 (#274)

0.39.2 (2023-03-28)

Fix

  • use extras in a correct way. Closes #272 (#273)

0.39.1 (2023-03-27)

Fix

  • dependencies updated. Closes #270 (#271)

0.39.0 (2023-03-24)

Feat

  • support for typing.Annotated added (#264)

0.38.1 (2023-03-22)

Fix

  • dc-avro dependency (#262)

0.38.0 (2023-03-22)

  • First release added with commitizen

[0.37.5] - 2023-03-17

  • Avro schema generation should always return the same result. Close #254 (#255)

Fixed

[0.37.4] - 2023-03-06

  • Exception NameSpaceRequiredException removed. Close #246 (#253)

Fixed

[0.37.3] - 2023-03-06

  • Dependencies and documentation (#252)

Fixed

[0.37.2] - 2023-03-02

  • Use UUID type instead of function uuid4 on model generation (#251)

Fixed

[0.37.1] - 2023-02-24

  • Use pydantic UUID4 when generating pydantic models. (#247)

Added

[0.37.0] - 2023-02-22

  • Dacite custom config added to class Meta. Closes #242 (#245)

Fixed

[0.36.3] - 2023-02-16

  • ListField fake generation when it contains Optional. Closes #232 (#244)

Fixed

[0.36.2] - 2023-02-14

  • Do not persist the schema when the parent class is not an AvroModel. Closes #241

Fixed

[0.36.1] - 2023-01-19

  • Model generator with only decimal fields.
  • Use pydantic.condecimal instead of the custom Decimal as default value when generate pydantic models

Added

[0.36.0] - 2023-01-18

  • Generate a Python module from multiple schemas 235

Added

[0.35.0] - 2023-01-10

  • Convert python models from avsc schemas 227

Fixed

[0.34.6] - 2023-01-06

  • Use namespaces when an enum is used multiple times in a class. Cases should not apply to enum names. Closes 221

Fixed

[0.34.5] - 2023-01-06

  • Schema generation with optional enum when using pydantic. Closes 229

Fixed

[0.34.4] - 2023-01-04

  • Fake generation with optional user defined types 228

Fixed

[0.34.3] - 2022-12-15

  • Decimal fields serialization 222

Fixed

[0.34.2] - 2022-11-18

  • pydantic fake and nested json serialization 219

Fixed

[0.34.1] - 2022-11-11

  • include field metadata when using faust records 218

Added

[0.34.0] - 2022-11-01

  • typing.UnionType support added 212

Added

[0.33.0] - 2022-11-01

  • python 3.11 support added 215

Fixed

[0.32.3] - 2022-10-31

  • Logial types fixed. Update to fastavro 1.7.0 214

Fixed

[0.32.2] - 2022-10-25

  • Nested enums serialization 211

Fixed

[0.32.1] - 2022-10-13

  • Use python slots

Added

[0.32.0] - 2022-10-13

  • Provide data to the fake functionality 205

Fixed

[0.31.3] - 2022-10-07

  • utils refactor. @dataclass decorator included in all code examples. Inheritance example added.

Fixed

[0.31.2] - 2022-10-03

  • UnknownType on serialization with intermediates schemas 201

Fixed

[0.31.1] - 2022-09-30

  • Name collision on splittes schema usage 198.

Added

[0.31.0] - 2022-09-23

  • Micro precision added to time and datetime 197. TimeMicro and DateTimeMicro field types added.

Fixed

[0.30.3] - 2022-08-05

  • typing issues fixed 186

Fixed

[0.30.2] - 2022-08-04

  • Do not use name and type from metadata in avro schema 189

Fixed

[0.30.1] - 2022-08-02

  • Dependency fastavro updated to close 184

Added

[0.30.0] - 2022-05-18

  • Raise InvalidMap exception when a Dict has not string keys
  • Now it is possible to use Meta.schema_doc to set the schema documentation

Fixed

[0.29.2] - 2022-05-06

  • Priority ordering for record field naming fixed 176. alias_nested_items must have priority order
    1. Check if exists an alias_nested_items in parent class or Meta class of own model
    2. Check if the schema_name is present in the Meta class of own model
    3. Use the default class Name (self.type.name)

Fixed

[0.29.1] - 2022-04-15

  • Generate correct schema name 172:
    1. Check if the schema_name is present in the Meta class of own model
    2. Check if exists an alias_nested_items in parent class or Meta class of own model
    3. Use the default class Name (self.type.name)

[0.29.0] - 2022-04-08

Added

  • Created nested schema resolution directly from dictionaries using parse_obj 90

[0.28.1] - 2022-04-05

Fixed

  • alias_nested_items for ListField and DictField 158

[0.28.0] - 2022-03-23

Added

[0.27.2] - 2022-03-23

Fixed

  • Generate wheel package 162

[0.27.1] - 2022-03-22

Fixed

  • bump fastavro from 1.4.9 to 1.4.10
  • bump inflect from 5.3.0 to 5.4.0

[0.27.0] - 2022-02-18

Added

  • types.Enum replaced by enum.Enum 153

[0.26.1] - 2021-12-07

Fixed

  • Use root reference to generate valid schemas in multiple inheritance levels 148

[0.26.0] - 2021-12-06

Added

  • validate method added to AvroModel 144

[0.25.3] - 2021-11-26

Fixed

  • Generate valid avro schemas when inheritance has multiple levels 140

[0.25.2] - 2021-10-09

Fixed

  • api get_fields now returns all rendered fields 134

[0.25.1] - 2021-10-09

Fixed

  • Support for default null decimals added 130

[0.25.0] - 2021-09-27

Added

  • New style type annotations support added (tuple, list and dict) 122
  • Case schemas added 95

Available 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'

[0.24.0] - 2021-09-24

Added

  • int and float Avro type support 119

[0.23.2] - 2021-09-04

Fixed

  • Use namespaces on repeated user types with complex types 117

[0.23.1] - 2021-09-03

Fixed

  • Use namespaces for repeated types in arrays and maps 116

[0.23.0] - 2021-08-26

Added

  • Use namespaces for repeated types 115
  • Record names now are generated using class.__name__ instead of class.__name__.lower()_record

[0.22.1] - 2021-07-05

Fixed

[0.22.0] - 2021-07-01

Added

  • Alias for nested items (nested records, arrays and maps) 110
  • Improve type annotations 109

[0.21.0] - 2021-06-17

Added

  • Mitration to GithubCI
  • GenericAlias test in Python 3.9
  • Add Python 3.8 and 3.9 in the CI build
  • Add schema_name attribute to SchemaMetadata
  • Add optional writer_schema in deserialization

Added

[0.20.4] - 2021-05-05

Fixed

  • Unpin install_requires with version ranges 99

[0.20.3] - 2021-04-29

Fixed

[0.20.2] - 2021-01-27

Fixed

  • avro-json serialization with defaults 89

[0.20.1] - 2020-12-04

Fixed

  • Correct out-of-spec Avro schemas with typing.Union #87

[0.20.0] - 2020-11-24

Added

  • Support for decimal logical type added #86

[0.19.0] - 2020-11-12

Added

[0.18.0] - 2020-10-10

Added

  • Allow multiple references to the same class in record relationships
  • Correct name generation for nested records 81

[0.17.0] - 2020-09-04

Added

  • Fake instances generation added

[0.16.0] - 2020-08-27

Added

  • Deserialization process generate class instances instead a pythn dict
  • In order to get a python dict in the deserialiation process the flag create_instance=False should be used
  • Example with usage with kafka drivers added

[0.15.2] - 2020-08-25

Fixed

  • pytz added as requirement

[0.15.1] - 2020-08-22

Fixed

  • UUID type fixed

[0.15.0] - 2020-08-16

Added

  • replaced null string with avro null (json)
  • code improvement

[0.14.6] - 2020-07-11

Changed

  • SelfReferenceField when is used inn array and maps
  • SelfReferenceField default value fixed

[0.14.5] - 2020-07-09

Changed

  • null should not be included when a default value is defined for premitive types

[0.14.4] - 2020-07-03

Changed

  • typing.Optional union fixed
  • typing.Union with complex types (sequeces and Dict) fixed

[0.14.3] - 2020-06-29

Changed

  • documentation of dataclasses.field descriptor added
  • support for aware datetime added
  • serialization fixed for complex types

[0.14.2] - 2020-06-16

Changed

[0.14.1] - 2020-06-09

Changed

  • bytes type fixed
  • null with Schema Logical Types and Relationships supported

[0.14.0] - 2020-06-01

Added

  • inheritance approach adopted over composition

Removed

  • SchemaGenerator class

[0.13.1] - 2020-05-29

Changed

  • enum type now is represented by types.Enum

[0.13.0] - 2020-05-28

Added

  • json payload generated from class instance

[0.12.0] - 2020-05-25

Added

  • import of SchemaGenetor improved
  • Documentation updated

[0.11.0] - 2020-05-20

Added

  • Serialization/deserialization added

[0.10.0] - 2020-02-16

Added

  • fixed type support

[0.9.0] - 2020-01-24

Added

  • Ability to store metadata into fields
  • More type checks
  • isort package added

[0.8.0] - 2020-01-06

Added

  • Support typing.Optional added

[0.7.4] - 2019-11-21

Changed

  • Union types can be included in sequences types

[0.7.3] - 2019-11-16

Changed

  • Logical types now are allowed in Sequences and Maps

[0.7.2] - 2019-11-07

Changed

  • Union type now allows logical and primitive types

[0.7.1] - 2019-10-21

Changed

  • Support for Sequences and Mappings added
Avro Type Python Type
arrays typing.Sequence, typing.MutableSequence
maps typing.Mapping, typing.MutableMapping

[0.7.0] - 2019-10-23

Added

  • Faust support: Now is possible to generate Avro Schemas from a Faust Records

[0.6.1] - 2019-10-21

Changed

  • Now default values are validated according to the field type

[0.6.0] - 2019-10-17

Added

  • Avro Union support added

[0.5.0] - 2019-10-13

Added

  • Support for some logical types
Avro Type Logical Type Python Type
int date datetime.date
int time-millis datetime.time
long timestamp-millis datetime.datetime
string uuid uuid.uuid4

[0.4.1] - 2019-10-11

Changed

  • Code refactor: Field have been devided into several field classes to make the code more redeable

[0.4.0] - 2019-09-02

Added

  • Recursive Schema Relationships:
    • Recursive OneToOne relationship added
    • Recursive OneToMany relationship added

[0.3.0] - 2019-09-05

Changed

  • Code refator and improvements

[0.3.0] - 2019-09-03

Added

  • Singular name for array's child name
  • Singular name for map's child name
  • Singular name for nested relationship OneToMany

[0.2.0] - 2019-09-02

Added

  • Schema Relationships:
    • OneToOne relationship added
    • OneToMany relationship added (array and map)

[0.1.1] - 2019-09-02

Added

  • Enum, Array and Map fields fixed
  • Schema Parse tests added using fastavro

[0.1.0] - 2019-08-29

Added

  • First release

[master a006020] bump: version 0.57.1 → 0.57.2 2 files changed, 331 insertions(+), 387 deletions(-)

0.57.1

2 months ago

0.57.1 (2024-02-22)

Fix

  • pass to fastavro all schemas in a single call (#553)

[master 7a07d1a] bump: version 0.57.0 → 0.57.1 2 files changed, 8 insertions(+), 2 deletions(-)

0.57.0

3 months ago

0.57.0 (2024-02-16)

Feat

  • Possibility for original schema string in objects Meta class. (#545)

[master cb96839] bump: version 0.56.2 → 0.57.0 2 files changed, 8 insertions(+), 2 deletions(-)