Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

EDINET Replay

Official EDINET ZIP → verifiable faithful JSON + manifest.
Same source package, same pinned taxonomy, same Arelle version → same output hash.

Demo: fetch → extract → validate, then a fact traced back to its ZIP line

Beta (0.1.0b1). The vertical path fetch → extract → validate works for resolved XBRL. A multi-standard β corpus (JP GAAP / IFRS / US GAAP) pins fixed docIDs and expected hashes. Inline XBRL presentation provenance is still incomplete. Best-effort, not production-certified. Not affiliated with Japan's FSA.

30-second demo

Corpus entry: E04236 / S100W1NC (JP GAAP annual report).
Needs: Python 3.10+, EDINET_API_KEY, and the pin-matching FSA taxonomy zip (see taxonomies/edinet-fsa-2024-11-01.json).

$ pip install -e ".[xbrl]"
$ export EDINET_API_KEY=          # header only — never pass --api-key
$ edinet-replay fetch --document-id S100W1NC --store ./store
$ edinet-replay extract ./store/packages/S100W1NC/<raw_sha256>.zip \
    --taxonomy edinet-fsa-2024-11-01 -o ./out
$ edinet-replay validate filing  ./out/faithful-filing.json
$ edinet-replay validate manifest ./out/extraction-manifest.json

What you get:

Output Role
./out/faithful-filing.json Resolved facts (concept, value, context, unit, dims, nil, footnotes)
./out/extraction-manifest.json Reproduction identity: dual package hashes, taxonomy pin, engine, selection
each fact's source.package_path + source.line Pointer back into the official ZIP

Example fact from this filing (value is a string, as reported):

{
  "value": "4122148000000",
  "decimals": "-6",
  "dimensions": {
    "concept": "jppfs_cor:Assets",
    "unit": { "numerator": ["iso4217:JPY"], "denominator": [] }
  },
  "source": {
    "package_path": "XBRL/PublicDoc/jpcrp030000-asr-001_E04236-000_2025-03-31_01_2025-06-23.xbrl",
    "line": 4943
  }
}

…which is this line inside the source package:

<jppfs_cor:Assets contextRef="Prior1YearInstant" decimals="-6"
                  unitRef="JPY">4122148000000</jppfs_cor:Assets>

Expected canonical hash for the full filing: see tests/golden/E04236-S100W1NC.json (canonical_output_sha256). Same path for IFRS and US GAAP entries in the β corpus catalog.

Who this is for

Data engineers, quantitative researchers, XBRL implementers, ESG data users, academic researchers, financial data providers, and institutional data teams who need verifiable access to Japanese corporate disclosures — not a retail stock screen.

Why it exists

EDINET filings are public, but reproducible use is hard: XBRL/iXBRL structure, taxonomy churn, lost context/units/dimensions/provenance, and opaque transforms in normalized databases.

EDINET Replay focuses on faithful reproduction, not financial interpretation. Mapping, normalization, comparability, and investment analysis are Layer 2 (out of scope here).

What ships today

  • CLI: fetch · extract · validate · inspect
  • Offline Arelle resolution against hash-pinned FSA taxonomies
  • Versioned JSON Schemas (extraction-manifest / faithful-filing 1.0.0)
  • Content hashing + canonical JSON profile (golden-by-hash)
  • β corpus v1 — one JP GAAP, one IFRS, one US GAAP annual report (corpus/)

Other CLI shapes

$ edinet-replay fetch --date 2025-06-27 --edinet-code E04236 --list-only
$ edinet-replay fetch --date 2025-06-27 --edinet-code E04236 \
    --select latest-original-filing --store ./store
$ edinet-replay inspect ./store/packages/S100W1NC/<raw_sha256>.zip

Selection is never implicit: with --date you pass --list-only or a named --select. The API key is read only from EDINET_API_KEY.

Library retrieval

from edinet_replay.client import EdinetClient

client = EdinetClient()  # EDINET_API_KEY → Ocp-Apim-Subscription-Key header
listing = client.list_documents("2025-06-27")
download = client.download_document("S100W1NC")
# download.content is the submission ZIP exactly as received

What this project does not do

  • Merge XBRL concepts into a “common” economic concept
  • Normalize or assert economic meaning
  • Guarantee cross-company / cross-period / cross-GAAP comparability
  • Investment recommendations
  • Speak for the FSA / EDINET

Design in one line

Layer 1 (this repo): retrieval, package identity, offline DTS, faithful facts + provenance.
Layer 2 (elsewhere): interpretation. Downstream tools should be auditable against Layer 1.

Reproduction identity = source content hash + taxonomy content hash + Arelle version + extractor version + schema version + explicit selection record.
Details: architecture · reproducibility · schema.

Engine

XBRL semantics via Arelle (Apache-2.0). We do not reimplement context / dimension / unit / accuracy resolution.

Docs

Maintenance · License · Citation

Best-effort beta; no SLA on issues/PRs. Security: SECURITY.md.
Contributing: CONTRIBUTING.md.
Apache-2.0 — LICENSE. Cite via CITATION.cff.

Regenerate the demo GIF: python tools/render_demo_gif.py (Pillow).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edinet_replay-0.1.0b1.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edinet_replay-0.1.0b1-py3-none-any.whl (46.6 kB view details)

Uploaded Python 3

File details

Details for the file edinet_replay-0.1.0b1.tar.gz.

File metadata

  • Download URL: edinet_replay-0.1.0b1.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for edinet_replay-0.1.0b1.tar.gz
Algorithm Hash digest
SHA256 446c3781b598d4410e56218634abe1e1596a5c69e83fe171cfa17f323e51564a
MD5 9fdb5755ea03e5d9840580d25e770160
BLAKE2b-256 6eb40ef2e64f7d16d7f18d48bb880fa0123d705364f313c8f21ae9cb8e3f8c2d

See more details on using hashes here.

File details

Details for the file edinet_replay-0.1.0b1-py3-none-any.whl.

File metadata

File hashes

Hashes for edinet_replay-0.1.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 ae82e79143c1242d7eac7de86b680a66bddecc246b2708d8daadeb23ed768438
MD5 8fbc1330ff8ec0855745cf8e05f1c6af
BLAKE2b-256 74e976af2eb5888b108d1dbf948796f9dc895b147063d92ee007d34b4633828d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0b1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page