json-flattener
Python library for denormalizing nested dicts or json objects to tables and back
Decision gist · record as of 2026-08-14
Yes, if you need to flatten nested JSON/YAML to tabular format and can tolerate dormant maintenance. The package is stable, has no known vulnerabilities, installs with minimal friction, and solves a specific problem well. However, do not expect active development or bug fixes—evaluate whether the current feature set meets your needs before committing to a dependency.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later.
- Low friction: pure Python wheel with only click and pyyaml as runtime dependencies.
- Maintenance is dormant—last release was 2022-02-26 and no commits since 2024-03-21—so expect no active bug fixes or feature development.
License · maintenance · safety
BSD (permissive) — BSD permissive license means you can use, modify, and distribute the package freely in commercial or private projects with minimal restrictions.
last release 2022-02-26 (1630 days) · last repo commit 2024-03-21 · 12 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 301,821 downloads/mo, #7,831 on PyPI
Alternatives
Verify before relying
pip install json-flattener
from json_flattener import Flattener
flattener = Flattener()
flat_rows = flattener.flatten([{"id": "1", "creator": {"name": "Author"}}])- Whether the library handles deeply nested structures beyond one level of flattening (description mentions 'currently one level' but scope unclear).
- Performance characteristics on large datasets or whether there are memory constraints.
- Whether unflatten operation preserves all data fidelity in round-trip scenarios.
What it is and what it does
json-flattener transforms nested JSON, YAML, or JSON-Lines data into flat tabular rows where each top-level key becomes a column. Nested objects are flattened by concatenating keys with underscores (e.g., creator.name becomes creator_name), and lists of objects are converted into parallel lists within cells. The library also supports serializing complex fields as embedded JSON or YAML strings, and can reverse the process to reconstruct the original nested structure from flattened data.
The primary use case is preparing normalized data models for tools that expect tabular input: Pandas dataframes, Excel, SQL databases, Solr/Lucene indexes, or Unix text processing. It ships with a command-line tool (jfl) for batch operations and can be used programmatically from Python. The package depends only on click and pyyaml, making it lightweight to install.
Use it for
- Export nested API responses or document databases to CSV/TSV for analysis in spreadsheets or Pandas.
- Prepare hierarchical YAML configuration or data files for indexing in Solr or Lucene.
- Convert complex Python objects to flat rows for import into SQL databases without manual schema design.
- Denormalize LinkML or other schema-driven data for downstream data science workflows.
- Round-trip nested data through tabular formats while preserving the ability to reconstruct the original structure.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to flatten nested JSON/YAML to tabular format and can tolerate dormant maintenance.
The package is stable, has no known vulnerabilities, installs with minimal friction, and solves a specific problem well. However, do not expect active development or bug fixes—evaluate whether the current feature set meets your needs before committing to a dependency.
Install
json-flattener on PyPI
Before you install
Low friction: pure Python wheel with only click and pyyaml as runtime dependencies. Maintenance is dormant—last release was 2022-02-26 and no commits since 2024-03-21—so expect no active bug fixes or feature development.
Requires Python 3.7 or later.
License in practice
BSD permissive license means you can use, modify, and distribute the package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install json-flattener
from json_flattener import Flattener
flattener = Flattener()
flat_rows = flattener.flatten([{"id": "1", "creator": {"name": "Author"}}])
Verify before relying
- Whether the library handles deeply nested structures beyond one level of flattening (description mentions 'currently one level' but scope unclear).
- Performance characteristics on large datasets or whether there are memory constraints.
- Whether unflatten operation preserves all data fidelity in round-trip scenarios.
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=3.7.0 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesclickpyyaml |
| Maintenance | Dormant 1,630 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 301,821 / month, #7,831 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Bio-Informatics |
Evidence: json_flattener-0.1.9-py3-none-any.whl
Tags
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 › “denormalize json objects”
- json-flattenerConverts nested JSON/YAML objects into flat tabular rows suitable for…
- json-normalizeRecursively flattens nested JSON-like structures (dicts and…
- nemo-text-processingConverts text to normalized form and back (inverse normalization) for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Bio-Informatics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Biopython provides Python tools for computational molecular biology, including sequence analysis, structure parsing, database access, and phylogenetic tree manipulation.
However, verify that the custom Biopython License Agreement aligns with your project's licensing requirements before committing to it in production or proprietary work.
Client library for the Firecrawl API that scrapes, crawls, and searches the web, returning clean Markdown or structured data; also indexes research papers from PubMed, bioRxiv, medRxiv, and arXiv.
A self-balancing interval tree data structure that stores and queries overlapping or enveloped ranges, supporting point lookups, range overlaps, and range envelopment queries.
Install it if you need to store and query overlapping or enveloped ranges; the self-balancing design and rich query interface make it significantly easier than…
Albumentations applies image transformations to training data, supporting classification, segmentation, object detection, and pose estimation with a unified API for images, masks, bounding boxes, and keypoints.
Install it if you need a unified, production-grade augmentation API for computer vision tasks.
PubChemPy is a Python wrapper around the PubChem REST API that lets you search for chemical compounds by name, substructure, or similarity, retrieve their properties, and convert between chemical file formats.
Install it if you need programmatic access to PubChem data.
See also flatten-json · pandas-read-xml · flatten-dict · tablib · deflate-dict · flatdict · json-tools-rs · json-flatten · mltable · json2html