I/O Validations With Pydantic
from pydantic import BaseModel
from pyfuncmonitor import monitor_function
class User(BaseModel):
name: str
age: int
email: str
class UserResponse(BaseModel):
user: User
message: str
@monitor_function(validate_input=True, validate_output=True)
def create_user(user_data: User) -> UserResponse:
return UserResponse(
user=user_data,
message=f"User {user_data.name} created successfully"
)
# Usage
user = User(name="John Doe", age=30, email="john@example.com")
result = create_user(user)