mrkeyoor.com_
Fri 16 Oct 18:52 UTC
Dataevaluationupdated 10 Oct 2026

chinese-poetry review

Chinese Poetry distributes classical Chinese poems and other texts as JSON, with Chinese documentation and no English README listed in the repository. It gives you source material for reading apps, search indexes, and text experiments, while leaving translations and editorial checking to you.

+88stars / 7d
Verdict

Our Chinese Poetry run installed in 7 seconds and built successfully, but tests were skipped and pip-audit reported 2 known vulnerabilities, so easy setup leaves data quality and dependency checks unresolved. Use the JSON collection when you can own the importer and verify the texts your product exposes. For lessons or research requiring a documented edition, curate the source material before treating it as authoritative.

We ran it

Lab card: what happened when we ran chinese-poetryScreenshot of chinese-poetry (awesome-poetry.top)
Install✓ · 7s38 packages · 42 MB
Build✓ · 0s
Testsn/ano test script
Known vulns2(pip-audit)
Repo2285 files~1,178 lines of source · 371.7 MB · 1 CI workflows

Answers from our run

Does chinese-poetry build from source?

Dependencies installed in 7 seconds (38 packages), and the build succeeded in 0s. We cloned commit b8594f8 into a clean Debian container with 3 CPUs and no project-specific setup.

Does chinese-poetry have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does chinese-poetry have known vulnerabilities in its dependencies?

pip-audit flagged 2 known advisories in the dependency tree at the time of our run.

Who should not use chinese-poetry?

Products that require a documented source edition for every passage: the main README says the original poetry collection process was not recorded.

What are the alternatives to chinese-poetry?

Chinese Poetry API, Chinese Poetry DB Web. Our Chinese Poetry run installed in 7 seconds and built successfully, but tests were skipped and pip-audit reported 2 known vulnerabilities, so easy setup leaves data quality and dependency checks unresolved.

Setup4/57-second install, with import and serving work left to your application
Docs3/5Chinese collection guides explain formats and admit data errors
Community4/553,638 stars and recent data reports, with a June 2026 last push
Maturity3/5Useful corpus, unresolved text reports, and no executed lab suite

Discussed on

  1. hnA Magician of Chinese Poetry63 points
  2. hnTrying to Translate Chinese Poetry22 points

Who it’s for

Developers who read Chinese and want local JSON texts for a reading app or search index.
Text researchers willing to preserve collection boundaries and inspect differing record formats.
Educators who can curate a checked selection rather than present every imported poem as authoritative.

Who it’s NOT for

Products that require a documented source edition for every passage: the main README says the original poetry collection process was not recorded.
Learning tools that must ship checked wording without editorial work: the Tang and Song guide admits remaining errors, and issue 424 disputes a familiar Li Bai poem.
Importers expecting one text field everywhere: the loader configuration uses paragraphs, content, and para for different collections.
Teams relying on English onboarding or translated poems: the inspected README and collection guide are Chinese, and no English README is listed.
Operators requiring a clean dependency audit before adoption: our Python environment had 2 known vulnerabilities, with no package or severity details in the supplied results.

Setup reality

Our sandbox installed commit b8594f8 in 7 seconds, adding 38 packages and using 42 MB on disk. The build passed with a reported duration of 0 seconds. Tests were skipped because no test script or target was found. Pip-audit reported 2 known vulnerabilities. The checkout itself occupied 371.7 MB.

Reading the JSON files needs no external API credential or running database service. A searchable application needs your own importer, storage, and interface. The Python loader reads its dataset configuration and uses paths relative to the configured root.

Documentation is Chinese, collection formats differ, and the Tang and Song guide warns about textual errors and context-sensitive character conversion. A JSON-checking script exists, but our harness did not execute a suite. Passing setup does not establish accurate poems or a ready web service.

JSON files give you texts to build an app around

Chinese Poetry gives you classical Chinese texts in JSON, including Tang and Song poetry, Song ci, and collections such as the Analects. Its main README and collection guides are in Chinese, and the repository lists no English README. A developer who reads Chinese can use the files for a reading app or search index without first scraping a website. English-language explanations and translations would be your own addition.

Our checkout occupied 371.7 MB across 2,285 files, despite containing only about 1,178 lines of source. That balance tells you what you're adopting: a substantial collection of text with some supporting code. GitHub labels it JavaScript, while our harness classified the run as Python. The Tang and Song guide shows records containing author, title, paragraphs, and note. Those fields are easy to inspect, but a readable record doesn't establish that its wording matches the edition your readers expect.

What happened when we ran it

Our sandbox installed commit b8594f8 in 7 seconds, adding 38 packages and using 42 MB on disk. The build step succeeded with a reported duration of 0 seconds. Tests were skipped because the harness found no test script or target. That is a successful setup path with no executed suite behind it, not evidence that every JSON record is valid or every poem is accurate.

We measured it on October 10, 2026, in an unprivileged Debian container with 3 CPUs and 8 GB of RAM, using ghcr.io/astral-sh/uv:python3.12-bookworm. The sandbox had no secrets. Pip-audit reported 2 known vulnerabilities. The supplied results don't name the affected packages or their severity, so they cannot support a claim about a specific exploit or about the safety of an internet-facing service.

The scan found 1 CI workflow file, no Dockerfile, and no tests directory. The measured build completion should not be read as a finished search server, a database import, or a checked literary edition. Those would require separate work and separate evidence.

The collection guide warns about textual errors

The Tang and Song collection guide says the texts are stored in traditional Chinese and still contain many errors needing correction. It also warns that character conversion can produce wording that doesn't fit its context. For a learner-facing app, automatically converting the whole corpus to simplified Chinese needs more care than turning on a display setting. Preserve the original text so a correction can be traced back.

A 371.7 MB checkout can be copied easily enough, but editorial confidence doesn't arrive with the files. The main README says the data came from the internet and that the original poetry collection process was not recorded. It links a separate account of collecting Song ci. If your use requires a documented source edition for each passage, that provenance gap is a reason to choose a different corpus or curate a smaller selection yourself.

Issue 424, opened in September 2026, questions the wording of Li Bai's Quiet Night Thought in poet.tang.8000.json. An open June correction PR addresses the same poem. These are reports about the actual collection, rather than a similarly named downstream app. They show why an educator should check familiar poems against a chosen edition. We haven't resolved that textual dispute, and a JSON parser cannot resolve it either.

The loader's configuration reveals different text fields

The repository's loader configuration selects paragraphs for several collections, content for others, and para for Nalan Xingde. It also excludes author files and other material when reading a directory. A single importer that assumes every JSON file holds poem records will miss these distinctions. Start with one collection and preserve its title, author, and source path alongside the text.

Across 2,285 files, those configuration choices deserve inspection before a bulk import. PlainDataLoader joins configured text fields into a list, using paths relative to its configured root. That may suit text experiments, while a reading app needs record boundaries and metadata. The configuration comments also identify material that doesn't fit the loader's expected structure. Extending your importer collection by collection is safer than assuming the helper covers every folder identically.

A JSON checker exists, but our harness skipped tests

The repository contains test_poetry.py, which recursively parses JSON under selected collection directories. Our run still found no runnable test target and skipped the test step. Both facts can be true. The scan's absence of a tests directory does not mean there is no checking code, and we aren't claiming this script passed. Its visible checks concern parseable JSON, which is a narrower question than correct authorship or wording.

The 2 known vulnerabilities from pip-audit are another separate question. A product that uses only copied JSON has a different runtime from one that deploys the repository's Python environment, but our results do not establish either product's exposure. Inspect the actual advisory details before adopting that environment. Reading static text files does not require an external API key, and a search database or web service would be something you add.

June code activity and September reports need separate judgments

GitHub records the last push on June 17, 2026, with 53,638 stars and 137 open issues and PRs combined in the October 10 snapshot. A loader fix closed on June 17, and the September poem report remains open. The latest-release endpoint returned no release. Those facts describe slower code activity with continuing user reports, not proof of abandonment. They also don't tell you when a particular disputed poem will be corrected.

Choose the raw files when owning the importer and the editorial decisions is acceptable. palemoky's API adds REST and GraphQL access, while Harold-y's database web app supplies a MySQL-based collection and reading interface. Both derive from this corpus family, so changing the delivery format doesn't settle provenance. Before putting a poem in a lesson, record which edition you checked it against.

Alternatives

ProjectWhat it isPick it when
Chinese Poetry API gh↗A Go service with REST and GraphQL access to a derived Chinese poetry collection.pick this instead when you need a running query API and simplified or traditional text options rather than raw files.
Chinese Poetry DB WebA MySQL collection with a Flask backend and Vue reading interface derived from Chinese Poetry.pick this instead when you want a database schema and browser interface to start from, while retaining your own editorial checks.

What people are saying

  1. [github-trending] chinese-poetry/chinese-poetry

Sources

  1. Chinese Poetry README
  2. Tang and Song collection format and error warning
  3. Dataset loader configuration
  4. PlainDataLoader source
  5. Quiet Night Thought wording report
  6. Quiet Night Thought correction pull request
  7. Chinese Poetry API README
  8. Chinese Poetry DB Web README

More data reviews

wine-quality-svc-tuning · dhis2-immunisation-audit · OpenTerminal · The-Quant-Trading-Vault · multimodal-product-discovery · edgequake · the whole board →