Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixes json schema issue #1704

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

imseananriley
Copy link

fixes #1677

Signed-off-by: imseananriley <[email protected]>
Copy link

codecov bot commented Jun 25, 2024

Codecov Report

Attention: Patch coverage is 12.50000% with 7 lines in your changes missing coverage. Please review.

Project coverage is 72.45%. Comparing base (812b2a8) to head (5dd3d6b).
Report is 102 commits behind head on main.

Files Patch % Lines
pandera/typing/pandas.py 12.50% 7 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (812b2a8) and HEAD (5dd3d6b). Click for more details.

HEAD has 52 uploads more than BASE | Flag | BASE (812b2a8) | HEAD (5dd3d6b) | |------|------|------| ||48|100|
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1704       +/-   ##
===========================================
- Coverage   94.28%   72.45%   -21.84%     
===========================================
  Files          91      117       +26     
  Lines        7013     8690     +1677     
===========================================
- Hits         6612     6296      -316     
- Misses        401     2394     +1993     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@cosmicBboy
Copy link
Collaborator

thanks @imseananriley ! looks like there are some failing unit tests. please take a look at the contributing guide to see how to run local tests. You'll need to install mamba:

conda install -c conda-forge mamba

And do nox --list to see which test you want to run. For example:

nox -db mamba --envdir .nox-mamba -s "tests(extra='geopandas', pydantic='2.3.0', python='3.9', pandas='2.2.2')"

@cosmicBboy cosmicBboy mentioned this pull request Jan 23, 2025
2 tasks
with config_context(validation_enabled=False):
schema_model = _source_type().__orig_class__.__args__[0]
if (schema_model.Config.from_format == "dict") and (
schema_model.Config.from_format_kwargs == {"orient": "records"}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wondering do we have to make similar changes in pandera/api/dataframe/model.py ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imseananriley -- I tried running the below code based on your branch and I still get the same error

import pandas as pd
import pandera as pa
from pandera.typing import DataFrame, Series

from pydantic_core import core_schema, CoreSchema
from pydantic import GetCoreSchemaHandler, BaseModel
from typing import TypeVar, Generic, Any


class SimpleSchema(pa.DataFrameModel):
    str_col: Series[str]

class PydanticModel(BaseModel):
    x: int
    df: SimpleSchema

print(PydanticModel.model_json_schema())

I got following error


---------------------------------------------------------------------------
PydanticInvalidForJsonSchema              Traceback (most recent call last)
Cell In[2], [line 17](vscode-notebook-cell:?execution_count=2&line=17)
     [14](vscode-notebook-cell:?execution_count=2&line=14)     x: int
     [15](vscode-notebook-cell:?execution_count=2&line=15)     df: DataFrame[SimpleSchema]
---> [17](vscode-notebook-cell:?execution_count=2&line=17) print(PydanticModel.model_json_schema())

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:433, in BaseModel.model_json_schema(cls, by_alias, ref_template, schema_generator, mode)
    [413](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:413) @classmethod
    [414](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:414) def model_json_schema(
    [415](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:415)     cls,
   (...)
    [419](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:419)     mode: JsonSchemaMode = 'validation',
    [420](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:420) ) -> dict[str, Any]:
    [421](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:421)     """Generates a JSON schema for a model class.
    [422](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:422) 
    [423](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:423)     Args:
   (...)
    [431](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:431)         The JSON schema for the given model class.
    [432](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:432)     """
--> [433](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:433)     return model_json_schema(
    [434](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:434)         cls, by_alias=by_alias, ref_template=ref_template, schema_generator=schema_generator, mode=mode
    [435](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:435)     )

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:2241, in model_json_schema(cls, by_alias, ref_template, schema_generator, mode)
   [2239](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:2239)     raise AttributeError('model_json_schema() must be called on a subclass of BaseModel, not BaseModel itself.')
   [2240](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:2240) assert '__pydantic_core_schema__' in cls.__dict__, 'this is a bug! please report it'
-> [2241](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:2241) return schema_generator_instance.generate(cls.__pydantic_core_schema__, mode=mode)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:412, in GenerateJsonSchema.generate(self, schema, mode)
    [405](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:405) if self._used:
    [406](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:406)     raise PydanticUserError(
    [407](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:407)         'This JSON schema generator has already been used to generate a JSON schema. '
    [408](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:408)         f'You must create a new instance of {type(self).__name__} to generate a new JSON schema.',
    [409](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:409)         code='json-schema-already-used',
    [410](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:410)     )
--> [412](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:412) json_schema: JsonSchemaValue = self.generate_inner(schema)
    [413](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:413) json_ref_counts = self.get_json_ref_counts(json_schema)
    [415](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:415) # Remove the top-level $ref if present; note that the _generate method already ensures there are no sibling keys

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:551, in GenerateJsonSchema.generate_inner(self, schema)
    [547](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:547)         return json_schema
    [549](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:549)     current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, new_handler_func)
--> [551](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:551) json_schema = current_handler(schema)
    [552](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:552) if _core_utils.is_core_schema(schema):
    [553](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:553)     json_schema = populate_defs(schema, json_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36, in GenerateJsonSchemaHandler.__call__(self, core_schema)
     [35](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:35) def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue:
---> [36](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36)     return self.handler(core_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:525, in GenerateJsonSchema.generate_inner.<locals>.new_handler_func(schema_or_field, current_handler, js_modify_function)
    [520](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:520) def new_handler_func(
    [521](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:521)     schema_or_field: CoreSchemaOrField,
    [522](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:522)     current_handler: GetJsonSchemaHandler = current_handler,
    [523](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:523)     js_modify_function: GetJsonSchemaFunction = js_modify_function,
    [524](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:524) ) -> JsonSchemaValue:
--> [525](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:525)     json_schema = js_modify_function(schema_or_field, current_handler)
    [526](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:526)     if _core_utils.is_core_schema(schema_or_field):
    [527](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:527)         json_schema = populate_defs(schema_or_field, json_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:652, in BaseModel.__get_pydantic_json_schema__(cls, core_schema, handler)
    [628](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:628) @classmethod
    [629](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:629) def __get_pydantic_json_schema__(
    [630](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:630)     cls,
   (...)
    [633](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:633)     /,
    [634](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:634) ) -> JsonSchemaValue:
    [635](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:635)     """Hook into generating the model's JSON schema.
    [636](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:636) 
    [637](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:637)     Args:
   (...)
    [650](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:650)         A JSON schema, as a Python object.
    [651](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:651)     """
--> [652](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/main.py:652)     return handler(core_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36, in GenerateJsonSchemaHandler.__call__(self, core_schema)
     [35](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:35) def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue:
---> [36](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36)     return self.handler(core_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:525, in GenerateJsonSchema.generate_inner.<locals>.new_handler_func(schema_or_field, current_handler, js_modify_function)
    [520](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:520) def new_handler_func(
    [521](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:521)     schema_or_field: CoreSchemaOrField,
    [522](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:522)     current_handler: GetJsonSchemaHandler = current_handler,
    [523](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:523)     js_modify_function: GetJsonSchemaFunction = js_modify_function,
    [524](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:524) ) -> JsonSchemaValue:
--> [525](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:525)     json_schema = js_modify_function(schema_or_field, current_handler)
    [526](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:526)     if _core_utils.is_core_schema(schema_or_field):
    [527](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:527)         json_schema = populate_defs(schema_or_field, json_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:220, in modify_model_json_schema(schema_or_field, handler, cls)
    [217](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:217) from ..main import BaseModel
    [218](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:218) from ..root_model import RootModel
--> [220](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:220) json_schema = handler(schema_or_field)
    [221](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:221) original_schema = handler.resolve_ref_schema(json_schema)
    [222](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:222) # Preserve the fact that definitions schemas should never have sibling keys:

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36, in GenerateJsonSchemaHandler.__call__(self, core_schema)
     [35](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:35) def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue:
---> [36](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36)     return self.handler(core_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:508, in GenerateJsonSchema.generate_inner.<locals>.handler_func(schema_or_field)
    [506](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:506) if _core_utils.is_core_schema(schema_or_field) or _core_utils.is_core_schema_field(schema_or_field):
    [507](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:507)     generate_for_schema_type = self._schema_type_to_method[schema_or_field['type']]
--> [508](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:508)     json_schema = generate_for_schema_type(schema_or_field)
    [509](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:509) else:
    [510](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:510)     raise TypeError(f'Unexpected schema type: schema={schema_or_field}')

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1392, in GenerateJsonSchema.model_schema(self, schema)
   [1389](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1389) title = config.get('title')
   [1391](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1391) with self._config_wrapper_stack.push(config):
-> [1392](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1392)     json_schema = self.generate_inner(schema['schema'])
   [1394](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1394) json_schema_extra = config.get('json_schema_extra')
   [1395](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1395) if cls.__pydantic_root_model__:

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:551, in GenerateJsonSchema.generate_inner(self, schema)
    [547](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:547)         return json_schema
    [549](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:549)     current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, new_handler_func)
--> [551](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:551) json_schema = current_handler(schema)
    [552](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:552) if _core_utils.is_core_schema(schema):
    [553](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:553)     json_schema = populate_defs(schema, json_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36, in GenerateJsonSchemaHandler.__call__(self, core_schema)
     [35](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:35) def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue:
---> [36](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36)     return self.handler(core_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:508, in GenerateJsonSchema.generate_inner.<locals>.handler_func(schema_or_field)
    [506](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:506) if _core_utils.is_core_schema(schema_or_field) or _core_utils.is_core_schema_field(schema_or_field):
    [507](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:507)     generate_for_schema_type = self._schema_type_to_method[schema_or_field['type']]
--> [508](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:508)     json_schema = generate_for_schema_type(schema_or_field)
    [509](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:509) else:
    [510](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:510)     raise TypeError(f'Unexpected schema type: schema={schema_or_field}')

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1484, in GenerateJsonSchema.model_fields_schema(self, schema)
   [1482](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1482) if self.mode == 'serialization':
   [1483](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1483)     named_required_fields.extend(self._name_required_computed_fields(schema.get('computed_fields', [])))
-> [1484](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1484) json_schema = self._named_required_fields_schema(named_required_fields)
   [1485](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1485) extras_schema = schema.get('extras_schema', None)
   [1486](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1486) if extras_schema is not None:

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1295, in GenerateJsonSchema._named_required_fields_schema(self, named_required_fields)
   [1293](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1293)     name = self._get_alias_name(field, name)
   [1294](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1294) try:
-> [1295](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1295)     field_json_schema = self.generate_inner(field).copy()
   [1296](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1296) except PydanticOmit:
   [1297](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1297)     continue

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:551, in GenerateJsonSchema.generate_inner(self, schema)
    [547](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:547)         return json_schema
    [549](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:549)     current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, new_handler_func)
--> [551](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:551) json_schema = current_handler(schema)
    [552](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:552) if _core_utils.is_core_schema(schema):
    [553](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:553)     json_schema = populate_defs(schema, json_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36, in GenerateJsonSchemaHandler.__call__(self, core_schema)
     [35](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:35) def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue:
---> [36](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36)     return self.handler(core_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:543, in GenerateJsonSchema.generate_inner.<locals>.new_handler_func(schema_or_field, current_handler, js_modify_function)
    [538](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:538) def new_handler_func(
    [539](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:539)     schema_or_field: CoreSchemaOrField,
    [540](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:540)     current_handler: GetJsonSchemaHandler = current_handler,
    [541](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:541)     js_modify_function: GetJsonSchemaFunction = js_modify_function,
    [542](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:542) ) -> JsonSchemaValue:
--> [543](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:543)     json_schema = js_modify_function(schema_or_field, current_handler)
    [544](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:544)     if _core_utils.is_core_schema(schema_or_field):
    [545](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:545)         json_schema = populate_defs(schema_or_field, json_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:2184, in get_json_schema_update_func.<locals>.json_schema_update_func(core_schema_or_field, handler)
   [2181](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:2181) def json_schema_update_func(
   [2182](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:2182)     core_schema_or_field: CoreSchemaOrField, handler: GetJsonSchemaHandler
   [2183](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:2183) ) -> JsonSchemaValue:
-> [2184](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:2184)     json_schema = {**handler(core_schema_or_field), **json_schema_update}
   [2185](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:2185)     add_json_schema_extra(json_schema, json_schema_extra)
   [2186](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py:2186)     return json_schema

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36, in GenerateJsonSchemaHandler.__call__(self, core_schema)
     [35](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:35) def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue:
---> [36](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36)     return self.handler(core_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:508, in GenerateJsonSchema.generate_inner.<locals>.handler_func(schema_or_field)
    [506](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:506) if _core_utils.is_core_schema(schema_or_field) or _core_utils.is_core_schema_field(schema_or_field):
    [507](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:507)     generate_for_schema_type = self._schema_type_to_method[schema_or_field['type']]
--> [508](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:508)     json_schema = generate_for_schema_type(schema_or_field)
    [509](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:509) else:
    [510](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:510)     raise TypeError(f'Unexpected schema type: schema={schema_or_field}')

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1363, in GenerateJsonSchema.model_field_schema(self, schema)
   [1354](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1354) def model_field_schema(self, schema: core_schema.ModelField) -> JsonSchemaValue:
   [1355](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1355)     """Generates a JSON schema that matches a schema that defines a model field.
   [1356](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1356) 
   [1357](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1357)     Args:
   (...)
   [1361](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1361)         The generated JSON schema.
   [1362](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1362)     """
-> [1363](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1363)     return self.generate_inner(schema['schema'])

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:551, in GenerateJsonSchema.generate_inner(self, schema)
    [547](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:547)         return json_schema
    [549](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:549)     current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, new_handler_func)
--> [551](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:551) json_schema = current_handler(schema)
    [552](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:552) if _core_utils.is_core_schema(schema):
    [553](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:553)     json_schema = populate_defs(schema, json_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36, in GenerateJsonSchemaHandler.__call__(self, core_schema)
     [35](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:35) def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue:
---> [36](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py:36)     return self.handler(core_schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:508, in GenerateJsonSchema.generate_inner.<locals>.handler_func(schema_or_field)
    [506](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:506) if _core_utils.is_core_schema(schema_or_field) or _core_utils.is_core_schema_field(schema_or_field):
    [507](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:507)     generate_for_schema_type = self._schema_type_to_method[schema_or_field['type']]
--> [508](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:508)     json_schema = generate_for_schema_type(schema_or_field)
    [509](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:509) else:
    [510](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:510)     raise TypeError(f'Unexpected schema type: schema={schema_or_field}')

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1019, in GenerateJsonSchema.function_plain_schema(self, schema)
   [1010](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1010) def function_plain_schema(self, schema: core_schema.PlainValidatorFunctionSchema) -> JsonSchemaValue:
   [1011](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1011)     """Generates a JSON schema that matches a function-plain schema.
   [1012](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1012) 
   [1013](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1013)     Args:
   (...)
   [1017](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1017)         The generated JSON schema.
   [1018](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1018)     """
-> [1019](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:1019)     return self._function_schema(schema)

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:984, in GenerateJsonSchema._function_schema(self, schema)
    [981](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:981)     return self.generate_inner(schema['schema'])
    [983](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:983) # function-plain
--> [984](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:984) return self.handle_invalid_for_json_schema(
    [985](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:985)     schema, f'core_schema.PlainValidatorFunctionSchema ({schema["function"]})'
    [986](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:986) )

File ~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:2152, in GenerateJsonSchema.handle_invalid_for_json_schema(self, schema, error_info)
   [2151](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:2151) def handle_invalid_for_json_schema(self, schema: CoreSchemaOrField, error_info: str) -> JsonSchemaValue:
-> [2152](https://file+.vscode-resource.vscode-cdn.net/Users/Ragrawa/pandera_sr/~/pandera_sr/.venv/pandera-dev/lib/python3.11/site-packages/pydantic/json_schema.py:2152)     raise PydanticInvalidForJsonSchema(f'Cannot generate a JsonSchema for {error_info}')

PydanticInvalidForJsonSchema: Cannot generate a JsonSchema for core_schema.PlainValidatorFunctionSchema ({'type': 'no-info', 'function': functools.partial(<bound method DataFrame.pydantic_validate of <class 'pandera.typing.pandas.DataFrame'>>, schema_model=SimpleSchema)})

For further information visit https://errors.pydantic.dev/2.7/u/invalid-for-json-schema

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pydantic compatibility issue
3 participants