JSON encoding/decoding for Numpy arrays and scalars
Project description
json-numpy
Description
json-numpy provides lossless and quick JSON encoding/decoding for NumPy arrays and scalars.
json-numpy follows Semantic Versioning.
Installation
json-numpy can be installed using pip:
$ pip install json-numpy
Usage
For a quick start, json_numpy can be used as a simple drop-in replacement of the built-in json module.
The dump(), load(), dumps() and loads() methods are implemented by wrapping the original methods and replacing the default encoder and decoder.
More information on the usage can be found in the json module's documentation.
import numpy as np
import json_numpy
arr = np.array([0, 1, 2])
encoded_arr_str = json_numpy.dumps(arr)
decoded_arr = json_numpy.loads(encoded_arr_str)
Another way of using json_numpy is to explicitly use the provided encoder and decoder functions in conjunction with the json module.
import json
import numpy as np
from json_numpy import default, object_hook
arr = np.array([0, 1, 2])
encoded_arr_str = json.dumps(arr, default=default)
decoded_arr = json.loads(encoded_arr_str, object_hook=object_hook)
Finally, the last way of using json_numpy is by monkey patching the json module after importing it first:
import json
import numpy as np
import json_numpy
json_numpy.patch()
arr = np.array([0, 1, 2])
encoded_arr_str = json.dumps(arr)
decoded_arr = json.loads(encoded_arr_str)
This method can be used to change the behavior of a module depending on the json module without editing its code.
Tests
The simplest way to run tests is:
$ python -m unittest
As a more robust alternative, you can install tox to automatically test across the supported python versions, then run:
$ tox
Issue tracker
Please report any bugs or enhancement ideas using the issue tracker.
License
json-numpy is licensed under the terms of the MIT License (see LICENSE.txt for more information).
Project details
Release history Release notifications | RSS feed
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 json_numpy-2.1.1.tar.gz.
File metadata
- Download URL: json_numpy-2.1.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e6260fc29626e7a6a60d52a1f9ad8f522a9051f57ac55d5dfdeeaba55d4a835
|
|
| MD5 |
4186102ef78434bb17b883029714b6a6
|
|
| BLAKE2b-256 |
8341c37467c113c72742501c45974f70efbec94243cd357b93e18a1dc205a54a
|
File details
Details for the file json_numpy-2.1.1-py3-none-any.whl.
File metadata
- Download URL: json_numpy-2.1.1-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91e45b756c1345f478651c3d7e767a7488335f34a3d500ef7829b917a8043c28
|
|
| MD5 |
79a7bc9827ae4c8b7bfe03a808b48338
|
|
| BLAKE2b-256 |
cc617bec579093bc5f8da7f308a319e0d9372409f4bc0f7ea95588051b8cf139
|