Skip to main content

Automatic Pydantic model generation and validation for function parameters and return types.

Project description

auto-pydantic

  • Author : Sonnet3.5
  • Editor : Sisung Kim

auto-pydantic is a Python module that provides automatic Pydantic model generation and validation for function parameters and return types.

Features

  • Generate Pydantic input models from function signatures
  • Generate Pydantic output models from function return types
  • Automatic validation of function inputs using generated Pydantic models
  • Support for simple and complex function signatures, including *args and **kwargs

Installation

To install crimson-auto-pydantic, you can use pip:

pip install acrimson-auto-pydantic

Usage

Generating Input Props

from crimson.auto_pydantic.generator import generate_input_props

def my_function(arg1: int, arg2: str = "default") -> str:
    return f"{arg1} {arg2}"

input_props = generate_input_props(my_function)
print(input_props)

Generating Output Props

from crimson.auto_pydantic.generator import generate_output_props

def my_function(arg1: int, arg2: str = "default") -> str:
    return f"{arg1} {arg2}"

output_props = generate_output_props(my_function)
print(output_props)

Validating Function Inputs

from crimson.auto_pydantic.validator import validate
from inspect import currentframe

def my_function(arg1: int, arg2: str = "default") -> str:
    validate(my_function, currentframe(), arg1, arg2)
    return f"{arg1} {arg2}"

# This will pass validation
my_function(1, "test")

# This will raise a validation error
my_function("not an int", "test")

Project details


Download files

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

Source Distribution

crimson_auto_pydantic-0.1.7.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

crimson_auto_pydantic-0.1.7-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file crimson_auto_pydantic-0.1.7.tar.gz.

File metadata

  • Download URL: crimson_auto_pydantic-0.1.7.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for crimson_auto_pydantic-0.1.7.tar.gz
Algorithm Hash digest
SHA256 289be25d79ca062b5104079d114dedaeca7b4225b6ca5798ebe2e31594528453
MD5 37ac0fa090c8a44dc4b03976eaad7b56
BLAKE2b-256 b5a8c0248a1eec2f11a4e64ddf72bfd71bf0603d41dc3f3d437df670e8771edf

See more details on using hashes here.

File details

Details for the file crimson_auto_pydantic-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for crimson_auto_pydantic-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 581c79b2e8da2a007dcca4b8f81a7680949d6181209277cc8a93a851bb82637a
MD5 d53bffda931ad6a63794eb3547bd312b
BLAKE2b-256 22e5ac69e7043c990005e42c3002367e6c346155c7e3cf2846875a999484fff6

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