From 5fc48741a041b0213de7b62aa1559d26aad05089 Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Mon, 17 Aug 2026 09:16:11 +1000 Subject: [PATCH 1/2] Backfill the CI-invisible consumers across 16 manifests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `consumers` list exists so a correction knows what to rebuild, and QuantEcon/data-lectures#69 settled that it records ALL consumers rather than the two the audit can see. Eighteen manifests predate that convention and named only repos inside build_audit.py's SCAN_REPOS. Sixteen of them have at least one consumer outside it; this records them. 28 consumer rows added, taking the corpus from 80 to 108. The two manifests left untouched — japan_population_by_age.csv and lingcod_msy_recovery.csv — genuinely have no consumer outside SCAN_REPOS, which the same sweep establishes rather than assumes. Derived by grepping authenticated tarballs of the four repos outside SCAN_REPOS (lecture-intro.zh-cn, lecture-python.zh-cn, test-actions-lecture-intro, lecture-stats) by BASENAME, with a positive control (a file known to have non-CI-visible consumers, which fired in exactly the two repos it should) and a negative control (a name that cannot exist, zero everywhere) in the same pass. A URL-shaped grep finds none of these: every one of the reads builds its URL across two or more source lines, so matching the assembled URL returns a confident zero. That is the same trap recorded for the hansen_singleton pair, and it is why the sweep keys on the filename. Two of the recorded consumers read a LOCAL copy rather than this repo, and are annotated inline as such: test-actions-lecture-intro's french_rev.md still does np.load('datasets/caron.npy') and the same for nom_balances.npy, while the three .xlsx reads in that same file were repointed; and lecture-intro.zh-cn's prob_dist.md reads _static/lecture_specific/prob_dist/us_adult_heights.csv with a comment that still says to switch once the datasets repo exists. They are listed because they consume the data and a correction must reach them — the note keeps the record honest about how. Both are tracked in QuantEcon/workspace-lectures#46. Every consumer entry is a genuine data read, so the open question of whether a prose-only reference counts as a consumer did not have to be settled here: each repo listed has at least one executable read, and the prose links that exist (the french_rev download list, inflation_history's chapter_3 role) sit alongside a code read of the same file in the same repo. CATALOG.md regenerated, as the consumed-file-check gate requires. Co-Authored-By: Claude Opus 5 (1M context) --- CATALOG.md | 32 ++++++++++++++-------------- lectures/ames_house_prices.csv.yml | 4 ++++ lectures/assignat.xlsx.yml | 4 ++++ lectures/caron.npy.yml | 5 +++++ lectures/chapter_3.xlsx.yml | 4 ++++ lectures/countries.csv.yml | 2 ++ lectures/dette.xlsx.yml | 4 ++++ lectures/employ.csv.yml | 2 ++ lectures/epl_match_goals.csv.yml | 2 ++ lectures/fig_3.xlsx.yml | 4 ++++ lectures/japan_deaths_by_age.csv.yml | 4 ++++ lectures/japan_earthquakes.csv.yml | 2 ++ lectures/longprices.xls.yml | 4 ++++ lectures/mpd2020.xlsx.yml | 4 ++++ lectures/nom_balances.npy.yml | 5 +++++ lectures/realwage.csv.yml | 2 ++ lectures/us_adult_heights.csv.yml | 7 ++++++ 17 files changed, 75 insertions(+), 16 deletions(-) diff --git a/CATALOG.md b/CATALOG.md index 1bed80c..41a7ca3 100644 --- a/CATALOG.md +++ b/CATALOG.md @@ -13,35 +13,35 @@ The dataset registry, **auto-generated** from the sidecar manifests (`lectures/* | [**NEWQDATA.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/NEWQDATA.csv)
Cogley-Sargent (2005) "Drifts and Volatilities" — quarterly US inflation, unemployment and T-bill rate | constructed | [Cogley and Sargent (2005), "Drifts and Volatilities" — the authors' NEWQDATA.MAT](https://doi.org/10.1016/j.red.2004.10.009) | | ✅ permitted | ✅ verified | ✅ committed | 13.4 KB | [lecture-python.myst · phillips_drifts_volatilities.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/phillips_drifts_volatilities.md)
[lecture-python.zh-cn · phillips_drifts_volatilities.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/phillips_drifts_volatilities.md) | | [**SCF_plus_mini.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/SCF_plus_mini.csv)
SCF+ mini — net wealth, income and survey weights, 1950-2016 | constructed | [SCF+ (Kuhn, Schularick and Steins) — an extension of the Survey of Consumer Finances](https://www.journals.uchicago.edu/doi/10.1086/708815) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 31.3 MB | [lecture-python-intro · inequality.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inequality.md)
[lecture-wasm · inequality.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inequality.md)
[lecture-intro.zh-cn · inequality.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/inequality.md)
[test-actions-lecture-intro · inequality.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/inequality.md) | | [**SCF_plus_mini_no_weights.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/SCF_plus_mini_no_weights.csv)
SCF+ mini, weight-expanded — net wealth and income, 1950-2016 | constructed | [SCF+ (Kuhn, Schularick and Steins) — an extension of the Survey of Consumer Finances](https://www.journals.uchicago.edu/doi/10.1086/708815) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 72.4 MB | [lecture-python-intro · mle.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/mle.md)
[lecture-wasm · mle.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/mle.md)
[lecture-intro.zh-cn · mle.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/mle.md)
[test-actions-lecture-intro · mle.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/mle.md) | -| [**ames_house_prices.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/ames_house_prices.csv)
Ames, Iowa — residential house sales, 2006-2010 | constructed | [Ames Housing data (De Cock 2011), Journal of Statistics Education](http://jse.amstat.org/v19n3/decock.pdf) | | ✅ permitted | ✅ verified | ✅ committed | 75.2 KB | [lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md) | -| [**assignat.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/assignat.xlsx)
French Revolution — assignat issues, budgets and seigniorage (Sargent-Velde) | verbatim | [Sargent and Velde, "Macroeconomic Features of the French Revolution" — supporting spreadsheets](https://www.journals.uchicago.edu/doi/10.1086/261992) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 204.6 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md) | -| [**caron.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/caron.npy)
French Revolution — monthly specie value of the assignat, 1791-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.1 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md) | -| [**chapter_3.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/chapter_3.xlsx)
The Ends of Four Big Inflations — appendix tables, transcribed | constructed | [Sargent, "Rational Expectations and Inflation", chapter 3 appendix tables](https://press.princeton.edu/books/paperback/9780691158709/rational-expectations-and-inflation) | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 71.6 KB | [lecture-python-intro · inflation_history.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inflation_history.md)
[lecture-wasm · inflation_history.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inflation_history.md) | +| [**ames_house_prices.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/ames_house_prices.csv)
Ames, Iowa — residential house sales, 2006-2010 | constructed | [Ames Housing data (De Cock 2011), Journal of Statistics Education](http://jse.amstat.org/v19n3/decock.pdf) | | ✅ permitted | ✅ verified | ✅ committed | 75.2 KB | [lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · fitting_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · observed_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/observed_distributions.md) | +| [**assignat.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/assignat.xlsx)
French Revolution — assignat issues, budgets and seigniorage (Sargent-Velde) | verbatim | [Sargent and Velde, "Macroeconomic Features of the French Revolution" — supporting spreadsheets](https://www.journals.uchicago.edu/doi/10.1086/261992) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 204.6 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md) | +| [**caron.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/caron.npy)
French Revolution — monthly specie value of the assignat, 1791-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.1 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md) | +| [**chapter_3.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/chapter_3.xlsx)
The Ends of Four Big Inflations — appendix tables, transcribed | constructed | [Sargent, "Rational Expectations and Inflation", chapter 3 appendix tables](https://press.princeton.edu/books/paperback/9780691158709/rational-expectations-and-inflation) | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 71.6 KB | [lecture-python-intro · inflation_history.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inflation_history.md)
[lecture-wasm · inflation_history.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inflation_history.md)
[lecture-intro.zh-cn · inflation_history.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/inflation_history.md)
[test-actions-lecture-intro · inflation_history.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/inflation_history.md) | | [**cities_brazil.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/cities_brazil.csv)
World Population Review — Brazilian city populations, 2023 | verbatim | [World Population Review — cities in Brazil](https://worldpopulationreview.com/countries/cities/brazil) | | ⚠️ restricted | ⚠️ unverifiable | n/a (verbatim) | 17.5 KB | [lecture-python-intro · heavy_tails.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/heavy_tails.md)
[lecture-wasm · heavy_tails.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/heavy_tails.md)
[lecture-intro.zh-cn · heavy_tails.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/heavy_tails.md)
[test-actions-lecture-intro · heavy_tails.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/heavy_tails.md) | | [**cities_us.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/cities_us.csv)
World Population Review — US city populations, 2023 | verbatim | [World Population Review — US cities](https://worldpopulationreview.com/us-cities) | | ⚠️ restricted | ⚠️ unverifiable | n/a (verbatim) | 47.0 KB | [lecture-python-intro · heavy_tails.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/heavy_tails.md)
[lecture-wasm · heavy_tails.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/heavy_tails.md)
[lecture-intro.zh-cn · heavy_tails.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/heavy_tails.md)
[test-actions-lecture-intro · heavy_tails.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/heavy_tails.md) | -| [**countries.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/countries.csv)
WorldData.info country reference table | verbatim | [WorldData.info — country data downloads](https://www.worlddata.info/downloads/) | Proprietary — © WorldData.info, all rights reserved | ⚠️ restricted | ⚠️ unverifiable | n/a (verbatim) | 48.4 KB | [lecture-python-programming · pandas_panel.md](https://github.com/QuantEcon/lecture-python-programming/blob/main/lectures/pandas_panel.md)
[lecture-python.myst · pandas_panel.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/pandas_panel.md) | -| [**dette.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/dette.xlsx)
French Revolution — public debt, military spending and revenues (Sargent-Velde) | verbatim | [Sargent and Velde, "Macroeconomic Features of the French Revolution" — supporting spreadsheets](https://www.journals.uchicago.edu/doi/10.1086/261992) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 617.2 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md) | -| [**employ.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/employ.csv)
Eurostat employment in Europe — by age and sex, 2007–2016 | constructed | [Eurostat — Employment database](https://ec.europa.eu/eurostat/data/database) | Eurostat reuse (Commission Decision 2011/833/EU) | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.6 MB | [lecture-python-programming · pandas_panel.md](https://github.com/QuantEcon/lecture-python-programming/blob/main/lectures/pandas_panel.md)
[lecture-python.myst · pandas_panel.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/pandas_panel.md) | -| [**epl_match_goals.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/epl_match_goals.csv)
English Premier League — full-time scores, 2015-16 to 2024-25 | constructed | [openfootball / football.json](https://github.com/openfootball/football.json) | Public domain | ✅ permitted | ✅ verified | ✅ committed | 203.2 KB | [lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md) | -| [**fig_3.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/fig_3.xlsx)
French Revolution — figure 3 series (Sargent-Velde) | verbatim | [Sargent and Velde, "Macroeconomic Features of the French Revolution" — supporting spreadsheets](https://www.journals.uchicago.edu/doi/10.1086/261992) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 9.2 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md) | +| [**countries.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/countries.csv)
WorldData.info country reference table | verbatim | [WorldData.info — country data downloads](https://www.worlddata.info/downloads/) | Proprietary — © WorldData.info, all rights reserved | ⚠️ restricted | ⚠️ unverifiable | n/a (verbatim) | 48.4 KB | [lecture-python-programming · pandas_panel.md](https://github.com/QuantEcon/lecture-python-programming/blob/main/lectures/pandas_panel.md)
[lecture-python.myst · pandas_panel.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/pandas_panel.md)
[lecture-python.zh-cn · pandas_panel.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/pandas_panel.md) | +| [**dette.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/dette.xlsx)
French Revolution — public debt, military spending and revenues (Sargent-Velde) | verbatim | [Sargent and Velde, "Macroeconomic Features of the French Revolution" — supporting spreadsheets](https://www.journals.uchicago.edu/doi/10.1086/261992) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 617.2 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md) | +| [**employ.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/employ.csv)
Eurostat employment in Europe — by age and sex, 2007–2016 | constructed | [Eurostat — Employment database](https://ec.europa.eu/eurostat/data/database) | Eurostat reuse (Commission Decision 2011/833/EU) | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.6 MB | [lecture-python-programming · pandas_panel.md](https://github.com/QuantEcon/lecture-python-programming/blob/main/lectures/pandas_panel.md)
[lecture-python.myst · pandas_panel.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/pandas_panel.md)
[lecture-python.zh-cn · pandas_panel.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/pandas_panel.md) | +| [**epl_match_goals.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/epl_match_goals.csv)
English Premier League — full-time scores, 2015-16 to 2024-25 | constructed | [openfootball / football.json](https://github.com/openfootball/football.json) | Public domain | ✅ permitted | ✅ verified | ✅ committed | 203.2 KB | [lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · fitting_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/fitting_distributions.md) | +| [**fig_3.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/fig_3.xlsx)
French Revolution — figure 3 series (Sargent-Velde) | verbatim | [Sargent and Velde, "Macroeconomic Features of the French Revolution" — supporting spreadsheets](https://www.journals.uchicago.edu/doi/10.1086/261992) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 9.2 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md) | | [**forbes-billionaires.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/forbes-billionaires.csv)
Forbes Billionaires — individual net worth | constructed | [Forbes Billionaires](https://www.forbes.com/billionaires/) | | ⚠️ restricted | ⚠️ unverifiable | committed-frozen | 775.7 KB | [lecture-python-intro · heavy_tails.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/heavy_tails.md)
[lecture-wasm · heavy_tails.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/heavy_tails.md)
[lecture-intro.zh-cn · heavy_tails.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/heavy_tails.md)
[test-actions-lecture-intro · heavy_tails.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/heavy_tails.md) | | [**forbes-global2000.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/forbes-global2000.csv)
Forbes Global 2000 — firm size measures | constructed | [Forbes Global 2000](https://www.forbes.com/lists/global2000/) | | ⚠️ restricted | ⚠️ unverifiable | committed-frozen | 115.6 KB | [lecture-python-intro · heavy_tails.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/heavy_tails.md)
[lecture-wasm · heavy_tails.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/heavy_tails.md)
[lecture-intro.zh-cn · heavy_tails.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/heavy_tails.md)
[test-actions-lecture-intro · heavy_tails.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/heavy_tails.md) | | [**fp.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/fp.dta)
Treisman (2016) Russia's Billionaires — country-year panel of billionaire counts and covariates | verbatim | [Replication package for Treisman (2016), "Russia's Billionaires" (AER Papers & Proceedings)](https://www.aeaweb.org/articles?id=10.1257/aer.p20161068) | | ✅ permitted | ✅ verified | n/a (verbatim) | 1000.1 KB | [lecture-python.myst · mle.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/mle.md)
[lecture-python.zh-cn · mle.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/mle.md)
[lecture-stats · mle.md](https://github.com/QuantEcon/lecture-stats/blob/main/lectures/mle.md) | | [**hansen_singleton_1982_data.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/hansen_singleton_1982_data.csv)
Hansen-Singleton (1982) replication — monthly US gross real market return and consumption growth, 1959-1978 | constructed | [FRED (BEA and BLS monthly series) and the Ken French data library (F-F_Research_Data_Factors)](https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html) | | ✅ permitted | ✅ verified | ✅ committed | 11.4 KB | [lecture-python.myst · hansen_singleton_1982.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/hansen_singleton_1982.md)
[lecture-python.zh-cn · hansen_singleton_1982.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/hansen_singleton_1982.md) | | [**hansen_singleton_1983_data.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/hansen_singleton_1983_data.csv)
Hansen-Singleton (1983) replication — monthly US returns, consumption and inflation, 1959-1978 | constructed | [FRED (BEA and BLS monthly series) and the Ken French data library (F-F_Research_Data_Factors)](https://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html) | | ✅ permitted | ✅ verified | ✅ committed | 25.5 KB | [lecture-python.myst · hansen_singleton_1983.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/hansen_singleton_1983.md)
[lecture-python.zh-cn · hansen_singleton_1983.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/hansen_singleton_1983.md) | -| [**japan_deaths_by_age.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/japan_deaths_by_age.csv)
Japan — deaths by single year of age, 2023 | constructed | [United Nations, Department of Economic and Social Affairs, Population Division — World Population Prospects 2024](https://population.un.org/wpp/downloads) | CC BY 3.0 IGO | ✅ permitted | ✅ verified | ✅ committed | 1.7 KB | [lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md) | -| [**japan_earthquakes.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/japan_earthquakes.csv)
Japan region — earthquakes of magnitude 5 and above, 2000-2024 | constructed | [Advanced National Seismic System (ANSS) Comprehensive Earthquake Catalog (ComCat), US Geological Survey](https://earthquake.usgs.gov/earthquakes/search/) | US Government work — public domain | ✅ permitted | ✅ verified | ✅ committed | 172.8 KB | [lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md) | +| [**japan_deaths_by_age.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/japan_deaths_by_age.csv)
Japan — deaths by single year of age, 2023 | constructed | [United Nations, Department of Economic and Social Affairs, Population Division — World Population Prospects 2024](https://population.un.org/wpp/downloads) | CC BY 3.0 IGO | ✅ permitted | ✅ verified | ✅ committed | 1.7 KB | [lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · fitting_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · observed_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/observed_distributions.md) | +| [**japan_earthquakes.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/japan_earthquakes.csv)
Japan region — earthquakes of magnitude 5 and above, 2000-2024 | constructed | [Advanced National Seismic System (ANSS) Comprehensive Earthquake Catalog (ComCat), US Geological Survey](https://earthquake.usgs.gov/earthquakes/search/) | US Government work — public domain | ✅ permitted | ✅ verified | ✅ committed | 172.8 KB | [lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · fitting_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/fitting_distributions.md) | | [**japan_population_by_age.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/japan_population_by_age.csv)
Japan — population by single year of age, 2024 | constructed | [Population Estimates, Statistics Bureau of Japan, Ministry of Internal Affairs and Communications](https://www.stat.go.jp/english/data/jinsui/index.html) | Japan Statistics Bureau terms of use | ✅ permitted | ✅ verified | ✅ committed | 1.3 KB | [lecture-python-intro · prob_dist.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/prob_dist.md) | | [**life-expectancy-vs-gdp-per-capita.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/life-expectancy-vs-gdp-per-capita.csv)
Life expectancy vs GDP per capita — Our World in Data grapher export | verbatim | [Our World in Data — "Life expectancy vs. GDP per capita" grapher](https://ourworldindata.org/grapher/life-expectancy-vs-gdp-per-capita) | | ✅ permitted | ⇄ diverged | n/a (verbatim) | 2.0 MB | [lecture-python-intro · simple_linear_regression.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/simple_linear_regression.md)
[lecture-wasm · simple_linear_regression.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/simple_linear_regression.md)
[lecture-intro.zh-cn · simple_linear_regression.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/simple_linear_regression.md)
[test-actions-lecture-intro · simple_linear_regression.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/simple_linear_regression.md) | | [**lingcod_msy_recovery.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/lingcod_msy_recovery.csv)
Pacific Coast lingcod — biomass and fishing pressure relative to MSY | constructed | [RAM Legacy Stock Assessment Database](https://www.ramlegacy.org/) | CC BY 4.0 | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 2.3 KB | [lecture-python-intro · msy_fishery.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/msy_fishery.md) | -| [**longprices.xls**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/longprices.xls)
Price levels in four hard-currency countries, 1600-2000 | verbatim | [Sargent and Velde, "The Big Problem of Small Change" — supporting data](https://press.princeton.edu/books/hardcover/9780691116358/the-big-problem-of-small-change) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 379.5 KB | [lecture-python-intro · inflation_history.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inflation_history.md)
[lecture-wasm · inflation_history.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inflation_history.md) | +| [**longprices.xls**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/longprices.xls)
Price levels in four hard-currency countries, 1600-2000 | verbatim | [Sargent and Velde, "The Big Problem of Small Change" — supporting data](https://press.princeton.edu/books/hardcover/9780691116358/the-big-problem-of-small-change) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 379.5 KB | [lecture-python-intro · inflation_history.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inflation_history.md)
[lecture-wasm · inflation_history.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inflation_history.md)
[lecture-intro.zh-cn · inflation_history.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/inflation_history.md)
[test-actions-lecture-intro · inflation_history.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/inflation_history.md) | | [**maketable1.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable1.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 1 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 1 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 14.1 KB | [lecture-python.myst · ols.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/ols.md)
[lecture-python.zh-cn · ols.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/ols.md) | | [**maketable2.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable2.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 2 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 2 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 10.9 KB | [lecture-python.myst · ols.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/ols.md)
[lecture-python.zh-cn · ols.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/ols.md) | | [**maketable4.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable4.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 4 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 4 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 11.7 KB | [lecture-python.myst · ols.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/ols.md)
[lecture-python.zh-cn · ols.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/ols.md) | -| [**mpd2020.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/mpd2020.xlsx)
Maddison Project Database 2020 — GDP per capita and population, 1 CE to 2018 | constructed | [Maddison Project Database, version 2020](https://www.rug.nl/ggdc/historicaldevelopment/maddison/releases/maddison-project-database-2020) | CC BY 4.0 | ✅ permitted | ⇄ diverged | ⚠️ unrecovered | 1.7 MB | [lecture-python-intro · long_run_growth.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/long_run_growth.md)
[lecture-wasm · long_run_growth.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/long_run_growth.md) | -| [**nom_balances.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/nom_balances.npy)
French Revolution — monthly nominal assignat balances, 1789-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.4 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md) | -| [**realwage.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/realwage.csv)
OECD real minimum wages — 32 countries, 2006–2016 | constructed | [OECD — Real minimum wages (RMW)](https://stats.oecd.org/Index.aspx?DataSetCode=RMW) | CC BY 4.0 | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 118.7 KB | [lecture-python-programming · pandas_panel.md](https://github.com/QuantEcon/lecture-python-programming/blob/main/lectures/pandas_panel.md)
[lecture-python.myst · pandas_panel.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/pandas_panel.md) | -| [**us_adult_heights.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/us_adult_heights.csv)
United States — adult standing height by sex, NHANES 2015-2018 | constructed | [National Health and Nutrition Examination Survey (NHANES), US Centers for Disease Control and Prevention, National Center for Health Statistics](https://www.cdc.gov/nchs/nhanes/index.htm) | US Government work — public domain | ✅ permitted | ✅ verified | ✅ committed | 123.1 KB | [lecture-python-intro · prob_dist.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/prob_dist.md)
[lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md) | +| [**mpd2020.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/mpd2020.xlsx)
Maddison Project Database 2020 — GDP per capita and population, 1 CE to 2018 | constructed | [Maddison Project Database, version 2020](https://www.rug.nl/ggdc/historicaldevelopment/maddison/releases/maddison-project-database-2020) | CC BY 4.0 | ✅ permitted | ⇄ diverged | ⚠️ unrecovered | 1.7 MB | [lecture-python-intro · long_run_growth.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/long_run_growth.md)
[lecture-wasm · long_run_growth.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/long_run_growth.md)
[lecture-intro.zh-cn · long_run_growth.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/long_run_growth.md)
[test-actions-lecture-intro · long_run_growth.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/long_run_growth.md) | +| [**nom_balances.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/nom_balances.npy)
French Revolution — monthly nominal assignat balances, 1789-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.4 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md) | +| [**realwage.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/realwage.csv)
OECD real minimum wages — 32 countries, 2006–2016 | constructed | [OECD — Real minimum wages (RMW)](https://stats.oecd.org/Index.aspx?DataSetCode=RMW) | CC BY 4.0 | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 118.7 KB | [lecture-python-programming · pandas_panel.md](https://github.com/QuantEcon/lecture-python-programming/blob/main/lectures/pandas_panel.md)
[lecture-python.myst · pandas_panel.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/pandas_panel.md)
[lecture-python.zh-cn · pandas_panel.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/pandas_panel.md) | +| [**us_adult_heights.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/us_adult_heights.csv)
United States — adult standing height by sex, NHANES 2015-2018 | constructed | [National Health and Nutrition Examination Survey (NHANES), US Centers for Disease Control and Prevention, National Center for Health Statistics](https://www.cdc.gov/nchs/nhanes/index.htm) | US Government work — public domain | ✅ permitted | ✅ verified | ✅ committed | 123.1 KB | [lecture-python-intro · prob_dist.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/prob_dist.md)
[lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · fitting_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · observed_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/observed_distributions.md)
[lecture-intro.zh-cn · prob_dist.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/prob_dist.md) | | [**usa-gini-nwealth-tincome-lincome.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/usa-gini-nwealth-tincome-lincome.csv)
US Gini coefficients — net wealth, total income and labour income, 1950-2016 | constructed | [Derived from SCF_plus_mini.csv (this repo), an extract of the SCF+ panel](https://github.com/QuantEcon/data-lectures/blob/main/lectures/SCF_plus_mini.csv) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 1.2 KB | [lecture-python-intro · inequality.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inequality.md)
[lecture-wasm · inequality.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inequality.md)
[lecture-intro.zh-cn · inequality.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/inequality.md)
[test-actions-lecture-intro · inequality.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/inequality.md) | --- diff --git a/lectures/ames_house_prices.csv.yml b/lectures/ames_house_prices.csv.yml index 20d8fca..43d69af 100644 --- a/lectures/ames_house_prices.csv.yml +++ b/lectures/ames_house_prices.csv.yml @@ -70,6 +70,10 @@ consumers: file: lectures/observed_distributions.md - repo: QuantEcon/lecture-python-intro file: lectures/fitting_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/fitting_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/observed_distributions.md builder: builders/ames_house_prices.py builder_status: committed diff --git a/lectures/assignat.xlsx.yml b/lectures/assignat.xlsx.yml index e7451fe..ea22a03 100644 --- a/lectures/assignat.xlsx.yml +++ b/lectures/assignat.xlsx.yml @@ -112,6 +112,10 @@ consumers: file: lectures/french_rev.md - repo: QuantEcon/lecture-wasm file: lectures/french_rev.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/french_rev.md + - repo: QuantEcon/test-actions-lecture-intro + file: lectures/french_rev.md builder: null builder_status: not-applicable # verbatim republication -- nothing to build diff --git a/lectures/caron.npy.yml b/lectures/caron.npy.yml index 2f1293d..54a2d8f 100644 --- a/lectures/caron.npy.yml +++ b/lectures/caron.npy.yml @@ -99,6 +99,11 @@ consumers: file: lectures/french_rev.md - repo: QuantEcon/lecture-wasm file: lectures/french_rev.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/french_rev.md + - repo: QuantEcon/test-actions-lecture-intro + file: lectures/french_rev.md + # reads a local datasets/ copy, not this file — see ws#46 # --------------------------------------------------------------------------- # Builder diff --git a/lectures/chapter_3.xlsx.yml b/lectures/chapter_3.xlsx.yml index 6015398..65b5cd3 100644 --- a/lectures/chapter_3.xlsx.yml +++ b/lectures/chapter_3.xlsx.yml @@ -99,6 +99,10 @@ consumers: file: lectures/inflation_history.md - repo: QuantEcon/lecture-wasm file: lectures/inflation_history.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/inflation_history.md + - repo: QuantEcon/test-actions-lecture-intro + file: lectures/inflation_history.md # --------------------------------------------------------------------------- # Builder diff --git a/lectures/countries.csv.yml b/lectures/countries.csv.yml index dd66a7b..f916dc3 100644 --- a/lectures/countries.csv.yml +++ b/lectures/countries.csv.yml @@ -89,6 +89,8 @@ consumers: file: lectures/pandas_panel.md - repo: QuantEcon/lecture-python.myst file: lectures/pandas_panel.md + - repo: QuantEcon/lecture-python.zh-cn + file: lectures/pandas_panel.md # verbatim — no builder builder_status: not-applicable diff --git a/lectures/dette.xlsx.yml b/lectures/dette.xlsx.yml index 5c1a733..1acf1e5 100644 --- a/lectures/dette.xlsx.yml +++ b/lectures/dette.xlsx.yml @@ -117,6 +117,10 @@ consumers: file: lectures/french_rev.md - repo: QuantEcon/lecture-wasm file: lectures/french_rev.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/french_rev.md + - repo: QuantEcon/test-actions-lecture-intro + file: lectures/french_rev.md builder: null builder_status: not-applicable # verbatim republication -- nothing to build diff --git a/lectures/employ.csv.yml b/lectures/employ.csv.yml index 26f1668..bb0d88f 100644 --- a/lectures/employ.csv.yml +++ b/lectures/employ.csv.yml @@ -75,6 +75,8 @@ consumers: file: lectures/pandas_panel.md - repo: QuantEcon/lecture-python.myst file: lectures/pandas_panel.md + - repo: QuantEcon/lecture-python.zh-cn + file: lectures/pandas_panel.md builder: null builder_status: unrecovered # inherited constructed file (PLAN Phase 9) diff --git a/lectures/epl_match_goals.csv.yml b/lectures/epl_match_goals.csv.yml index 864bc2d..41d983d 100644 --- a/lectures/epl_match_goals.csv.yml +++ b/lectures/epl_match_goals.csv.yml @@ -64,6 +64,8 @@ schema: consumers: - repo: QuantEcon/lecture-python-intro file: lectures/fitting_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/fitting_distributions.md builder: builders/epl_match_goals.py builder_status: committed diff --git a/lectures/fig_3.xlsx.yml b/lectures/fig_3.xlsx.yml index 7d22047..671e9c3 100644 --- a/lectures/fig_3.xlsx.yml +++ b/lectures/fig_3.xlsx.yml @@ -92,6 +92,10 @@ consumers: file: lectures/french_rev.md - repo: QuantEcon/lecture-wasm file: lectures/french_rev.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/french_rev.md + - repo: QuantEcon/test-actions-lecture-intro + file: lectures/french_rev.md builder: null builder_status: not-applicable # verbatim republication -- nothing to build diff --git a/lectures/japan_deaths_by_age.csv.yml b/lectures/japan_deaths_by_age.csv.yml index e70b399..4a61774 100644 --- a/lectures/japan_deaths_by_age.csv.yml +++ b/lectures/japan_deaths_by_age.csv.yml @@ -73,6 +73,10 @@ consumers: file: lectures/observed_distributions.md - repo: QuantEcon/lecture-python-intro file: lectures/fitting_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/fitting_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/observed_distributions.md builder: builders/japan_deaths_by_age.py builder_status: committed diff --git a/lectures/japan_earthquakes.csv.yml b/lectures/japan_earthquakes.csv.yml index 140a2f3..33b73f1 100644 --- a/lectures/japan_earthquakes.csv.yml +++ b/lectures/japan_earthquakes.csv.yml @@ -74,6 +74,8 @@ schema: consumers: - repo: QuantEcon/lecture-python-intro file: lectures/fitting_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/fitting_distributions.md builder: builders/japan_earthquakes.py builder_status: committed diff --git a/lectures/longprices.xls.yml b/lectures/longprices.xls.yml index 5843c62..4befef6 100644 --- a/lectures/longprices.xls.yml +++ b/lectures/longprices.xls.yml @@ -97,6 +97,10 @@ consumers: file: lectures/inflation_history.md - repo: QuantEcon/lecture-wasm file: lectures/inflation_history.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/inflation_history.md + - repo: QuantEcon/test-actions-lecture-intro + file: lectures/inflation_history.md builder: null builder_status: not-applicable # verbatim republication -- nothing to build diff --git a/lectures/mpd2020.xlsx.yml b/lectures/mpd2020.xlsx.yml index 80f6201..f38b234 100644 --- a/lectures/mpd2020.xlsx.yml +++ b/lectures/mpd2020.xlsx.yml @@ -144,6 +144,10 @@ consumers: file: lectures/long_run_growth.md - repo: QuantEcon/lecture-wasm file: lectures/long_run_growth.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/long_run_growth.md + - repo: QuantEcon/test-actions-lecture-intro + file: lectures/long_run_growth.md # --------------------------------------------------------------------------- # Builder diff --git a/lectures/nom_balances.npy.yml b/lectures/nom_balances.npy.yml index e0ba2ff..111ae57 100644 --- a/lectures/nom_balances.npy.yml +++ b/lectures/nom_balances.npy.yml @@ -94,6 +94,11 @@ consumers: file: lectures/french_rev.md - repo: QuantEcon/lecture-wasm file: lectures/french_rev.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/french_rev.md + - repo: QuantEcon/test-actions-lecture-intro + file: lectures/french_rev.md + # reads a local datasets/ copy, not this file — see ws#46 # --------------------------------------------------------------------------- # Builder diff --git a/lectures/realwage.csv.yml b/lectures/realwage.csv.yml index 3b1379a..d692763 100644 --- a/lectures/realwage.csv.yml +++ b/lectures/realwage.csv.yml @@ -67,6 +67,8 @@ consumers: file: lectures/pandas_panel.md - repo: QuantEcon/lecture-python.myst file: lectures/pandas_panel.md + - repo: QuantEcon/lecture-python.zh-cn + file: lectures/pandas_panel.md builder: null builder_status: unrecovered # inherited constructed file (PLAN Phase 9) diff --git a/lectures/us_adult_heights.csv.yml b/lectures/us_adult_heights.csv.yml index 5d2bd40..954f93d 100644 --- a/lectures/us_adult_heights.csv.yml +++ b/lectures/us_adult_heights.csv.yml @@ -81,6 +81,13 @@ consumers: file: lectures/observed_distributions.md - repo: QuantEcon/lecture-python-intro file: lectures/fitting_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/fitting_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/observed_distributions.md + - repo: QuantEcon/lecture-intro.zh-cn + file: lectures/prob_dist.md + # reads a local _static copy, not this file — see ws#46 builder: builders/us_adult_heights.py builder_status: committed From b8033d427ff3b3d27d89128eca56a49ca3cf16db Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Mon, 17 Aug 2026 09:27:43 +1000 Subject: [PATCH 2/2] Broaden `consumers` to mean "must rebuild", not "reads this repo" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copilot review of #91 found a real semantic conflict rather than a comment nit. Eight manifests carried a header reading "Every lecture that reads this file FROM THIS REPO ... it may still be consumed from a lecture repo's own copy", which explicitly EXCLUDES a local-copy reader. The backfill added three such readers, so under that wording those entries were wrong. manifest-schema.yml already documented the opposite, broader meaning — "how a fix-in-place finds the lectures to rebuild" — so the eight manifest headers were the outliers, not the additions. Resolved in favour of the broader meaning, which is the one that makes the field useful: a correction to these bytes must reach every consumer, whether or not it has been repointed yet. Four changes: The eight headers now say the list answers "what must be rebuilt if these bytes change", that it therefore names consumers still on a local copy, and that such an entry carries a `note`. The three local-copy annotations were YAML comments, which nothing can check. They are now a `note:` field on the consumer entry — the same argument as #86's enforcement: a rule or a fact recorded where no tool can read it is not a record. Each cites QuantEcon/workspace-lectures#46 fully qualified, replacing the `ws#46` shorthand that means nothing when read from this repo. manifest-schema.yml documents `consumers[].note`, why a not-yet-repointed consumer is listed at all, and the fully-qualified-reference requirement. build_catalog.py surfaces the note. Without it the "Used by" column reads as "these lectures fetch this file", which is the wrong inference for exactly the rows that need care. Renders the note's first sentence under the consumer link — enough to block the wrong reading, short enough not to blow out a table cell, with the manifest holding the detail. Verified: 33 manifests and the schema parse; 108 consumer rows, 3 carrying a note, no unexpected keys; the "FROM THIS REPO" wording is gone from every manifest; CATALOG.md regenerates deterministically across two runs; strict audit exits 0. Co-Authored-By: Claude Opus 5 (1M context) --- CATALOG.md | 6 +++--- lectures/assignat.xlsx.yml | 10 ++++++---- lectures/caron.npy.yml | 16 +++++++++++----- lectures/chapter_3.xlsx.yml | 10 ++++++---- lectures/dette.xlsx.yml | 10 ++++++---- lectures/fig_3.xlsx.yml | 10 ++++++---- lectures/longprices.xls.yml | 10 ++++++---- lectures/mpd2020.xlsx.yml | 10 ++++++---- lectures/nom_balances.npy.yml | 16 +++++++++++----- lectures/us_adult_heights.csv.yml | 6 +++++- manifest-schema.yml | 18 ++++++++++++++++++ scripts/build_catalog.py | 18 ++++++++++++++++-- 12 files changed, 100 insertions(+), 40 deletions(-) diff --git a/CATALOG.md b/CATALOG.md index 41a7ca3..af812cc 100644 --- a/CATALOG.md +++ b/CATALOG.md @@ -15,7 +15,7 @@ The dataset registry, **auto-generated** from the sidecar manifests (`lectures/* | [**SCF_plus_mini_no_weights.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/SCF_plus_mini_no_weights.csv)
SCF+ mini, weight-expanded — net wealth and income, 1950-2016 | constructed | [SCF+ (Kuhn, Schularick and Steins) — an extension of the Survey of Consumer Finances](https://www.journals.uchicago.edu/doi/10.1086/708815) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 72.4 MB | [lecture-python-intro · mle.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/mle.md)
[lecture-wasm · mle.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/mle.md)
[lecture-intro.zh-cn · mle.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/mle.md)
[test-actions-lecture-intro · mle.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/mle.md) | | [**ames_house_prices.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/ames_house_prices.csv)
Ames, Iowa — residential house sales, 2006-2010 | constructed | [Ames Housing data (De Cock 2011), Journal of Statistics Education](http://jse.amstat.org/v19n3/decock.pdf) | | ✅ permitted | ✅ verified | ✅ committed | 75.2 KB | [lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · fitting_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · observed_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/observed_distributions.md) | | [**assignat.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/assignat.xlsx)
French Revolution — assignat issues, budgets and seigniorage (Sargent-Velde) | verbatim | [Sargent and Velde, "Macroeconomic Features of the French Revolution" — supporting spreadsheets](https://www.journals.uchicago.edu/doi/10.1086/261992) | | ✅ permitted | ⚠️ unverifiable | n/a (verbatim) | 204.6 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md) | -| [**caron.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/caron.npy)
French Revolution — monthly specie value of the assignat, 1791-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.1 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md) | +| [**caron.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/caron.npy)
French Revolution — monthly specie value of the assignat, 1791-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.1 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md)
⚠️ Reads a local `datasets/` copy, not this file | | [**chapter_3.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/chapter_3.xlsx)
The Ends of Four Big Inflations — appendix tables, transcribed | constructed | [Sargent, "Rational Expectations and Inflation", chapter 3 appendix tables](https://press.princeton.edu/books/paperback/9780691158709/rational-expectations-and-inflation) | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 71.6 KB | [lecture-python-intro · inflation_history.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inflation_history.md)
[lecture-wasm · inflation_history.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inflation_history.md)
[lecture-intro.zh-cn · inflation_history.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/inflation_history.md)
[test-actions-lecture-intro · inflation_history.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/inflation_history.md) | | [**cities_brazil.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/cities_brazil.csv)
World Population Review — Brazilian city populations, 2023 | verbatim | [World Population Review — cities in Brazil](https://worldpopulationreview.com/countries/cities/brazil) | | ⚠️ restricted | ⚠️ unverifiable | n/a (verbatim) | 17.5 KB | [lecture-python-intro · heavy_tails.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/heavy_tails.md)
[lecture-wasm · heavy_tails.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/heavy_tails.md)
[lecture-intro.zh-cn · heavy_tails.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/heavy_tails.md)
[test-actions-lecture-intro · heavy_tails.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/heavy_tails.md) | | [**cities_us.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/cities_us.csv)
World Population Review — US city populations, 2023 | verbatim | [World Population Review — US cities](https://worldpopulationreview.com/us-cities) | | ⚠️ restricted | ⚠️ unverifiable | n/a (verbatim) | 47.0 KB | [lecture-python-intro · heavy_tails.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/heavy_tails.md)
[lecture-wasm · heavy_tails.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/heavy_tails.md)
[lecture-intro.zh-cn · heavy_tails.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/heavy_tails.md)
[test-actions-lecture-intro · heavy_tails.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/heavy_tails.md) | @@ -39,9 +39,9 @@ The dataset registry, **auto-generated** from the sidecar manifests (`lectures/* | [**maketable2.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable2.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 2 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 2 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 10.9 KB | [lecture-python.myst · ols.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/ols.md)
[lecture-python.zh-cn · ols.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/ols.md) | | [**maketable4.dta**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/maketable4.dta)
Acemoglu-Johnson-Robinson (2001) colonial origins — table 4 replication data | verbatim | [Daron Acemoglu data archive — "The Colonial Origins of Comparative Development", table 4 (program and data files)](https://economics.mit.edu/people/faculty/daron-acemoglu/data-archive) | | ✅ permitted | ✅ verified | n/a (verbatim) | 11.7 KB | [lecture-python.myst · ols.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/ols.md)
[lecture-python.zh-cn · ols.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/ols.md) | | [**mpd2020.xlsx**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/mpd2020.xlsx)
Maddison Project Database 2020 — GDP per capita and population, 1 CE to 2018 | constructed | [Maddison Project Database, version 2020](https://www.rug.nl/ggdc/historicaldevelopment/maddison/releases/maddison-project-database-2020) | CC BY 4.0 | ✅ permitted | ⇄ diverged | ⚠️ unrecovered | 1.7 MB | [lecture-python-intro · long_run_growth.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/long_run_growth.md)
[lecture-wasm · long_run_growth.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/long_run_growth.md)
[lecture-intro.zh-cn · long_run_growth.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/long_run_growth.md)
[test-actions-lecture-intro · long_run_growth.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/long_run_growth.md) | -| [**nom_balances.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/nom_balances.npy)
French Revolution — monthly nominal assignat balances, 1789-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.4 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md) | +| [**nom_balances.npy**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/nom_balances.npy)
French Revolution — monthly nominal assignat balances, 1789-1796 | constructed | unrecorded | | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 1.4 KB | [lecture-python-intro · french_rev.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/french_rev.md)
[lecture-wasm · french_rev.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/french_rev.md)
[lecture-intro.zh-cn · french_rev.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/french_rev.md)
[test-actions-lecture-intro · french_rev.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/french_rev.md)
⚠️ Reads a local `datasets/` copy, not this file | | [**realwage.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/realwage.csv)
OECD real minimum wages — 32 countries, 2006–2016 | constructed | [OECD — Real minimum wages (RMW)](https://stats.oecd.org/Index.aspx?DataSetCode=RMW) | CC BY 4.0 | ✅ permitted | ⚠️ unverifiable | ⚠️ unrecovered | 118.7 KB | [lecture-python-programming · pandas_panel.md](https://github.com/QuantEcon/lecture-python-programming/blob/main/lectures/pandas_panel.md)
[lecture-python.myst · pandas_panel.md](https://github.com/QuantEcon/lecture-python.myst/blob/main/lectures/pandas_panel.md)
[lecture-python.zh-cn · pandas_panel.md](https://github.com/QuantEcon/lecture-python.zh-cn/blob/main/lectures/pandas_panel.md) | -| [**us_adult_heights.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/us_adult_heights.csv)
United States — adult standing height by sex, NHANES 2015-2018 | constructed | [National Health and Nutrition Examination Survey (NHANES), US Centers for Disease Control and Prevention, National Center for Health Statistics](https://www.cdc.gov/nchs/nhanes/index.htm) | US Government work — public domain | ✅ permitted | ✅ verified | ✅ committed | 123.1 KB | [lecture-python-intro · prob_dist.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/prob_dist.md)
[lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · fitting_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · observed_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/observed_distributions.md)
[lecture-intro.zh-cn · prob_dist.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/prob_dist.md) | +| [**us_adult_heights.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/us_adult_heights.csv)
United States — adult standing height by sex, NHANES 2015-2018 | constructed | [National Health and Nutrition Examination Survey (NHANES), US Centers for Disease Control and Prevention, National Center for Health Statistics](https://www.cdc.gov/nchs/nhanes/index.htm) | US Government work — public domain | ✅ permitted | ✅ verified | ✅ committed | 123.1 KB | [lecture-python-intro · prob_dist.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/prob_dist.md)
[lecture-python-intro · observed_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/observed_distributions.md)
[lecture-python-intro · fitting_distributions.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · fitting_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/fitting_distributions.md)
[lecture-intro.zh-cn · observed_distributions.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/observed_distributions.md)
[lecture-intro.zh-cn · prob_dist.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/prob_dist.md)
⚠️ Reads a local `_static/lecture_specific/prob_dist/` copy, not this file, under a comment that still says to switch once the datasets repo exists | | [**usa-gini-nwealth-tincome-lincome.csv**](https://github.com/QuantEcon/data-lectures/raw/main/lectures/usa-gini-nwealth-tincome-lincome.csv)
US Gini coefficients — net wealth, total income and labour income, 1950-2016 | constructed | [Derived from SCF_plus_mini.csv (this repo), an extract of the SCF+ panel](https://github.com/QuantEcon/data-lectures/blob/main/lectures/SCF_plus_mini.csv) | | ✅ permitted | ⚠️ unverifiable | committed-frozen | 1.2 KB | [lecture-python-intro · inequality.md](https://github.com/QuantEcon/lecture-python-intro/blob/main/lectures/inequality.md)
[lecture-wasm · inequality.md](https://github.com/QuantEcon/lecture-wasm/blob/main/lectures/inequality.md)
[lecture-intro.zh-cn · inequality.md](https://github.com/QuantEcon/lecture-intro.zh-cn/blob/main/lectures/inequality.md)
[test-actions-lecture-intro · inequality.md](https://github.com/QuantEcon/test-actions-lecture-intro/blob/main/lectures/inequality.md) | --- diff --git a/lectures/assignat.xlsx.yml b/lectures/assignat.xlsx.yml index ea22a03..f5f1730 100644 --- a/lectures/assignat.xlsx.yml +++ b/lectures/assignat.xlsx.yml @@ -103,10 +103,12 @@ schema: row_count_floor: null # per-range, declared above known_nulls: {} -# Every lecture that reads this file FROM THIS REPO. Empty does not mean the -# file is unused -- it may still be consumed from a lecture repo's own copy, -# which is exactly what a repoint moves. Populated in the repoint PR, at the -# same time migration.yml flips to `repointed` (PLAN, "Repoint rules"). +# Every lecture that CONSUMES this dataset. The list answers "what must be +# rebuilt if these bytes change", so it also names a consumer that still reads +# a local copy rather than this repo -- such an entry carries a `note` saying +# so, and is the only machine-readable trace of that divergence. Empty means +# nothing consumes it yet. Populated in the repoint PR, at the same time +# migration.yml flips to `repointed` (PLAN, "Repoint rules"). consumers: - repo: QuantEcon/lecture-python-intro file: lectures/french_rev.md diff --git a/lectures/caron.npy.yml b/lectures/caron.npy.yml index 54a2d8f..4a7944f 100644 --- a/lectures/caron.npy.yml +++ b/lectures/caron.npy.yml @@ -90,10 +90,12 @@ schema: of this array with rows 14:77 of nom_balances.npy. Changing the length of either silently misaligns the other. -# Every lecture that reads this file FROM THIS REPO. Empty does not mean the -# file is unused -- it may still be consumed from a lecture repo's own copy, -# which is exactly what a repoint moves. Populated in the repoint PR, at the -# same time migration.yml flips to `repointed` (PLAN, "Repoint rules"). +# Every lecture that CONSUMES this dataset. The list answers "what must be +# rebuilt if these bytes change", so it also names a consumer that still reads +# a local copy rather than this repo -- such an entry carries a `note` saying +# so, and is the only machine-readable trace of that divergence. Empty means +# nothing consumes it yet. Populated in the repoint PR, at the same time +# migration.yml flips to `repointed` (PLAN, "Repoint rules"). consumers: - repo: QuantEcon/lecture-python-intro file: lectures/french_rev.md @@ -103,7 +105,11 @@ consumers: file: lectures/french_rev.md - repo: QuantEcon/test-actions-lecture-intro file: lectures/french_rev.md - # reads a local datasets/ copy, not this file — see ws#46 + note: > + Reads a local `datasets/` copy, not this file. A PARTIAL repoint: the + three .xlsx reads in the same lecture were repointed and these two .npy + reads were not, and the lecture is outside the canary's build set so + nothing fails. Tracked in QuantEcon/workspace-lectures#46. # --------------------------------------------------------------------------- # Builder diff --git a/lectures/chapter_3.xlsx.yml b/lectures/chapter_3.xlsx.yml index 65b5cd3..7374b9a 100644 --- a/lectures/chapter_3.xlsx.yml +++ b/lectures/chapter_3.xlsx.yml @@ -90,10 +90,12 @@ schema: map to strip whitespace and handle footnote markers), so dtypes are not stable across sheets and are deliberately not asserted here. -# Every lecture that reads this file FROM THIS REPO. Empty does not mean the -# file is unused -- it may still be consumed from a lecture repo's own copy, -# which is exactly what a repoint moves. Populated in the repoint PR, at the -# same time migration.yml flips to `repointed` (PLAN, "Repoint rules"). +# Every lecture that CONSUMES this dataset. The list answers "what must be +# rebuilt if these bytes change", so it also names a consumer that still reads +# a local copy rather than this repo -- such an entry carries a `note` saying +# so, and is the only machine-readable trace of that divergence. Empty means +# nothing consumes it yet. Populated in the repoint PR, at the same time +# migration.yml flips to `repointed` (PLAN, "Repoint rules"). consumers: - repo: QuantEcon/lecture-python-intro file: lectures/inflation_history.md diff --git a/lectures/dette.xlsx.yml b/lectures/dette.xlsx.yml index 1acf1e5..92b660e 100644 --- a/lectures/dette.xlsx.yml +++ b/lectures/dette.xlsx.yml @@ -108,10 +108,12 @@ schema: sparse layouts in a working spreadsheet, and the lecture indexes specific columns out of them rather than consuming the block whole. -# Every lecture that reads this file FROM THIS REPO. Empty does not mean the -# file is unused -- it may still be consumed from a lecture repo's own copy, -# which is exactly what a repoint moves. Populated in the repoint PR, at the -# same time migration.yml flips to `repointed` (PLAN, "Repoint rules"). +# Every lecture that CONSUMES this dataset. The list answers "what must be +# rebuilt if these bytes change", so it also names a consumer that still reads +# a local copy rather than this repo -- such an entry carries a `note` saying +# so, and is the only machine-readable trace of that divergence. Empty means +# nothing consumes it yet. Populated in the repoint PR, at the same time +# migration.yml flips to `repointed` (PLAN, "Repoint rules"). consumers: - repo: QuantEcon/lecture-python-intro file: lectures/french_rev.md diff --git a/lectures/fig_3.xlsx.yml b/lectures/fig_3.xlsx.yml index 671e9c3..467405a 100644 --- a/lectures/fig_3.xlsx.yml +++ b/lectures/fig_3.xlsx.yml @@ -83,10 +83,12 @@ schema: row_count_floor: 30 # exact by design -- a frozen 30-row block known_nulls: {} # declared per column above -# Every lecture that reads this file FROM THIS REPO. Empty does not mean the -# file is unused -- it may still be consumed from a lecture repo's own copy, -# which is exactly what a repoint moves. Populated in the repoint PR, at the -# same time migration.yml flips to `repointed` (PLAN, "Repoint rules"). +# Every lecture that CONSUMES this dataset. The list answers "what must be +# rebuilt if these bytes change", so it also names a consumer that still reads +# a local copy rather than this repo -- such an entry carries a `note` saying +# so, and is the only machine-readable trace of that divergence. Empty means +# nothing consumes it yet. Populated in the repoint PR, at the same time +# migration.yml flips to `repointed` (PLAN, "Repoint rules"). consumers: - repo: QuantEcon/lecture-python-intro file: lectures/french_rev.md diff --git a/lectures/longprices.xls.yml b/lectures/longprices.xls.yml index 4befef6..73ca313 100644 --- a/lectures/longprices.xls.yml +++ b/lectures/longprices.xls.yml @@ -88,10 +88,12 @@ schema: row_count_floor: 401 # frozen historical extract: exact by design known_nulls: {} # declared per sheet above -# Every lecture that reads this file FROM THIS REPO. Empty does not mean the -# file is unused -- it may still be consumed from a lecture repo's own copy, -# which is exactly what a repoint moves. Populated in the repoint PR, at the -# same time migration.yml flips to `repointed` (PLAN, "Repoint rules"). +# Every lecture that CONSUMES this dataset. The list answers "what must be +# rebuilt if these bytes change", so it also names a consumer that still reads +# a local copy rather than this repo -- such an entry carries a `note` saying +# so, and is the only machine-readable trace of that divergence. Empty means +# nothing consumes it yet. Populated in the repoint PR, at the same time +# migration.yml flips to `repointed` (PLAN, "Repoint rules"). consumers: - repo: QuantEcon/lecture-python-intro file: lectures/inflation_history.md diff --git a/lectures/mpd2020.xlsx.yml b/lectures/mpd2020.xlsx.yml index f38b234..5dfbf2d 100644 --- a/lectures/mpd2020.xlsx.yml +++ b/lectures/mpd2020.xlsx.yml @@ -134,10 +134,12 @@ schema: # --------------------------------------------------------------------------- # Consumers -- how a correction knows what to rebuild # --------------------------------------------------------------------------- -# Every lecture that reads this file FROM THIS REPO. Empty does not mean the -# file is unused -- it may still be consumed from a lecture repo's own copy, -# which is exactly what a repoint moves. Populated in the repoint PR, at the -# same time migration.yml flips to `repointed` (PLAN, "Repoint rules"). +# Every lecture that CONSUMES this dataset. The list answers "what must be +# rebuilt if these bytes change", so it also names a consumer that still reads +# a local copy rather than this repo -- such an entry carries a `note` saying +# so, and is the only machine-readable trace of that divergence. Empty means +# nothing consumes it yet. Populated in the repoint PR, at the same time +# migration.yml flips to `repointed` (PLAN, "Repoint rules"). consumers: - repo: QuantEcon/lecture-python-intro diff --git a/lectures/nom_balances.npy.yml b/lectures/nom_balances.npy.yml index 111ae57..2e3852e 100644 --- a/lectures/nom_balances.npy.yml +++ b/lectures/nom_balances.npy.yml @@ -85,10 +85,12 @@ schema: (late 1789 through 1790) exist to extend the circulation series before the price series begins, and must not be trimmed. -# Every lecture that reads this file FROM THIS REPO. Empty does not mean the -# file is unused -- it may still be consumed from a lecture repo's own copy, -# which is exactly what a repoint moves. Populated in the repoint PR, at the -# same time migration.yml flips to `repointed` (PLAN, "Repoint rules"). +# Every lecture that CONSUMES this dataset. The list answers "what must be +# rebuilt if these bytes change", so it also names a consumer that still reads +# a local copy rather than this repo -- such an entry carries a `note` saying +# so, and is the only machine-readable trace of that divergence. Empty means +# nothing consumes it yet. Populated in the repoint PR, at the same time +# migration.yml flips to `repointed` (PLAN, "Repoint rules"). consumers: - repo: QuantEcon/lecture-python-intro file: lectures/french_rev.md @@ -98,7 +100,11 @@ consumers: file: lectures/french_rev.md - repo: QuantEcon/test-actions-lecture-intro file: lectures/french_rev.md - # reads a local datasets/ copy, not this file — see ws#46 + note: > + Reads a local `datasets/` copy, not this file. A PARTIAL repoint: the + three .xlsx reads in the same lecture were repointed and these two .npy + reads were not, and the lecture is outside the canary's build set so + nothing fails. Tracked in QuantEcon/workspace-lectures#46. # --------------------------------------------------------------------------- # Builder diff --git a/lectures/us_adult_heights.csv.yml b/lectures/us_adult_heights.csv.yml index 954f93d..b61f210 100644 --- a/lectures/us_adult_heights.csv.yml +++ b/lectures/us_adult_heights.csv.yml @@ -87,7 +87,11 @@ consumers: file: lectures/observed_distributions.md - repo: QuantEcon/lecture-intro.zh-cn file: lectures/prob_dist.md - # reads a local _static copy, not this file — see ws#46 + note: > + Reads a local `_static/lecture_specific/prob_dist/` copy, not this file, + under a comment that still says to switch once the datasets repo exists. + The same repo's other two reads of this dataset WERE repointed. The copy + is byte-identical. Tracked in QuantEcon/workspace-lectures#46. builder: builders/us_adult_heights.py builder_status: committed diff --git a/manifest-schema.yml b/manifest-schema.yml index 0b7e84f..fd9529b 100644 --- a/manifest-schema.yml +++ b/manifest-schema.yml @@ -192,6 +192,24 @@ schema: consumers: [] # - repo: QuantEcon/lecture-python-intro # file: lectures/business_cycle.md + # + # A consumer that does NOT yet read this repo — one still pointing at a local + # copy — is listed anyway, because the question this field answers is "what + # must be rebuilt if these bytes change", not "who is repointed". Say so in a + # `note`, which is what makes the divergence machine-readable rather than a + # YAML comment nobody can check, and cite the issue tracking the repoint with + # a FULLY QUALIFIED reference, since a bare `#N` or a workspace shorthand + # means nothing when read from this repo: + # + # - repo: QuantEcon/test-actions-lecture-intro + # file: lectures/french_rev.md + # note: > + # Reads a local `datasets/` copy, not this file. + # Tracked in QuantEcon/workspace-lectures#46. + # + # The generated catalog surfaces `note` beside the consumer, so a reader of + # CATALOG.md's "Used by" column cannot mistake a local-copy reader for a + # repointed one. # --------------------------------------------------------------------------- # Builder — required for constructed and dynamic-snapshot; omit for verbatim diff --git a/scripts/build_catalog.py b/scripts/build_catalog.py index 7fd9e0c..8ab9fe3 100644 --- a/scripts/build_catalog.py +++ b/scripts/build_catalog.py @@ -67,6 +67,13 @@ def load_manifests(): def fmt_consumers(consumers) -> str: + """Render the "Used by" cell. + + A consumer may carry a `note` — it is listed because a correction to these + bytes must reach it, but it does not necessarily read THIS repo yet. Without + surfacing the note, the column reads as "these lectures fetch this file", + which is exactly the wrong inference for a consumer still on a local copy. + """ if not consumers: return "—" parts = [] @@ -76,9 +83,16 @@ def fmt_consumers(consumers) -> str: file = c.get("file", "") stem = file.split("/")[-1] if file else "" if repo and file: - parts.append(f"[{short} · {stem}](https://github.com/{repo}/blob/main/{file})") + label = f"[{short} · {stem}](https://github.com/{repo}/blob/main/{file})" else: - parts.append(f"{short} · {stem}".strip(" ·")) + label = f"{short} · {stem}".strip(" ·") + note = " ".join((c.get("note") or "").split()) + if note: + # First sentence only: enough to stop the wrong inference, short + # enough not to blow out a table cell. The manifest holds the rest. + head = note.split(". ")[0].rstrip(".") + label += f"
⚠️ {head}" + parts.append(label) return "
".join(parts)