Skip to content

About

Applying JSON Patches in Python

Topics

Resources

Stars

499 stars

Watchers

6 watching

Forks

Repository files navigation

python-json-patch

PyPI version Supported Python versions Build Status Coverage Status

Applying JSON Patches in Python

Library to apply JSON Patches according to RFC 6902

See source code for examples

Type hints

jsonpatch ships type stubs (in the jsonpatch-stubs directory, as jsonpatch.py is a single-file module), so type checkers such as mypy and pyright work with it without further setup. JSON documents are typed as Any.

When changing the public API of jsonpatch.py, update jsonpatch-stubs/__init__.pyi as well. These check that both agree, and that typical usage in typetests/usage.py type-checks:

pip install mypy .
python -m mypy.stubtest --mypy-config-file pyproject.toml jsonpatch
cd typetests && mypy --config-file ../pyproject.toml usage.py

Running external tests

To run external tests (such as those from https://github.com/json-patch/json-patch-tests) use ext_tests.py

./ext_tests.py ../json-patch-tests/tests.json

Running property-based tests

Property-based tests using Hypothesis are in property_tests.py. Properties that the implementation does not satisfy yet are marked as expected failures.

pip install hypothesis
python property_tests.py

Set HYPOTHESIS_PROFILE=thorough to run many more examples.

About

Applying JSON Patches in Python

Topics

Resources

Stars

499 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages