utilities for working with newline delimited JSON (NDJSON) files
Project description
Utilities for working with newline delimited JSON (NDJSON) files.
Latest release 20211208: Initial PyPI release.
Function append_ndjson(arg, *a, **kw)
Append an iterable of objects to a file as newline delimited JSON.
Function scan_ndjson(arg, *a, **kw)
Read a newline delimited JSON file, yield instances of dictclass
(default dict, otherwise a class which can be instantiated
by dictclass(a_dict)).
error_list is an optional list to accrue (lineno,exception) tuples
for errors encountered during the scan.
Class UUIDNDJSONMapping(cs.obj.SingletonMixin,cs.mappings.IndexedSetMixin)
A subclass of IndexedSetMixin which maintains records
from a newline delimited JSON file.
Method UUIDNDJSONMapping.__init__(self, filename, dictclass=<class 'cs.mappings.UUIDedDict'>, create=False)
Initialise the mapping.
Parameters:
filename: the file containing the newline delimited JSON data; this need not yet existdictclass: a optionaldictsubclass to hold each record, defaultUUIDedDictcreate: if true, ensure the file exists by transiently opening it for append if it is missing; defaultFalse
Method UUIDNDJSONMapping.add_backend(self, record)
Append record to the backing file.
Method UUIDNDJSONMapping.rewrite_backend(self)
Rewrite the backing file.
Because the record updates are normally written in append mode, a rewrite will be required every so often.
Method UUIDNDJSONMapping.scan(self)
Scan the backing file, yield records.
Function write_ndjson(arg, *a, **kw)
Transcribe an iterable of objects to a file as newline delimited JSON.
Release Log
Release 20211208: Initial PyPI release.
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
File details
Details for the file cs.ndjson-20211208.tar.gz.
File metadata
- Download URL: cs.ndjson-20211208.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fee83178551a62ab7a98f8a9c4f1adf9a3aff52a4eca118887c9e3c7b487bcd7
|
|
| MD5 |
d2be0ab693fa4e2d13b1a74dda1cc23e
|
|
| BLAKE2b-256 |
34946bd5963399b6bdb2b5d63d795e705f2148ceb34f82d17cc5d84e691743e5
|