HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
danielyule
naya
Python2021–2021
danielyule / naya

naya

A fast streaming JSON parser written in Python

2Distinct people
2Mentions
0Explicit recommenders
61GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A fast streaming JSON parser written in Python

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 3-hour interval2 dated mentions

Observed mentions: 2021-08-19 17:11:09 UTC to 2021-08-22 23:17:48 UTC.

012021-08-19 15:00:00 UTC to 2021-08-19 18:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsAug 19, 15:002021-08-19 18:00:00 UTC to 2021-08-19 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-19 21:00:00 UTC to 2021-08-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-20 00:00:00 UTC to 2021-08-20 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-20 03:00:00 UTC to 2021-08-20 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-20 06:00:00 UTC to 2021-08-20 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-20 09:00:00 UTC to 2021-08-20 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-20 12:00:00 UTC to 2021-08-20 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-20 15:00:00 UTC to 2021-08-20 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-20 18:00:00 UTC to 2021-08-20 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-20 21:00:00 UTC to 2021-08-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-21 00:00:00 UTC to 2021-08-21 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-21 03:00:00 UTC to 2021-08-21 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-21 06:00:00 UTC to 2021-08-21 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsAug 21, 06:002021-08-21 09:00:00 UTC to 2021-08-21 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-21 12:00:00 UTC to 2021-08-21 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-21 15:00:00 UTC to 2021-08-21 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-21 18:00:00 UTC to 2021-08-21 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-21 21:00:00 UTC to 2021-08-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-22 00:00:00 UTC to 2021-08-22 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-22 03:00:00 UTC to 2021-08-22 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-22 06:00:00 UTC to 2021-08-22 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-22 09:00:00 UTC to 2021-08-22 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-22 12:00:00 UTC to 2021-08-22 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-22 15:00:00 UTC to 2021-08-22 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-22 18:00:00 UTC to 2021-08-22 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-22 21:00:00 UTC to 2021-08-23 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsAug 22, 21:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Aug 19, 15:002021-08-19 15:00:00 UTC2021-08-19 18:00:00 UTC101
Aug 19, 18:002021-08-19 18:00:00 UTC2021-08-19 21:00:00 UTC000
Aug 19, 21:002021-08-19 21:00:00 UTC2021-08-20 00:00:00 UTC000
Aug 20, 00:002021-08-20 00:00:00 UTC2021-08-20 03:00:00 UTC000
Aug 20, 03:002021-08-20 03:00:00 UTC2021-08-20 06:00:00 UTC000
Aug 20, 06:002021-08-20 06:00:00 UTC2021-08-20 09:00:00 UTC000
Aug 20, 09:002021-08-20 09:00:00 UTC2021-08-20 12:00:00 UTC000
Aug 20, 12:002021-08-20 12:00:00 UTC2021-08-20 15:00:00 UTC000
Aug 20, 15:002021-08-20 15:00:00 UTC2021-08-20 18:00:00 UTC000
Aug 20, 18:002021-08-20 18:00:00 UTC2021-08-20 21:00:00 UTC000
Aug 20, 21:002021-08-20 21:00:00 UTC2021-08-21 00:00:00 UTC000
Aug 21, 00:002021-08-21 00:00:00 UTC2021-08-21 03:00:00 UTC000
Aug 21, 03:002021-08-21 03:00:00 UTC2021-08-21 06:00:00 UTC000
Aug 21, 06:002021-08-21 06:00:00 UTC2021-08-21 09:00:00 UTC000
Aug 21, 09:002021-08-21 09:00:00 UTC2021-08-21 12:00:00 UTC000
Aug 21, 12:002021-08-21 12:00:00 UTC2021-08-21 15:00:00 UTC000
Aug 21, 15:002021-08-21 15:00:00 UTC2021-08-21 18:00:00 UTC000
Aug 21, 18:002021-08-21 18:00:00 UTC2021-08-21 21:00:00 UTC000
Aug 21, 21:002021-08-21 21:00:00 UTC2021-08-22 00:00:00 UTC000
Aug 22, 00:002021-08-22 00:00:00 UTC2021-08-22 03:00:00 UTC000
Aug 22, 03:002021-08-22 03:00:00 UTC2021-08-22 06:00:00 UTC000
Aug 22, 06:002021-08-22 06:00:00 UTC2021-08-22 09:00:00 UTC000
Aug 22, 09:002021-08-22 09:00:00 UTC2021-08-22 12:00:00 UTC000
Aug 22, 12:002021-08-22 12:00:00 UTC2021-08-22 15:00:00 UTC000
Aug 22, 15:002021-08-22 15:00:00 UTC2021-08-22 18:00:00 UTC000
Aug 22, 18:002021-08-22 18:00:00 UTC2021-08-22 21:00:00 UTC000
Aug 22, 21:002021-08-22 21:00:00 UTC2021-08-23 00:00:00 UTC101

What Hacker News says

2 sources
> JSON’s design assumes the user can read the entire file into memory No? The design of most JSON libraries assumes that, but there are perfectly good incremental JSON parsers out there[1–3]. It’s just that people don’t seem to have figured out a good API for not-completely-incremental parsing (please prove me wrong here!), but this applies equally to any structured data format as soon as you want to pull out pieces of data that are nested more than one level down. The lack of length prefixes in JSON does indeed make a solid parser somewhat more difficult, but you get the ability to author and validate it manually instead. All in all a draw and not because of the incremental parsing thing. (Tabular or otherwise homogeneous data is indeed reprsented wastefully, but unless the individual records are huge json+gzip is a perfectly serviceable
Read the rest
“worse-is-better” solution, and its self-describing nature along with support for structured cell values can at times make for a better experience than TSV. And at other times not.) [1] https://github.com/ICRAR/ijson [2] https://github.com/AMDmi3/jsonslicer [3] https://github.com/danielyule/naya
In Bringing the Unix philosophy to the 21st century (2019)
Yes, Python's bundled json module does not support that style of parsing. I saw several suggestions in a quick search to try NAYA [1] if you need that in Python (it's a no dependency Python 3 library) or one of the C-backed wrapper libraries NAYA mentions at the bottom of its Readme if you can afford native dependencies. [1] https://github.com/danielyule/naya
In Time to retire the CSV?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.