Simplify using JSON Lines files alongside python dataclass (PEP-557) objects, with convenient one-line reads/writes.
Import the library and save/load lists of dataclasses or dictionaries with a single line.
from jldc.core import load_jsonl, save_jsonl
from dataclasses import dataclass
@dataclass
class Person:
name: str
age: int
save_jsonl("people.jsonl", [Person("Alice", 24), Person("Bob", 32)])
data = load_jsonl("people.jsonl", [Person])
print(data)Install directly from PyPI using pip:
pip install jldcUse the ml extra to encode/decode the numpy.ndarray type:
pip install jldc[ml]Fork and clone the repository code:
git clone https://github.com/itsluketwist/jldc.gitOnce cloned, install the package locally in a virtual environment:
python -m venv venv
. venv/bin/activate
pip install -e ".[dev,ml]"Install and use pre-commit to ensure code is in a good state:
pre-commit install
pre-commit autoupdate
pre-commit run --all-filesRun the test suite using:
pytest .