https://github.com/plandes/cl-jsonl
Efficient JSON File Iteration
https://github.com/plandes/cl-jsonl
Last synced: 8 months ago
JSON representation
Efficient JSON File Iteration
- Host: GitHub
- URL: https://github.com/plandes/cl-jsonl
- Owner: plandes
- License: gpl-3.0
- Created: 2023-05-23T15:27:17.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-09T17:58:40.000Z (about 2 years ago)
- Last Synced: 2025-01-02T04:14:38.451Z (9 months ago)
- Language: Common Lisp
- Size: 18.6 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Efficient JSON File Iteration
[![Build Status][build-badge]][build-link]
Lazy read JSONL files with each line a separate definition. JSONL files are
files with newline delimited JSON blobs and typically very large. This package
provides a generator that allows a line by line parse reducing memory
complexity for large data demand projects such as those for training deep
learning models.## Usage
```lisp
;; load libraries and import dependency symbols to the current system
(ql:quickload :cl-jsonl :silent t)
(ql:quickload :gtwiwtg :silent t)
(use-package :cl-jsonl)
(use-package :gtwiwtg);; parse the first line of JSON in file `test.json'
(with-json-reader (g #p"test.json")
(format t "~S~%" (take 1 g)))
```## Obtaining
The easiest way to install is using [quicklisp]:
```lisp
(ql:quickload :cl-jsonl)
```## Changelog
An extensive changelog is available [here](CHANGELOG.md).
## License
[GPL 3.0 License](LICENSE.md)
Copyright (c) 2023 Paul Landes
[quicklisp]: https://www.quicklisp.org/beta/
[MIT License]: https://opensource.org/licenses/MIT
[build-badge]: https://github.com/plandes/cl-jsonl/workflows/CI/badge.svg
[build-link]: https://github.com/plandes/cl-jsonl/actions