Skip to content

v3.0.0b11 — Redesigned error rendering

Latest

Choose a tag to compare

@zhPavel zhPavel released this 09 May 15:11
· 1 commit to main since this release
0e41325
  • Completely redesigned error rendering system. All errors related to loader, dumper, and converter generation now utilize a new compact and intuitive display format. Error messages have also been substantially improved for clarity.

    Old error:

       | adaptix.AggregateCannotProvide: Cannot create loader for model. Loaders for some fields cannot be created (1 sub-exception)
       | Location: `Book`
       +-+---------------- 1 ----------------
         | adaptix.AggregateCannotProvide: Cannot create loader for model. Cannot fetch InputNameLayout (1 sub-exception)
         | Location: `Book.author: Person`
         +-+---------------- 1 ----------------
           | adaptix.CannotProvide: Required fields ['last_name'] are skipped
           | Location: `Book.author: Person`
           +------------------------------------
    
     The above exception was the direct cause of the following exception:
    
     Traceback (most recent call last):
       ...
     adaptix.ProviderNotFoundError: Cannot produce loader for type <class '__main__.Book'>
     Note: The attached exception above contains verbose description of the problem
    

    New error:

     Traceback (most recent call last):
       ...
     adaptix.ProviderNotFoundError: Cannot produce loader for type <class '__main__.Book'>
       × Cannot create loader for model. Loaders for some fields cannot be created
       │ Location: ‹Book›
       ╰──▷ Cannot create loader for model. Cannot fetch `InputNameLayout`
          │ Location: ‹Book.author: Person›
          ╰──▷ Required fields ['last_name'] are skipped
    
  • Fix some nasty bugs with parametrized Pydantic models and parametrized TypeAlias

  • Minor backwards incompatible changes

See the full list of changes at changelog.