# MetalsGoWhere standard data pack · free sample

MetalsGoWhere standard data pack · free sample 2026-10-10.standard-pack-v1. Four lead/zinc entries in exactly the file format of every paid pack. Free to download and redistribute with attribution to MetalsGoWhere; it is not a licensed copy of a paid pack.

Start with projects.csv (one asset–metal registration per row). Follow production_observation_id or capacity_observation_id into observations.csv, then source_keys into sources.csv. IDs shared between metals do not establish unique physical sites. Keep metric, unit, basis, ownership and entity scope together; the example makes no national ranking or pooled total.

Summary rule: select a metric only when exactly one current input observation exists for it and every declared numeric source reference resolves to an allowed primary/official URL. Missing, unknown or restricted declared lineage withholds the quantity even alongside a valid source. Declared/unresolved source identifiers remain in scalar JSON text provenance fields. No latest period, entity relationship, moisture, conversion or date is inferred. Explicit observations retain their own dates. Legacy top-level production_t/capacity_t fields become legacy_summary observations; unit t comes only from the field suffix, and annualization is unknown. Capacity never inherits production year or dates. All observations remain available if a flat summary is ambiguous. A source URL means resolvable in this registry, not live-link verification.

CSV uses UTF-8 with BOM (Python encoding utf-8-sig), one header, comma separator and standard quoted fields. Blank cells map to JSON null, never zero. source_keys is a JSON array string in CSV and an array in JSON. Boolean cells are true/false; numbers are native JSON numbers. The dictionary gives types. To prevent spreadsheet formulas, text beginning with an apostrophe, or whose first non-whitespace character is = + - @, receives one leading apostrophe. The reader removes exactly this documented escape; numeric cells are never escaped.

Run `python examples/load_snapshot.py .` from this package directory (Python 3, standard library only). It imports typed CSV rows into in-memory SQLite, executes load_snapshot.sql and verifies parity against the Python China/Korea lead/zinc processing query. Output preserves each observation's metric, period and scope without aggregation. Unknown values remain null. This reference environment is not a compatibility promise for every research system.

All scopes and the four-row sample are filters of one canonical version. Snapshot/build dates are not measurement dates. Eight metals cover directory registrations, not comprehensive global coverage or unique sites. Inventories, history series, events, private research and source originals are excluded. No comparable prior pack exists; no historical changelog is invented. Use coverage.csv for actual counts and gaps, and manifest.json for SHA-256 hashes. The package includes MGW-Snapshot.xlsx with filterable tables, plus matching CSV and JSON files. Choose the format you already use.
