Vexy JSON for Python
Parse configuration files, hand-edited data, and LLM-generated JSON without pre-cleaning the text first. Vexy JSON accepts strict JSON plus comments, trailing commas, unquoted keys, single quotes, implicit containers, newline separators, and extended number formats. A Rust engine performs the parsing and returns ordinary Python values.
Install
uv add vexy-json
# or: python -m pip install vexy-json
The PyPI distribution is named vexy-json; Python imports use vexy_json.
Parse
import vexy_json
settings = vexy_json.parse("""
{
// readable configuration
environment: 'preview',
retries: 3,
regions: ['eu', 'us',],
}
""")
assert settings["environment"] == "preview"
Use keyword options when an input boundary must be stricter:
strict = vexy_json.parse_with_options(
'{"ready": true}',
allow_comments=False,
allow_trailing_commas=False,
allow_unquoted_keys=False,
allow_single_quotes=False,
implicit_top_level=False,
newline_as_comma=False,
enable_repair=False,
)
The package also provides load, loads, dump, dumps, is_valid, an
NDJSON-capable StreamingParser, and optional NumPy and pandas conversion
helpers. It ships inline typing information for editors and type checkers.
Documentation
Complete guides, option tables, Rust documentation, and troubleshooting are at vexy.dev/vexy-json.
Source and issue tracking live at github.com/vexyart/vexy-json.
Licensed under MIT or Apache-2.0, at your option.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vexy_json-1.5.13.tar.gz.
File metadata
- Download URL: vexy_json-1.5.13.tar.gz
- Upload date:
- Size: 183.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fcdd8975d1c0327de349cd56d4ffecbf0571624d1ac57bb6c122fdb39a21a4f
|
|
| MD5 |
a72ac1d4c4c51f30b6a2b75ca0c22df0
|
|
| BLAKE2b-256 |
61a9c99cf7676f0ba7389cb07b2af8b5978d14421a6968f5c5e1b3073efbe7d0
|
File details
Details for the file vexy_json-1.5.13-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: vexy_json-1.5.13-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 310.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23c2d40a9f8c5ad0d42425eb71e1a3569b68ae163f534c37fa6b3388a2bd4521
|
|
| MD5 |
29c15dcc056b208539a6ed890489d3d5
|
|
| BLAKE2b-256 |
94a1449a6149a38fc44f3a5a3d2fff3f1307a1b71597f56fa14410169cd6cbc3
|