Skip to content

Releases: reagento/adaptix

v3.0.0b8 — Generation optimization

02 Sep 20:40
c014783
Compare
Choose a tag to compare
  • New providers for working with time: datetime_by_timestamp, date_by_timestamp and datetime_by_format.
  • Add exec_type_checking function to deal with cyclic references by executing if TYPE_CHECKING: constructs.
  • Add support for bytes inside literal, for example Literal[b"abc"].
  • The library shows a hint if one class is a model and the other is not.
  • Traceback of CannotProvide is hidden (it is raised when loader, dumper, or converter can not be created). It simplifies error messages to users. You can show traceback by disabling hide_traceback parameter of Retort.
  • Drop support of Python 3.8.
  • Refactor internal provider routing system. It becomes more simple and readable. Also, internal caching is added. This led to a 40% speedup in loader generation for medium models and up to 4x speedup for large models with many recursive types.

See the full list of changes at changelog.

v3.0.0b7 — Important fixes

10 Jun 20:21
2e67d8e
Compare
Choose a tag to compare
  • Allow redefining coercer inside Optional using an inner type if source and destination types are same.
  • Fix ForwardRef evaluation inside __bound__ of TypeVar for Python 3.12.4.
  • NoSuitableProvider exception was renamed to ProviderNotFoundError (old name is available as alias).

See the full list of changes at changelog.

v3.0.0b6 — Linking several fields

23 May 15:16
Compare
Choose a tag to compare
  • Now, you can merge several fields or access the model directly via conversion.link_function.
    See Link function for details.

  • Add a special column type for serializing and deserializing JSON inside SQLAlchemy.
    See SQLAlchemy JSON for details.

  • Add Extended Usage article for model conversion and other documentation updates.

See the full list of changes at changelog.

v3.0.0b5 — Pydantic support

20 Apr 08:32
6084abe
Compare
Choose a tag to compare
  • Add support for Pydantic models!

    Now you can work with pydantic models like any other: construct from dict, serialize to dict, convert to any other model, and convert it to any other model.

    Also, you can use integrations.pydantic.native_pydantic to delegate loading and dumping to pydantic itself.

  • Add support for dumping Literal inside Union. #237

  • Add support for BytesIO and IO[bytes]. #270

See the full list of changes at changelog.

v3.0.0b4 — model conversion inside compound types

30 Mar 14:17
Compare
Choose a tag to compare
  • Models can be automatically converted inside compound types like Optional, list, dict etc.
  • An error of loader, dumper, and converter generation contains a much more readable location
  • Add coercer for builtin iterables and dict.

See the full list of changes at changelog.

v3.0.0b3 — enhancing model conversion

08 Mar 17:26
Compare
Choose a tag to compare
  • Coercer can be added directly inside the link.
  • Added ability to link constant values and factories.
  • Better errors that the coercer was not found.
  • More automatic do-nothing coercion detection

See the full list of changes at changelog.

v3.0.0b2 — model conversion and sqlalchemy support

16 Feb 18:40
Compare
Choose a tag to compare
  • New major feature is out!
    Added support for model conversion! Now, you can generate boilerplate converter function by adaptix.
    See conversion tutorial for details.
  • Basic support for sqlalchemy models are added!
  • Added enum support inside Literal.
  • Added flags support.
  • Added defaultdict support.

See full list of changes at changelog.

v3.0.0b1

16 Dec 17:43
Compare
Choose a tag to compare
update repo url

2.13

09 Nov 18:54
Compare
Choose a tag to compare
  • Added NamedTuple support
  • Many standard types now can be parsed out of the box
  • Fix aliases to generic types
  • Fix parsing dataclasses which also implement collection protocol

2.12

09 Nov 18:54
Compare
Choose a tag to compare
  • Fix reusing Schema for several types