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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file jldc-0.0.6.tar.gz.

File metadata

  • Download URL: jldc-0.0.6.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for jldc-0.0.6.tar.gz
Algorithm Hash digest
SHA256 4b009a802d29e62680b6071ee2c78ed3e19da920df0c472bdfaf2871ca146cd3
MD5 7d53e045949d33373d6b4b14dcd1fac0
BLAKE2b-256 f2c8298f3fcf2902bbb088fbcb99375f6d72b385e50c4b6e3a396a3bdf816e0d

See more details on using hashes here.

File details

Details for the file jldc-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: jldc-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for jldc-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5a2bdff6fafd5452dba1fb0fbcb3ef37a3613ed107c518744b38b5211860467b
MD5 85dc4711fe67ff4a592813b8eb8e31a0
BLAKE2b-256 3e5db389238ecb96a35b108b151c17b6e055cb023fdd994edcda4e8e820af9e7

See more details on using hashes here.

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