Fast JSON schema inference with support for Polars DataFrames.
This workspace contains multiple interconnected crates, most people will probably want the Python package:
- polars-genson-py/ - Python bindings and Polars plugin
pip install polars-genson[polars]import polars as pl
import polars_genson
df = pl.DataFrame({
"json_data": [
'{"name": "Alice", "age": 30, "scores": [95, 87]}',
'{"name": "Bob", "age": 25, "city": "NYC", "active": true}'
]
})
json_schema = df.genson.infer_json_schema("json_data")
polars_schema = df.genson.infer_polars_schema("json_data")- genson-core/ - Core JSON schema inference library
- polars-jsonschema-bridge/ - JSON Schema ↔ Polars type conversion
- genson-cli/ - Command-line schema inference tool
- Fast schema inference from JSON strings in Polars columns
- Dual output formats: JSON Schema and native Polars schemas
- Complex type support: nested objects, arrays, mixed types
- Multiple JSON formats: single objects, arrays, NDJSON
- Rust performance with Python convenience
Each component has detailed documentation:
- Python users: See polars-genson-py/README.md
- Rust developers: See individual crate READMEs
- Development: See DEVELOPMENT.md
Licensed under the MIT License. See LICENSE for details.