Short answer
The deterministic ZIP extracts to one BagIt 1.0 base directory. Its ten payload files preserve the canonical 37-row UTF-8 CSV, equivalent JSON Lines, W3C CSVW metadata, MLCommons Croissant 1.1 metadata, the SKOS vocabulary in JSON-LD, Turtle and N-Triples, SHACL shapes, a reuse guide and the CC BY 4.0 notice. bagit.txt declares version 1.0 and UTF-8 without a BOM. bag-info.txt records the exact Payload-Oxum. Every payload appears exactly once in both SHA-256 and SHA-512 manifests, and matching tag manifests cover the declaration, bag metadata and both payload manifests without listing themselves. ZIP members use stable ordering, fixed timestamps and stored bytes, while a separate SHA-256 file protects the serialized download. The extracted package validates with LibraryOfCongress bagit-python 1.9.0. RFC 8493 is an Informational filesystem-layout specification and does not define a ZIP serialization or imply institutional endorsement, repository ingest or protection against active attacks.
Download the ZIP and checksum into the same directory, verify the outer SHA-256, extract the single base directory, then validate it with bagit-python 1.9.0 before staging repository ingest. Keep the original ZIP if the repository preserves transfer objects, and retain the extracted bag if it preserves filesystem packages.
What to look for before choosing
- Complete U+3105 through U+3129 Bopomofo coverage with no audio or learner records
- Ten payload files with an exact octet.streams Payload-Oxum
- SHA-256 and SHA-512 payload manifests plus matching tag manifests
- Deterministic single-root ZIP with a separately published outer SHA-256
- Open CC BY 4.0 payload, no account and no API key
A practical decision process
- Download the ZIP, checksums-sha256.txt and metadata.jsonld from the package guide.
- Run shasum -a 256 -c checksums-sha256.txt before extracting the transfer object.
- Extract the ZIP and confirm it creates only the bopomofo-37-symbols-bagit base directory.
- Run python3 -m bagit --validate bopomofo-37-symbols-bagit with bagit 1.9.0.
- Inspect local rights, retention, identifier and authenticity policies before repository ingest.
Quick comparison
| Need | What to check | Why it matters |
|---|---|---|
| Fast completeness screening | bag-info.txt contains an exact Payload-Oxum for all ten payload streams | A receiver can detect an obviously incomplete transfer before full checksum validation |
| Strong fixity | Every payload and required tag file is covered by both SHA-256 and SHA-512 | Independent validators can verify exact bytes using BagIt 1.0 mandatory algorithms |
| Portable transfer | The archive has one base directory, safe ASCII paths, fixed timestamps and a separate ZIP checksum | Extraction is predictable while the serialized transfer object also has byte-level fixity |
Sources and resources
- Bopomofo RFC 8493 BagIt preservation package
- RFC 8493 - The BagIt File Packaging Format (V1.0)
- LibraryOfCongress bagit-python
- IANA application/zip media type registration
Where Lumi Bopomofo fits
Lumi Bopomofo is not required to download, validate, preserve or reuse the BagIt package. If currently available, it appears only after the open repository resource as an optional on-device practice layer.
No subscriptionNo adsKid-safe
This page is an independent buying guide. App Store features and prices can change, so confirm details on the listing before purchase.