{
 "article": "is-the-subway-safer-per-ride",
 "article_version": "1.0",
 "seed": 20261016,
 "script_sha256": "c64826ea06b0f30fec234bb100685396adefdbf6e89c7a7076a8482b8a3633d5",
 "scripts": {
  "nyc_population/src/articles/is_the_subway_safer_per_ride/__init__.py": "bd633b42e31271e8b3de970e295b2ca878ab86cee28bccd2eac504e979ccf073",
  "nyc_population/src/articles/is_the_subway_safer_per_ride/analysis.py": "c64826ea06b0f30fec234bb100685396adefdbf6e89c7a7076a8482b8a3633d5"
 },
 "files": {
  "analysis.py": "c64826ea06b0f30fec234bb100685396adefdbf6e89c7a7076a8482b8a3633d5",
  "charts.json": "ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356",
  "data.csv": "0d2bb1c72d44c4b0b90744998e448a386482c2d2080a733af2ff9d7aa0b5efe3",
  "is-the-subway-safer-per-ride-code.zip": "207c411f31731295e358d9180a24a93a1e892b094493187bd3117d188c96a505",
  "results.json": "83ebc58f786d78d4dd793d19fde40b4141b407b66e52616a439fab954184f56a",
  "viz.json": "0368bc872e761472083a85bcf43bac8567c09685c0d0d3497ea31c343ec0fa44"
 },
 "libraries": {
  "nyc_population/src/article_kit/__init__.py": "2a6bc6dddf5e857e84582996de188d28d3d7c0602ac448df3dce3964e3bc3701",
  "nyc_population/src/article_kit/article.py": "b4d90af43ce07b693fb82893fcd58f14a716b68d39a6c8597cf595e21c521ab4",
  "nyc_population/src/article_kit/bundle.py": "22cef17b115c4002b3b864bc75b73d4746190afa6a102d021208b0b28330c98a",
  "nyc_population/src/article_kit/charts.py": "15659fcf7da0879767ca5380b2e6f81dfbb55ea7aeee0b3727bdcb2898b092ac",
  "nyc_population/src/article_kit/dashboard.py": "5fb7f274d741855786db829da4d2e710aff7958b3a4aad4e2b6b58b6f78f5093",
  "nyc_population/src/article_kit/figures.py": "a99abb53b9880357d9a7f9bc52694a60606bac8dcb880d7304266e1ac5c4ef78",
  "nyc_population/src/article_kit/files.py": "2ae0a0f3a660de6606e2213547d948f8d8b5d024955053a7adf53ff4093b3f98",
  "nyc_population/src/article_kit/manifest.py": "5024fc51e684f6bcd5a59c92946c0154ba2c11e626481e7dd8ee5ae2aec58d51",
  "nyc_population/src/article_kit/paper.py": "d61d50c2bf2abf11fdd2cc02e5351efb14ee011836843b0e8bd90e0f940a78ce",
  "nyc_population/src/article_kit/paths.py": "b8d082307a9dd1835806d16d6dfa9ade4964a508d2f71b2d1140b4d22c8a32c5",
  "nyc_population/src/article_kit/prose.py": "05569d8745029679f27530fb5755727924b5cdcb5175c5715fb3a1844931bfdd",
  "nyc_population/src/article_kit/values.py": "fa3ecc8c443c7d0e1cf8b45d376751fd2268f70a361b39375ee5bb1e44cdeb39",
  "nyc_population/src/nycdata/__init__.py": "853850a2bfcc5902465a6f8bba9aacffc876a8fda7c0ce5b06c626b0936261ec",
  "nyc_population/src/nycdata/catalog.py": "b5a71f0be30a3f11572e06406614cf514534659a77a3dc8832470ce3ecaa356a",
  "nyc_population/src/nycdata/checks.py": "8001fc52ab5348d0b7326dca4d22d77e62875fa1a644313f2a10fdac61cf657e",
  "nyc_population/src/nycdata/crime.py": "4e34558a60fc4495250788f05ff63c479a338728b41f4c207791fbd643e1f6db",
  "nyc_population/src/nycdata/mta.py": "4f646f1036775c590ac2f3761f6178b2e42f85cfec687c812cbaa34d44f13eeb",
  "nyc_population/src/nycdata/paths.py": "3a8f67c5af374d5fe03d256aa6a2c325845e521485ebcd995bfedea3e877a819",
  "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": "0d68a87779f241776bf8611601e8bb6cba2046519fee1d8db0ad543d72978068",
  "shared/python/sparkylib/stats.py": "e72d5914a06f1657de74a5d5e2aac16a65342b131f3d711f31a7ae565e96cabd"
 },
 "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.",
 "inputs": {
  "abc_national_guard_subway_2024_03": {
   "sha256": "e6e73cd296cb2eb23bdb2924670b23a40d5ef6a8e60a729da2c1543666c2eae2",
   "bytes": 366112,
   "retrieved_utc": "2026-10-15T11:09:18+00:00"
  },
  "city_journal_gelinas_subways_2016": {
   "sha256": "052ff80bc545f3c9ea1415988ee7851ecc6a4a12d377f400718715811af03c58",
   "bytes": 244545,
   "retrieved_utc": "2026-10-15T11:09:21+00:00"
  },
  "city_reporter_vital_city_crime_2026_08": {
   "sha256": "d63c4409f5b5e310e10ca9851cad8e74591c02a05e9cdac1d8ce8aa45a2764df",
   "bytes": 337315,
   "retrieved_utc": "2026-10-15T11:09:25+00:00"
  },
  "dcjs_crime_rates_nyc": {
   "sha256": "b8dc0a63f281e93d9cbf9c1ba78389ecf34ef80a2edd3cbad3e61915fe690c48",
   "bytes": 15065,
   "retrieved_utc": "2026-10-07T20:18:20+00:00"
  },
  "dcjs_index_crimes_nyc": {
   "sha256": "6619fa4c4e061f4df79610136b9569386f7622ce387e783b882e214c84456530",
   "bytes": 21294,
   "retrieved_utc": "2026-10-07T19:16:43+00:00"
  },
  "mta_daily_ridership": {
   "sha256": "b4c97b735507e8da3e1a637251da113788bfa08fbc37c0fb78acc8fc25f295cb",
   "bytes": 410004,
   "retrieved_utc": "2026-10-05T02:42:54+00:00"
  },
  "mta_daily_ridership_2020_2025": {
   "sha256": "08b2cc9cc7050eb7bc72244b8e97f63c9b07d60b1c6b90127b4249e44191b3db",
   "bytes": 162963,
   "retrieved_utc": "2026-09-06T20:46:38+00:00"
  },
  "mta_subway_bus_ridership_2019": {
   "sha256": "5da3b44ba85bb26b53d78ac332b58b60be8d671e48a3b17a5c67736023247608",
   "bytes": 110307,
   "retrieved_utc": "2026-10-08T02:48:25+00:00"
  },
  "mta_subway_bus_ridership_2023": {
   "sha256": "627f1de241aae3ff9425cd9c562d319c5a792bc4b75d6d132e83992411705f43",
   "bytes": 129074,
   "retrieved_utc": "2026-10-08T02:48:27+00:00"
  },
  "mta_subway_bus_ridership_2024": {
   "sha256": "fcb6761dd47315d191fe42a17094b2dcaa95ffc39542e169b13724d2663a3aa3",
   "bytes": 135773,
   "retrieved_utc": "2026-10-08T02:48:29+00:00"
  },
  "mta_subway_fare_evasion": {
   "sha256": "67c170be7b5d3b110eedb2426c3f10988bab8b7b8e3a3ce954c96be14a349958",
   "bytes": 855,
   "retrieved_utc": "2026-10-08T01:39:15+00:00"
  },
  "ny1_overnight_officers_2025_01": {
   "sha256": "2193c0bb7b662d884c0f48e3ad00a1c4b5549a0878d27343ce7b1e3a2b709f91",
   "bytes": 101687,
   "retrieved_utc": "2026-10-15T11:09:19+00:00"
  },
  "ny1_subway_stabbings_2026_10_14": {
   "sha256": "df8283fc22bcf34447d54946a7f7f281a5642d4118a8a9bd7addb77b388d5105",
   "bytes": 102067,
   "retrieved_utc": "2026-10-15T11:09:26+00:00"
  },
  "ny_a10491_2022": {
   "sha256": "2ac8d835e9fd4d202188d0e64dde69623e9822a7ccb3fd16ad1a927af8ab86b8",
   "bytes": 5644,
   "retrieved_utc": "2026-10-11T21:39:08+00:00"
  },
  "ny_a3340_2023": {
   "sha256": "dc404ce6a08539cc993a5795128b793ee50f586af0df29c06d6fa39511f6c1bc",
   "bytes": 71256,
   "retrieved_utc": "2026-10-11T21:39:10+00:00"
  },
  "ny_s8305c_2024": {
   "sha256": "2fcc0babf765734c11847eeda70009885c9170a145c7f39da00e47687273f98e",
   "bytes": 300438,
   "retrieved_utc": "2026-10-07T19:37:12+00:00"
  },
  "nyc_mayor_subway_actions_2022_10": {
   "sha256": "ad326259de7fa8ef266ffa8d985cf5de36526771c7451053c5b6f0dab78b5135",
   "bytes": 511839,
   "retrieved_utc": "2026-10-15T11:09:17+00:00"
  },
  "nyc_mayor_subway_safety_plan_2022": {
   "sha256": "506c60ef70f2a68eeecd363622b6bb7e432278ed6c3172b99eb8132af2f4b2f7",
   "bytes": 510801,
   "retrieved_utc": "2026-10-15T11:09:16+00:00"
  },
  "nyc_mmr_fy03_fy12_nypd": {
   "sha256": "dc99f324e0238d921b0bfd13627bec095634520700e5816ca84881a9716d5523",
   "bytes": 5939,
   "retrieved_utc": "2026-10-08T02:48:16+00:00"
  },
  "nyc_mmr_fy2001_vol1": {
   "sha256": "649900c158c571b66543c5a7ba0ae65c2f723088ebbdb9b8c2d79d4f9ae8ae14",
   "bytes": 2226431,
   "retrieved_utc": "2026-10-02T23:52:05+00:00"
  },
  "nyc_mmr_fy2004": {
   "sha256": "665d111b2a841abac473170b1fb81ab588ae4727dd64d3a72d9dc743c26b6652",
   "bytes": 3624689,
   "retrieved_utc": "2026-10-03T00:44:44+00:00"
  },
  "nyc_mmr_fy2006": {
   "sha256": "33901054c1bf73b010213be87b085b617f651f5672741f4e11572a6916de0917",
   "bytes": 5859048,
   "retrieved_utc": "2026-10-02T23:52:06+00:00"
  },
  "nyc_mmr_fy2016_nypd": {
   "sha256": "39a317068aa00d37c85511016ef0e78ab6de0380ceeb915f502646f460a13c3d",
   "bytes": 224501,
   "retrieved_utc": "2026-10-08T02:48:17+00:00"
  },
  "nyc_mmr_fy2021_nypd": {
   "sha256": "950007135778a4190f627cb87f0db26694c3bba6a19e9a12a18676a73888a462",
   "bytes": 254778,
   "retrieved_utc": "2026-10-08T02:48:19+00:00"
  },
  "nyc_mmr_fy2026_nypd": {
   "sha256": "ee7cbdfe3ca700e06b95fc2006b8f49c47a1fe1eb3853d21ce37a9cb269e06b1",
   "bytes": 306634,
   "retrieved_utc": "2026-10-08T02:48:20+00:00"
  },
  "nypd_arrests_felony_assault_by_law": {
   "sha256": "32c5cc018f94f8ad06596c9e9011aeb8199600d44d1c5d0a35ac505ea2a94866",
   "bytes": 33726,
   "retrieved_utc": "2026-10-07T19:18:43+00:00"
  },
  "nypd_compstat_citywide_2026_10_04": {
   "sha256": "b602482e5a8873c3852192e5f6e21647a312b47d6b0f691bdbf5a1e6c7e9169b",
   "bytes": 159178,
   "retrieved_utc": "2026-10-07T19:16:33+00:00"
  },
  "nypd_compstat_citywide_2026_10_11": {
   "sha256": "cbb5b806ef77bfb6a481b20da32612245d7028b5fc2e1141bbaebb0684e548fa",
   "bytes": 159184,
   "retrieved_utc": "2026-10-13T19:24:53+00:00"
  },
  "nypd_felony_assault_by_borough_historic": {
   "sha256": "51531bec9977680fb678c55c5c7077b3a1739219166ecdf2924b26d0fa495663",
   "bytes": 2743,
   "retrieved_utc": "2026-10-07T20:18:16+00:00"
  },
  "nypd_felony_assault_by_code_historic": {
   "sha256": "a5dc919db4f15bb557f8803328604343de3b806510a85d678a33d06f52618a76",
   "bytes": 49075,
   "retrieved_utc": "2026-10-07T19:18:14+00:00"
  },
  "nypd_felony_assault_by_code_ytd": {
   "sha256": "6828895474ec4aa496c0110df7ee81234009659d82388a4c1a66f4ee1808dbe5",
   "bytes": 1725,
   "retrieved_utc": "2026-10-07T19:18:15+00:00"
  },
  "nypd_felony_assault_by_premises_historic": {
   "sha256": "afedd145de18d2560597665bb329536f8b44b1e29745ab22fd08783311568841",
   "bytes": 40816,
   "retrieved_utc": "2026-10-07T19:18:37+00:00"
  },
  "nypd_misdemeanor_offenses_2000_2025": {
   "sha256": "83b03e8dd1232881ebba85bc2234ac328518fd5ebe494d37a33a9a53e1073019",
   "bytes": 38400,
   "retrieved_utc": "2026-10-07T20:17:52+00:00"
  },
  "nypd_release_h1_2026": {
   "sha256": "b5197abb7ea8c8c0d92602f9f70a41066b8af012271e13dae9bc485691ca5052",
   "bytes": 69142,
   "retrieved_utc": "2026-10-07T22:05:18+00:00"
  },
  "nypd_release_q3_2026": {
   "sha256": "f4b391cefe0c7a81ef14329180d951c80c098b142747aa2d16c7b435216eac55",
   "bytes": 73670,
   "retrieved_utc": "2026-10-07T19:16:38+00:00"
  },
  "nypd_seven_major_felonies_2000_2025": {
   "sha256": "52f0d788cac99c60a13119f014b64fb040528433df629efb24b93fab29405d71",
   "bytes": 34816,
   "retrieved_utc": "2026-10-07T19:16:29+00:00"
  },
  "nypd_shooting_victims": {
   "sha256": "891625f7c701f18e0bdc9fe697209d91210e4dacaea9cb8f53ab65110d8765ae",
   "bytes": 1670029,
   "retrieved_utc": "2026-10-07T19:16:26+00:00"
  },
  "nypd_shootings": {
   "sha256": "be9cb34bd283864eabe8384b2b05263b30faf053316544f6da479ec879e1fd33",
   "bytes": 3526345,
   "retrieved_utc": "2026-10-07T19:16:18+00:00"
  },
  "nypd_subway_crime_monthly_by_code_historic": {
   "sha256": "5ad9dff87bf912839137e8e6d3caedf6908c2045fb118a420b786d32cded6629",
   "bytes": 75930,
   "retrieved_utc": "2026-10-11T21:38:58+00:00"
  },
  "nypd_subway_crime_monthly_by_code_ytd": {
   "sha256": "0f4136e1341391196f429d86444afe5d9d41808abb816cb2a35da3af697786cc",
   "bytes": 5633,
   "retrieved_utc": "2026-10-11T21:38:59+00:00"
  },
  "nypd_subway_crime_monthly_cutoff_historic": {
   "sha256": "df118970289578fb04ef09ed2df45a765df7d704d7135def676ae4f1ee8038c2",
   "bytes": 140,
   "retrieved_utc": "2026-10-11T21:39:05+00:00"
  },
  "nypd_subway_crime_monthly_cutoff_ytd": {
   "sha256": "8ee4e02dc1940d50311bf95d92f8d2d29bafb4e2c6eb09195e904bdbbfd8379f",
   "bytes": 138,
   "retrieved_utc": "2026-10-11T21:39:06+00:00"
  },
  "nypd_subway_crime_monthly_historic": {
   "sha256": "420491320cb5565d086c70582920b88f954c42d3d83af113ce719abf4a1bb5f7",
   "bytes": 296047,
   "retrieved_utc": "2026-09-26T19:31:07+00:00"
  },
  "nypd_subway_crime_monthly_ytd": {
   "sha256": "f1a7c67124beaab649905bd96e005d2a62a7bf5f69083365be33fcd9078a943c",
   "bytes": 16692,
   "retrieved_utc": "2026-09-26T19:31:09+00:00"
  },
  "nypd_transit_bureau_page": {
   "sha256": "0091eb8a68b153e1d5f7c1cc89fd989d1c76cdcd628c14313fdee4379a273bfc",
   "bytes": 22617,
   "retrieved_utc": "2026-10-15T11:09:20+00:00"
  },
  "nyu_rudin_subway_ridership_1975_2015": {
   "sha256": "49b72cc9b3ace88954e08b4178c9a1e60d9dbe8d2dbf2d48c2d03b2674481b80",
   "bytes": 5515627,
   "retrieved_utc": "2026-10-08T02:48:22+00:00"
  },
  "osc_subway_weekend_ridership_2026_04": {
   "sha256": "603a34315a12bb4f98c14f1e50edb2664823807c4202789820b1e808a91cd074",
   "bytes": 111141,
   "retrieved_utc": "2026-10-15T11:09:22+00:00"
  },
  "vital_city_subway_safety_2025_12": {
   "sha256": "8c057fe69151a7df9af7ae9bdb2bdc94cf79c2db7d40aca3e42f0ecb03bf8daf",
   "bytes": 79805,
   "retrieved_utc": "2026-10-15T11:09:23+00:00"
  }
 }
}
