Simplify using JSONLines files alongside dataclasses.
Project description
jldc
Simplify using JSON Lines files alongside python dataclass ([PEP-557][pep-557]) objects, with convenient one-line reads/writes.
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 'git+https://github.com/itsluketwist/jldc'
Use the ml
extra to encode/decode the numpy.ndarray
type:
pip install 'jldc[ml]@git+https://github.com/itsluketwist/jldc'
development
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
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
jldc-0.0.5.tar.gz
(5.8 kB
view hashes)
Built Distribution
jldc-0.0.5-py3-none-any.whl
(6.3 kB
view hashes)