$npx skillfedfor your agent

ndjson

JsonDecoder for ndjson

With conditionsPyPI Text ProcessingReleased Feb 20201.7M downloads / moGNU General Public License v3Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — ndjson-0.3.1-py2.py3-none-any.whl
v0.3.1 · released 2020-02-25

Yes, if you need ndjson support in a stable, mature codebase targeting Python 2.7 or 3.5–3.7 and do not require ongoing maintenance. The package is simple, dependency-free, and has no known vulnerabilities. No, if you require active maintenance, support for modern Python versions, or need assurance of future compatibility—consider alternatives or vendor the code directly.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • No runtime dependencies and a pure-Python wheel make installation frictionless.
  • However, the package is abandoned—last release was 2020-02-25 and last commit 2022-12-26—so no maintenance or security updates should be expected.

License · maintenance · safety

GNU General Public License v3 (copyleft) — Licensed under GNU General Public License v3 (copyleft). Any derivative work or modification must be distributed under the same license; proprietary or closed-source projects should review compatibility before use.

last release 2020-02-25 (2362 days) · last repo commit 2022-12-26 · 69 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,702,710 downloads/mo, #3,641 on PyPI

Verify before relying

import ndjson

# Load from file
with open('data.ndjson') as f:
    data = ndjson.load(f)

# Convert to/from text
text = ndjson.dumps(data)
data = ndjson.loads(text)
  • Whether the package works reliably with modern Python versions (classifiers list only up to 3.7; requires_python is unspecified)
  • Whether there are known incompatibilities or edge cases in ndjson parsing that the fact sheet does not surface
Same gist for agents: .md · .json

What it is and what it does

ndjson is a lightweight, dependency-free library for reading and writing JSON Lines (newline-delimited JSON) files. It mirrors the familiar interface of Python's built-in json and pickle modules, offering both high-level functions (load, loads, dump, dumps) and lower-level streaming classes (reader, writer, JSONEncoder, JSONDecoder) for flexible integration with other libraries like requests.

The package is small, has no external dependencies, and includes tests. However, it has been abandoned since early 2020 with no active maintenance, so it will not receive bug fixes or updates for compatibility with newer Python versions or JSON specifications.

Use it for

  • Parse streaming JSON Lines data from APIs or log files without loading entire datasets into memory
  • Convert between ndjson text format and Python objects using a json-like interface
  • Integrate ndjson parsing into requests-based HTTP clients via the JSONDecoder class
  • Write Python objects to ndjson files with csv-like reader/writer classes for batch processing
  • Handle newline-delimited JSON in data pipelines where each line is a separate JSON object

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need ndjson support in a stable, mature codebase targeting Python 2.7 or 3.5–3.7 and do not require ongoing maintenance.

The package is simple, dependency-free, and has no known vulnerabilities. No, if you require active maintenance, support for modern Python versions, or need assurance of future compatibility—consider alternatives or vendor the code directly.

Install

ndjson on PyPI

Before you install

No runtime dependencies and a pure-Python wheel make installation frictionless. However, the package is abandoned—last release was 2020-02-25 and last commit 2022-12-26—so no maintenance or security updates should be expected.

License in practice

Licensed under GNU General Public License v3 (copyleft). Any derivative work or modification must be distributed under the same license; proprietary or closed-source projects should review compatibility before use.

Quickstart

import ndjson

# Load from file
with open('data.ndjson') as f:
    data = ndjson.load(f)

# Convert to/from text
text = ndjson.dumps(data)
data = ndjson.loads(text)

Verify before relying

  • Whether the package works reliably with modern Python versions (classifiers list only up to 3.7; requires_python is unspecified)
  • Whether there are known incompatibilities or edge cases in ndjson parsing that the fact sheet does not surface

Package facts

LicenseGNU General Public License v3 copyleft
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAbandoned 2,362 days since the last release
Last repo commit
First released
Downloads1,702,710 / month, #3,641 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)Natural Language :: EnglishProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7

Evidence: ndjson-0.3.1-py2.py3-none-any.whl

Tags

Capabilities
ndjson parserjson lines reader writernewline delimited jsonstreaming jsonndjson file handlingjson encoder decodercsv-like json reader
Topics
json-linesstreaming-dataabandoned
PyPI keywords
ndjson

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “ndjson parser”

  • ndjsonProvides a familiar JSON Lines (ndjson) parser and writer with an API…
  • jsonlinesSimplifies reading and writing jsonlines (newline-delimited JSON) and…
  • tinybird-python-sdkIngest NDJSON data into Tinybird Data Sources and send requests to…

Give your agent the search over MCP, or paste the wish link into any chat.

More Text Processing packages

regex Worth it
PyPI · Python Modules · released Jul 2026

A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.

Apache-2.0 AND CNRI-Pythoncompiled wheel · 3.10+
437.7Mdownloads / mo
pyparsing Worth it
PyPI · Text Processing · released Jan 2026

pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.

Install it if you need to parse text or define grammars programmatically.

MITpure Python · 3.9+
412.7Mdownloads / mo
fonttools Worth it
PyPI · Text Processing · released May 2026

fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.

Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.

permissive licensepure Python · 3.10+
235.9Mdownloads / mo
docutils With conditions
PyPI · Software Development · released May 2026

Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.

BSD-3-Clausepure Python · 3.9+
225.6Mdownloads / mo
RapidFuzz Worth it
PyPI · Text Processing · released Apr 2026

RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.

Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.

MITcompiled wheel · 3.10+
184.2Mdownloads / mo
tinycss2 Worth it
PyPI · Text Processing · released Nov 2025

tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.

Install it if your project requires CSS tokenization or syntax manipulation.

BSD-3-Clausepure Python · 3.10+
113.2Mdownloads / mo

See also edn-format · jsonlines · jsonstreams · json-stream · json5 · numpyencoder · file-read-backwards · jsonconversion · ijson · dirtyjson