Skip to main content

This code simplifies the conversion of Pydantic schemas into Aiogram handler groups, making it easy to create form-filling handlers.

Project description

Pydantic-handler-converter

This code simplifies the conversion of Pydantic schemas into Aiogram handler groups, making it easy to create form-filling handlers.

Installation

    pip install pydantic_handler_converter

Usage:

>>> from enum import Enum
>>> from pydantic import BaseModel
>>> from pydantic_handler_converter import BasePydanticFormHandlers
>>>
>>> # Simple datatypes schema 
>>> class PersonPydanticFormSchema(BaseModel):
...     name: str
...     age: int
...     height: float 
... 

>>> class PersonFormHanlders(BasePydanticFormHandlers[PersonPydanticFormSchema]):
...     pass
...
...
>>> assert PersonFormHanlders.Schema == PersonPydanticFormSchema
>>> dirs = dir(PersonFormHanlders)
>>> assert len(tuple(filter(lambda x: not x in dirs, ['_name_view', '_age_view', '_height_view']))) == 0


>>> class Mood(Enum):
...     HAPPY = "😄 Happy"
...     SAD = "😢 Sad"
...     EXCITED = "🤩 Excited"
...     RELAXED = "😌 Relaxed"
...
>>>
>>>
>>>  # Enum datatype schema
>>> class PersonMoodPydanticFormSchema(BaseModel):
...     name: str
...     current_mood: Mood
...
>>> class PersonMoodFormHanlders(BasePydanticFormHandlers[PersonMoodPydanticFormSchema]): 
...     pass
...
...
>>> assert PersonMoodFormHanlders.Schema == PersonMoodPydanticFormSchema
>>> dirs = dir(PersonMoodFormHanlders)
>>> assert len(tuple(filter(lambda x: not x in dirs, ['_name_view', '_current_mood_view']))) == 0

Project details


Release history Release notifications | RSS feed

This version

0.1.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydantic_handler_converter-0.1.5.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file pydantic_handler_converter-0.1.5.tar.gz.

File metadata

  • Download URL: pydantic_handler_converter-0.1.5.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.6 Linux/5.15.0-1047-azure

File hashes

Hashes for pydantic_handler_converter-0.1.5.tar.gz
Algorithm Hash digest
SHA256 85863f66fd58028dffec7bf3e254c6c7e249c2f7a9c329073c9b6141b42f7d88
MD5 c7b9763481fe808fc2958f494d8d1002
BLAKE2b-256 0206fdf71a2f069115b91ddfc90fd290c624cdff2344b91e2e14e114cc627354

See more details on using hashes here.

File details

Details for the file pydantic_handler_converter-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for pydantic_handler_converter-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 12b8674de7ea5d17cd437fda351b5a88ca626f8127fb344520fd5a5e19d1df58
MD5 bad57f7dc4b376feae332078f96901fe
BLAKE2b-256 b130ad19e794213a591a39efdaf215b9808e7fa62981cf8a7750add28cb3225a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page