/ndjson

ndjson with the same interface as the builtin json module

Primary LanguagePythonOtherNOASSERTION

ndjson

Support for ndjson. Plain and simple.

  • Free software: GNU General Public License v3

Features

  • familiar interface
  • very small
  • no dependencies
  • works as advertised
  • has tests

Usage

ndjson exposes the same api as the builtin json and pickle packgages.

import ndjson

# load from file-like objects
with open('data.ndjson') as f:
    data = ndjson.load(f)

# convert to and from objects
text = ndjson.dumps(data)
data = ndjson.loads(text)

# dump to file-like objects
with open('backup.ndjson', 'w') as f:
    ndjson.dump(items, f)

It contains JSONEncoder and JSONDecoder classes for easy use with other libraries, such as requests:

import ndjson
import requests

response = requests.get('https://example.com/api/data')
items = response.json(cls=ndjson.Decoder)

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.