Skip to main content

Python tools for JSONC and JSON5 (aka. JSON for humans)

Project description

json4humans

CI pre-commit.ci status Maintainability Test Coverage Documentation Status

Python tools for JSONC and JSON5 (aka. JSON for humans)

This package provider parsing and serialization (with style preservation) as well as linting, formatting and cli tools for JSON-derived syntaxes.

Getting started

Add json4humans as a dependency to your project:

# pip
pip install json4humans
# pipenv
pipenv install json4humans
# PDM
pdm add json4humans

Then import the proper module and use it like you would with the builtin json module:

from pathlib import Path
from json4humans import json

my_file = Path(__file__).parent / "my_file.json"

# Load data
with my_file.open() as f:
    data = json.load(f)

# Edit
data["attr"] = "value"

# Save with style preservation
with my_file.open("w") as out:
    json.dump(out, data)

Features

  • Manipulate all supported format with the exact same API. Currently supported:
  • Parsed data supports native types comparison while preserving style
  • Support serialization for both native types and provided JSONType
  • Supports formatting
  • Supports linting
  • All features availables as a standalone cli
  • Support jq-like queries

Documentation

Documentation is available at https://json4humans.rtfd.io

Contributing

Read the dedicated contributing guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

json4humans-0.1.0.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

json4humans-0.1.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file json4humans-0.1.0.tar.gz.

File metadata

  • Download URL: json4humans-0.1.0.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.1.0 CPython/3.10.5

File hashes

Hashes for json4humans-0.1.0.tar.gz
Algorithm Hash digest
SHA256 79f5fb997ffc93d464e2c56091842a840fa86835f174f73f67ab1ed5653c2330
MD5 8b445ec2a67a153bdff7745e6580f4ea
BLAKE2b-256 fe892b29b6182f8c100d530763413f9acad2a3711f8f7f308c517aa964fdc96d

See more details on using hashes here.

File details

Details for the file json4humans-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: json4humans-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.1.0 CPython/3.10.5

File hashes

Hashes for json4humans-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8762f56a0200ba71c5af70fb61d04f05369bec4a1da0f4d192dbf0411e589a86
MD5 db07cc97459d654bbef845ffa23e7f16
BLAKE2b-256 1a716063b4a50f2859f00807b61306f8f567a3ec68dc9d1d439ee03320f80ea4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page