Comments (7)
This looks like a duplicate of #1395, correct?
from pandera.
My bad I forgot to specify that I was using pydantic v1 (1.10.2). So no it is not a duplicate
from pandera.
Gotcha. Feel free to try and debug this and opening a PR for a fix!
The part of the codebase that creates the json schema representation is here
from pandera.
Thanks, I'll have a look on it
from pandera.
@tkaraouzene did you have any success getting pandera to work with generating openapi schema accurately using pydantic v1 and fastapi? I am having a similar issue where I am orienting the dataframe as records (list) but openapi is generating a schema where each column is an array like:
"year_id": {
"type": "array",
"items": {
"type": "integer"
}
},
My actual response model is returned as a list of record objects that each have a year_id, etc. , which doesn't match the schema being generated.
from pandera.
The state of the json_schema support is still the same as before, see this issue: #1395
Would welcome any PRs to actually fix the to_json_schema function here:
pandera/pandera/api/pandas/model.py
Lines 651 to 661 in cf6b5e4
from pandera.
Ok, thanks. In the meantime is there a recommended way to override the _to_json_schema function to explicitly specify the schema? Alternatively, would returning a dataframe model with
class Config:
to_format = "dict"
to_format_kwargs = {"orient": "list"}
match the way that the schema is currently generated with columns as arrays?
Edit: using the above kwargs worked for me to make my responses match the way pandera generates the openapi schema
from pandera.
Related Issues (20)
- NaNs in boolean column coerced to True, nullable and default parameters are ignored
- Pandera is very slow to import when optional dependencies are installed HOT 2
- Missing `reason_code` when using custom checks with PySpark dataframes HOT 1
- Finite values in `pl.DataFrame` HOT 2
- Optional import hypotheses doesn't install hypothesis HOT 3
- Custom Check Methods don't support custom error (any more)
- Unexpected behavior when validating date objects. pandera=0.19.1
- Compatibility issues with Pandas HOT 3
- pandera not compatible with numpy 2.0 HOT 2
- `SchemaFieldNotFoundError` with custom check function if no alias is provided.
- Adding missing columns with a string default
- Scalar return for check in polars-backed model fails on validation with `lazy=True`
- Setting `coerce` on a column causes the column to be `required` when `required=False` HOT 1
- Support Data synthesis strategies for polars
- Polars checks not being evaluated correctly
- Pyinstaller build fails when using pydantic version 2.*
- `dataframe_parser`s that rename columns conflict with type coercion
- Wrong JSON output from `SchemaErrors.message`
- Is it possible to create a check function that accepts additional arguments?
- Why is pa.String returned as 'str' instead of 'string' when used with Columns? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pandera.