{
 "article": "who-gets-the-rent-freeze",
 "article_version": "1.0",
 "seed": null,
 "script_sha256": "f37368d06eb5d8160afbaf2a86e423848ec7b04ee8ef406d133cd2ecd20ffd1d",
 "scripts": {
  "nyc_population/src/articles/who_gets_the_rent_freeze/__init__.py": "8f730c323fe051ee7af6db01f6ee79c4676db5b0ff3e766d92c56797752c1ea2",
  "nyc_population/src/articles/who_gets_the_rent_freeze/analysis.py": "f37368d06eb5d8160afbaf2a86e423848ec7b04ee8ef406d133cd2ecd20ffd1d",
  "nyc_population/src/articles/who_gets_the_rent_freeze/viz.py": "65a017ac097721124ad2a3717f4e65bc0f3f0faad3442e44a4cb0e5efb530b58"
 },
 "files": {
  "analysis.py": "f37368d06eb5d8160afbaf2a86e423848ec7b04ee8ef406d133cd2ecd20ffd1d",
  "charts.json": "1b1eb459501c61b1823efd313e15482695c0feabf2a10b3ce5ea7f09b5ce3daf",
  "data.csv": "1b7b5a7914a66f29367716cb17f1a109ba6b73534d595eea9cfebf7beb75581c",
  "fig2_income_mix.svg": "029f5ee7ccec6039b10a3e7fdd93416ce111ae5ef4e4e63391d66a096c3320c6",
  "fig5_saving.svg": "507505b54b652bb9ab4bbe2089250de0bfb77d1ba0abf18aebf0f0bcecf4f75d",
  "fig6_boroughs.svg": "2e2efde80f6db153192bd6c3aeafee55de09c53ec6eea8d12e8f25a89467e187",
  "fig7_tenants.svg": "a0fc81b4fdb125058cd7162097cad3716cca80584223c1ca6102cb8ec8087529",
  "hvs.py": "26d5d6ebba3d37293d0059383d34cb6a9370f9f32f3f7fa63afacf97b2c1191e",
  "hvs_income.py": "3364ec5b069eb3fbd9de014337d9a539a6d294a953aa1e5c992344c3b579d2a2",
  "long_view.csv": "910eb4c97c9b8846a95dbf08dbc90965d6e323786aa050455f4a02b50dadc37a",
  "replicates.py": "487eb078d2146e1ac7a746554f9141a460ec4471da40803718acd0795aab5a6a",
  "results.json": "dddcdb3c894e131bc36fcf93c265ee6f0c72445245258c2950e3d61ea2bdb71b",
  "viz.json": "e15329b715c49e2260b77c18b9b1d6a11371e666665a959746ac2247fc21bf59",
  "who-gets-the-rent-freeze-code.zip": "1030a2b99df4cf230487258126e12c27bbf414f4181a6d36daf67fc9018e3ade"
 },
 "libraries": {
  "nyc_population/src/_paths.py": "6867c78a894df0635e337fb6f4afab3db598f100b98f9109fd7dfb65ae380480",
  "nyc_population/src/article_kit/__init__.py": "2a6bc6dddf5e857e84582996de188d28d3d7c0602ac448df3dce3964e3bc3701",
  "nyc_population/src/article_kit/article.py": "b244da976b9e4d14ee056b27c61b19579618f7df3d257d0362a2ec38b5b11a1f",
  "nyc_population/src/article_kit/bundle.py": "81131718a12a818940a6fa40383e5ac5c13ee7a754ecf5ff83ce1e8dd28904c4",
  "nyc_population/src/article_kit/charts.py": "2b7b244f59dff1dc05859eab0e79eae6f9ae2e85598b7ad2a3a6915cc2b46e6b",
  "nyc_population/src/article_kit/dashboard.py": "5fb7f274d741855786db829da4d2e710aff7958b3a4aad4e2b6b58b6f78f5093",
  "nyc_population/src/article_kit/figures.py": "f67dfea8ce053fdd259069a1b37e1109a5c00699c98ecad0452f5f73c95faf66",
  "nyc_population/src/article_kit/files.py": "2ae0a0f3a660de6606e2213547d948f8d8b5d024955053a7adf53ff4093b3f98",
  "nyc_population/src/article_kit/manifest.py": "4e4c8f641bf09015f46a83a061c88a9f128d6566e76d76288453491e371d6dc0",
  "nyc_population/src/article_kit/paper.py": "d61d50c2bf2abf11fdd2cc02e5351efb14ee011836843b0e8bd90e0f940a78ce",
  "nyc_population/src/article_kit/paths.py": "b8d082307a9dd1835806d16d6dfa9ade4964a508d2f71b2d1140b4d22c8a32c5",
  "nyc_population/src/article_kit/prose.py": "8a66fbd4e4d640adf673332d751f0710ed06e12525b28b3aa52c32508b0fc90c",
  "nyc_population/src/article_kit/values.py": "fa3ecc8c443c7d0e1cf8b45d376751fd2268f70a361b39375ee5bb1e44cdeb39",
  "nyc_population/src/nycdata/__init__.py": "6595d89b8420716fcf12ee8e9637b5a19ac253d415e431cfb556f9027341bd05",
  "nyc_population/src/nycdata/bls.py": "2acc96909a2886f6d2b9f27acee563c31a2bd95dc26f28ff440d6de45dfd84da",
  "nyc_population/src/nycdata/catalog.py": "b5a71f0be30a3f11572e06406614cf514534659a77a3dc8832470ce3ecaa356a",
  "nyc_population/src/nycdata/checks.py": "8001fc52ab5348d0b7326dca4d22d77e62875fa1a644313f2a10fdac61cf657e",
  "nyc_population/src/nycdata/hvs.py": "26d5d6ebba3d37293d0059383d34cb6a9370f9f32f3f7fa63afacf97b2c1191e",
  "nyc_population/src/nycdata/hvs_history.py": "6732d49c97c5c43ece54ed5a1b2935cefda87b99dcd4b672024f5c1c7c06ab47",
  "nyc_population/src/nycdata/hvs_income.py": "3364ec5b069eb3fbd9de014337d9a539a6d294a953aa1e5c992344c3b579d2a2",
  "nyc_population/src/nycdata/paths.py": "3a8f67c5af374d5fe03d256aa6a2c325845e521485ebcd995bfedea3e877a819",
  "nyc_population/src/nycdata/recode.py": "8bba667365858d09cab2ff295997164f5622dc5f6331f663846cbe2e5baab115",
  "shared/python/sparkylib/__init__.py": "4136c7a45611763276e700e8a4236a27b2e939aee2cdcc81193e501ebf8642e7",
  "shared/python/sparkylib/dates.py": "5b170bc5a67ed5fbc2a98335144e8bf8c17f7f48084cb70ecc610b5c43b2f9ad",
  "shared/python/sparkylib/paths.py": "04f5dbd06c92900613a3931efff0c0a47b65772eb1147e65e1162bd29570d498",
  "shared/python/sparkylib/quotes.py": "56f5f4336bf4c78faa7271752e9dab379516db5f62b5f97f3e8c63490e766785",
  "shared/python/sparkylib/replicates.py": "487eb078d2146e1ac7a746554f9141a460ec4471da40803718acd0795aab5a6a",
  "shared/python/sparkylib/stats.py": "55827761b8b7ba815d7f6abbac9d1e61865eb713060130a50b2979f02e65cfed"
 },
 "note": "Every file listed comes from one build of the article's code (analysis.py, checksum script_sha256, and the other modules under scripts), which imports the shared modules listed under libraries. The version box shows article_version; if the two disagree the page and the files are from different builds."
}
