Lewis — reproduction bundle
exported: 2026-09-10T11:50:37+00:00

These are the exact modules that build the data and render every
chart on trade.heterodata.org.

Run it, get identical output:
  1. Place the project's source files under Outputs/ (BEA, FRED,
     Treasury, ONS, Bundesbank, World Bank, IMF, OECD panels).
  2. PYTHONIOENCODING=utf-8 python data_pipeline/build_cache.py
     -> writes site_data/cache/*.parquet + site_manifest.json,
        deterministically (newest-match-wins glob resolution).
  3. chart_service.py renders every figure from that cache, so the
     charts reproduce byte-for-byte against the served site.

Files included:
  data_pipeline/datasets.py
  data_pipeline/build_cache.py
  data_pipeline/refresh.py
  data_pipeline/validators.py
  data_pipeline/selfcheck.py
  data_pipeline/vendor.py
  data_pipeline/adapters/__init__.py
  data_pipeline/adapters/worldbank.py
  data_pipeline/adapters/fred.py
  app/services/chart_service.py
  app/services/data_service.py
  app/services/download_service.py
  app/services/country_service.py
