Extended JSON encoder for Python data structures
Project description
json-ext-encoder
Extended JSON encoder for Python data structures.
A subclass of JSONEncoder, it handles these additional types:
datetime.datetime
— a string of the formYYYY-MM-DDTHH:mm:ss.sssZ
orYYYY-MM-DDTHH:mm:ss.sss+HH:MM
as defined in ECMA-262.datetime.date
— a string of the formYYYY-MM-DD
as defined in ECMA-262.datetime.time
— a string of the formHH:MM:ss.sss
as defined in ECMA-262.datetime.timedelta
- a string representing a duration as defined in ISO-8601. For example,timedelta(days=1, hours=2, seconds=3.4)
is represented asP1DT02H00M03.400000S
.decimal.Decimal
,uuid.UUID
— a string representation of the object.enum.Enum
— a.value
property of enum member.
Installation
$ pip install json-ext-encoder
Usage
import json
from json_ext_encoder import JSONEncoder
json.dumps({...}, cls=JSONEncoder)
Contributing
To work on the json-ext-encoder
codebase, you'll want to clone the project locally and install the required dependencies via poetry:
$ git clone git@github.com:Gr1N/json-ext-encoder.git
$ poetry install
To run tests and linters use command below:
$ poetry run tox
If you want to run only tests or linters you can explicitly specify which test environment you want to run, e.g.:
$ poetry run tox -e py37-tests
License
json-ext-encoder
is licensed under the MIT license. See the license file for details.
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
json-ext-encoder-0.2.0.tar.gz
(3.8 kB
view hashes)
Built Distribution
Close
Hashes for json_ext_encoder-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 699a0c8efd4e1af1e6cc737f9ed06dd6acc8d5028605e5b2a016d841d9c439a5 |
|
MD5 | 6696de4b9da2d37bb6b7baa6ad44e6d4 |
|
BLAKE2b-256 | 543d5372d4cd790a35be371c90359cea9683aacd7d4e6415fa849ae97d679381 |