{
 "article": "hour-plus-commute",
 "article_version": "1.13",
 "seed": 20240101,
 "script_sha256": "340c89521bd9760a3f6b9cd7ebbd39506e9160772476a3e45ae9cabf2295c6b1",
 "scripts": {
  "nyc_population/src/articles/hour_plus_commute/__init__.py": "2f27ef18bc3b6f049b69c5529cf0d2595852ef20fbaea116e7bb44704c32d8eb",
  "nyc_population/src/articles/hour_plus_commute/analysis.py": "340c89521bd9760a3f6b9cd7ebbd39506e9160772476a3e45ae9cabf2295c6b1",
  "nyc_population/src/articles/hour_plus_commute/charts.py": "db2325c7485f5c80157d99a0e2e25a146e5cda0e4fd88ad8cbb2b11a450e4a56",
  "nyc_population/src/articles/hour_plus_commute/dashboard.py": "e91b6e65aa9e100c8cde6a3301bac40721cfae90d513467bf3742f384230f04b",
  "nyc_population/src/articles/hour_plus_commute/model.py": "51a5c79fd8205b28f1fb092c333e83a6ccdf7d1c2291e5edbf8e6c1abb4e2f3b",
  "nyc_population/src/articles/hour_plus_commute/paper.py": "0efffe956fd4278f397a2c0fbbab5ec07997e726f5adf4601240dae66c1940a2",
  "nyc_population/src/articles/hour_plus_commute/viz.py": "3abc061b963fca9c44ece25003b0f51aca21c3a07f769e60278cdebf578ee74f"
 },
 "files": {
  "analysis.py": "340c89521bd9760a3f6b9cd7ebbd39506e9160772476a3e45ae9cabf2295c6b1",
  "charts.json": "c98ca30616895b909d34abb498325858ba944ba6aa187c0598a17cbf0098d9a2",
  "dashboard.json": "d7f92f4a18ea56d28348d13f22a39dab80cdadbc6a6395297ed0476d06b33a4c",
  "data.csv": "ae3ed9dd645512d9a26540a8e4e4249ec126abc5aa36d5327fd2444195076379",
  "fig10_subway_delays.svg": "a9d0e038006ba079e7aced98ff59bae70eb43646aaaa758dd64d7f93e574e533",
  "fig11_adjusted.svg": "a2ba212bae07c94c8aa2d500ce8c78b90e1b73b5f884b62dc1b9b1f5d2f6052d",
  "fig1_travel_time_bands.svg": "e85b8d88258be9a3257e04b234312258c117ed6b96fb6c94b15edb0070403c98",
  "fig2_borough_by_mode.svg": "229b63489bb8f74b0ca2136d2acc5c59faeda53f96dba52ff72af89aa2521637",
  "fig2b_modes.svg": "e2e95a862170f824c6d984aa181eb46793b10f9e6e7bc00d485d66dd597309c5",
  "fig3_earnings.svg": "f69d2b329f191119aa17c259ff02880eab1ec7fa61b7c70d8b6345fea7ee9fa0",
  "fig4_race.svg": "69810a446d3f9955ea4c6b8c65117fe7f011a7709d0d01c7e3ef2e26bdf7c63c",
  "fig5_occupations.svg": "1256d610f35165486176c1d1a238730a3176d4c00d856ce2c10beab0e43b13b0",
  "fig6_destination.svg": "1982c303bc0d35d7e3828f9d3e7e23ff7aa946ad69cc87841fce9463ae1841b4",
  "fig7_history.svg": "a42e716f254f9b4885f5889b1fdb90c907bb05341c06afbe338b472e594e9e37",
  "fig8_transit_2026.svg": "dc37c46470bbdd90ed518fed5b4a71e8f114edbfca658936a4deb2572ea07ca5",
  "fig9_bus_speeds.svg": "4bf085bf7483fcd90d8db1d88e8f63b27599e6d0e574ba94de272a6dfe35624b",
  "hour-plus-commute-code.zip": "653065dbd9983f0d8a44265ac6638bc194c191767499a115216b726e5604cd86",
  "precision.json": "0b16d6399e0cb14289fa12672bd1d7069e61529e02fee7136a5b3fd413698a37",
  "pums_direct.csv": "b3b5a157427fcd845dedd3724831866f0610bba9bc23671f9a1357c41af735ba",
  "reproduction.csv": "72d53da72acffd44cd332c7781667bbf658e9e8bbbf28d40653c7aa34f9233c9",
  "results.json": "650f7f75b63862662c782d2e952b70817f234a224dce48b9e2f0d6286ae38aeb",
  "viz.json": "ea979879395c1b6823013a59f54ebfd3ae9fb234f7920ab4428caec4f4740b22"
 },
 "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/acs1.py": "15c65921389c12d44cc48abefe71272b1787a72b229b9006cfbf42f6ebaf08a6",
  "nyc_population/src/nycdata/catalog.py": "b5a71f0be30a3f11572e06406614cf514534659a77a3dc8832470ce3ecaa356a",
  "nyc_population/src/nycdata/checks.py": "8001fc52ab5348d0b7326dca4d22d77e62875fa1a644313f2a10fdac61cf657e",
  "nyc_population/src/nycdata/geo.py": "d1cd6654c4de357f2c34221144989d034b8c730110fd827c32738d75f3875a07",
  "nyc_population/src/nycdata/mta.py": "d950b4bc1e365520fed02fbb963ef235e52e4fec9c89b83b893306e3db3d4c05",
  "nyc_population/src/nycdata/paths.py": "3a8f67c5af374d5fe03d256aa6a2c325845e521485ebcd995bfedea3e877a819",
  "nyc_population/src/nycdata/puma_map.py": "f1f4a38e5e0df616238f4a8f231599abe68735a35e302c4c6bd40cbb1fc8eb49",
  "nyc_population/src/nycdata/pums_columns.py": "2704e653de82d9c6b1cbdb9e6e7135491e1245e2abe1aaa6bc27580746f20efb",
  "nyc_population/src/nycdata/recode.py": "8bba667365858d09cab2ff295997164f5622dc5f6331f663846cbe2e5baab115",
  "shared/python/sparkylib/__init__.py": "4136c7a45611763276e700e8a4236a27b2e939aee2cdcc81193e501ebf8642e7",
  "shared/python/sparkylib/dates.py": "5b170bc5a67ed5fbc2a98335144e8bf8c17f7f48084cb70ecc610b5c43b2f9ad",
  "shared/python/sparkylib/dbf.py": "7b2e9dd73600530698ea1e767b180d250d4901b92f4bdf1bc224500fde316c8d",
  "shared/python/sparkylib/models.py": "17ac94cc1e12a52854f8ba3f58aa57938dcf9b0b9fcdcd4a0d15cecc6d456cc1",
  "shared/python/sparkylib/paths.py": "04f5dbd06c92900613a3931efff0c0a47b65772eb1147e65e1162bd29570d498",
  "shared/python/sparkylib/quotes.py": "56f5f4336bf4c78faa7271752e9dab379516db5f62b5f97f3e8c63490e766785",
  "shared/python/sparkylib/replicates.py": "487eb078d2146e1ac7a746554f9141a460ec4471da40803718acd0795aab5a6a",
  "shared/python/sparkylib/shapes.py": "cee5f44b70153331376f732959d972de6b83e2cd56bbadd3d6fb485d63d3c9e6",
  "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."
}
