Skip to main content

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 exist
  • dictclass: a optional dict subclass to hold each record, default UUIDedDict
  • create: if true, ensure the file exists by transiently opening it for append if it is missing; default False

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


Download files

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

Source Distribution

cs.ndjson-20211208.tar.gz (3.7 kB view details)

Uploaded Source

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

Hashes for cs.ndjson-20211208.tar.gz
Algorithm Hash digest
SHA256 fee83178551a62ab7a98f8a9c4f1adf9a3aff52a4eca118887c9e3c7b487bcd7
MD5 d2be0ab693fa4e2d13b1a74dda1cc23e
BLAKE2b-256 34946bd5963399b6bdb2b5d63d795e705f2148ceb34f82d17cc5d84e691743e5

See more details on using hashes here.

Supported by

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