Skip to main content

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

vexy_json-1.5.13.tar.gz (183.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vexy_json-1.5.13-cp312-cp312-macosx_11_0_arm64.whl (310.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Hashes for vexy_json-1.5.13.tar.gz
Algorithm Hash digest
SHA256 0fcdd8975d1c0327de349cd56d4ffecbf0571624d1ac57bb6c122fdb39a21a4f
MD5 a72ac1d4c4c51f30b6a2b75ca0c22df0
BLAKE2b-256 61a9c99cf7676f0ba7389cb07b2af8b5978d14421a6968f5c5e1b3073efbe7d0

See more details on using hashes here.

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

Hashes for vexy_json-1.5.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23c2d40a9f8c5ad0d42425eb71e1a3569b68ae163f534c37fa6b3388a2bd4521
MD5 29c15dcc056b208539a6ed890489d3d5
BLAKE2b-256 94a1449a6149a38fc44f3a5a3d2fff3f1307a1b71597f56fa14410169cd6cbc3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page