Skip to main content

Simplify using JSONLines files alongside dataclasses.

Project description

jldc

Simplify using JSON Lines files alongside python dataclass (PEP-557) objects, with convenient one-line reads/writes.

check code workflow release workflow

usage

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)

installation

Install directly from GitHub, using pip:

pip install jldc

Use the ml extra to encode/decode the numpy.ndarray type:

pip install jldc[ml]

development

Fork and clone the repository code:

git clone https://github.com/itsluketwist/jldc.git

Once 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-files

testing

Run the test suite using:

pytest .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jldc-0.0.6.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

jldc-0.0.6-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page