timeprice 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -0
  3. data/README.md +33 -2
  4. data/data/cpi/au.json +419 -0
  5. data/data/cpi/ca.json +1501 -0
  6. data/data/cpi/cn.json +487 -0
  7. data/data/cpi/eu.json +1 -1
  8. data/data/cpi/jp.json +1 -1
  9. data/data/cpi/kr.json +549 -0
  10. data/data/cpi/ru.json +487 -0
  11. data/data/cpi/uk.json +1 -1
  12. data/data/cpi/us.json +1 -1
  13. data/data/cpi/vn.json +26 -26
  14. data/data/fx/usd/1999.json +1042 -262
  15. data/data/fx/usd/2000.json +1274 -258
  16. data/data/fx/usd/2001.json +1277 -257
  17. data/data/fx/usd/2002.json +1282 -258
  18. data/data/fx/usd/2003.json +1282 -258
  19. data/data/fx/usd/2004.json +1302 -262
  20. data/data/fx/usd/2005.json +1292 -260
  21. data/data/fx/usd/2006.json +1282 -258
  22. data/data/fx/usd/2007.json +1282 -258
  23. data/data/fx/usd/2008.json +1287 -259
  24. data/data/fx/usd/2009.json +1287 -259
  25. data/data/fx/usd/2010.json +1297 -261
  26. data/data/fx/usd/2011.json +1292 -260
  27. data/data/fx/usd/2012.json +1287 -259
  28. data/data/fx/usd/2013.json +1282 -258
  29. data/data/fx/usd/2014.json +1282 -258
  30. data/data/fx/usd/2015.json +1287 -259
  31. data/data/fx/usd/2016.json +1292 -260
  32. data/data/fx/usd/2017.json +1282 -258
  33. data/data/fx/usd/2018.json +1282 -258
  34. data/data/fx/usd/2019.json +1282 -258
  35. data/data/fx/usd/2020.json +1292 -260
  36. data/data/fx/usd/2021.json +1297 -261
  37. data/data/fx/usd/2022.json +1292 -260
  38. data/data/fx/usd/2023.json +1282 -258
  39. data/data/fx/usd/2024.json +1287 -259
  40. data/data/fx/usd/2025.json +1282 -258
  41. data/data/fx/usd/2026.json +457 -92
  42. data/data/fx/usd/_annual.json +46 -1
  43. data/data/manifest.json +155 -7
  44. data/lib/timeprice/cli.rb +3 -3
  45. data/lib/timeprice/compare.rb +36 -3
  46. data/lib/timeprice/cpi_lookup.rb +4 -4
  47. data/lib/timeprice/data_loader.rb +8 -17
  48. data/lib/timeprice/date.rb +62 -0
  49. data/lib/timeprice/exchange.rb +49 -23
  50. data/lib/timeprice/inflation.rb +12 -4
  51. data/lib/timeprice/metadata.rb +121 -0
  52. data/lib/timeprice/metadata_snapshot.rb +23 -0
  53. data/lib/timeprice/point.rb +11 -3
  54. data/lib/timeprice/schema.rb +78 -0
  55. data/lib/timeprice/version.rb +1 -1
  56. data/lib/timeprice.rb +14 -1
  57. metadata +24 -1
data/data/cpi/cn.json ADDED
@@ -0,0 +1,487 @@
1
+ {
2
+ "country": "CN",
3
+ "index": {
4
+ "base_period": "2010",
5
+ "rebased_at": null
6
+ },
7
+ "provenance": [
8
+ {
9
+ "from": "1993-01",
10
+ "provider": "imf",
11
+ "series": "monthly",
12
+ "to": "2026-03"
13
+ },
14
+ {
15
+ "from": "1986",
16
+ "provider": "world_bank",
17
+ "series": "annual",
18
+ "to": "1992"
19
+ },
20
+ {
21
+ "from": "1993",
22
+ "provider": "imf",
23
+ "series": "annual",
24
+ "to": "2025"
25
+ }
26
+ ],
27
+ "providers": [
28
+ {
29
+ "fetched_at": "2026-05-12",
30
+ "id": "world_bank",
31
+ "label": "World Bank FP.CPI.TOTL (annual)",
32
+ "status": "ok"
33
+ },
34
+ {
35
+ "fetched_at": "2026-05-12",
36
+ "id": "imf",
37
+ "label": "IMF Data Portal CPI dataflow (monthly) + World Bank FP.CPI.TOTL (annual)",
38
+ "status": "ok"
39
+ }
40
+ ],
41
+ "schema_version": 4,
42
+ "series": {
43
+ "annual": {
44
+ "1986": 26.0483197849658,
45
+ "1987": 27.9326123967096,
46
+ "1988": 33.1872445880263,
47
+ "1989": 39.2424692179246,
48
+ "1990": 40.4402632290026,
49
+ "1991": 41.8785962689823,
50
+ "1992": 44.5395544614715,
51
+ "1993": 39.8209,
52
+ "1994": 49.4802,
53
+ "1995": 57.7885,
54
+ "1996": 62.5926,
55
+ "1997": 64.3367,
56
+ "1998": 63.8393,
57
+ "1999": 62.9446,
58
+ "2000": 63.1635,
59
+ "2001": 63.6177,
60
+ "2002": 63.1521,
61
+ "2003": 63.8642,
62
+ "2004": 66.3068,
63
+ "2005": 67.4846,
64
+ "2006": 68.5977,
65
+ "2007": 71.9019,
66
+ "2008": 76.1623,
67
+ "2009": 75.6077,
68
+ "2010": 78.0085,
69
+ "2011": 82.341,
70
+ "2012": 84.498,
71
+ "2013": 86.7127,
72
+ "2014": 88.379,
73
+ "2015": 89.649,
74
+ "2016": 91.442,
75
+ "2017": 92.8988,
76
+ "2018": 94.8263,
77
+ "2019": 97.5755,
78
+ "2020": 99.9363,
79
+ "2021": 100.9167,
80
+ "2022": 102.9083,
81
+ "2023": 103.15,
82
+ "2024": 103.375,
83
+ "2025": 103.4366
84
+ },
85
+ "monthly": {
86
+ "1993-01": 37.06709,
87
+ "1993-02": 37.27705,
88
+ "1993-03": 37.96701,
89
+ "1993-04": 39.06402,
90
+ "1993-05": 39.64885,
91
+ "1993-06": 39.59399,
92
+ "1993-07": 39.31966,
93
+ "1993-08": 40.16232,
94
+ "1993-09": 41.21659,
95
+ "1993-10": 41.5161,
96
+ "1993-11": 41.87596,
97
+ "1993-12": 43.14175,
98
+ "1994-01": 44.88825,
99
+ "1994-02": 45.92533,
100
+ "1994-03": 46.47161,
101
+ "1994-04": 47.54092,
102
+ "1994-05": 48.09406,
103
+ "1994-06": 48.54223,
104
+ "1994-07": 48.75638,
105
+ "1994-08": 50.5242,
106
+ "1994-09": 52.46872,
107
+ "1994-10": 53.01606,
108
+ "1994-11": 53.39185,
109
+ "1994-12": 54.1429,
110
+ "1995-01": 55.70632,
111
+ "1995-02": 56.2126,
112
+ "1995-03": 56.37007,
113
+ "1995-04": 57.38189,
114
+ "1995-05": 57.85715,
115
+ "1995-06": 57.37692,
116
+ "1995-07": 56.89869,
117
+ "1995-08": 57.85021,
118
+ "1995-09": 59.39459,
119
+ "1995-10": 59.431,
120
+ "1995-11": 59.37174,
121
+ "1995-12": 59.61133,
122
+ "1996-01": 60.71988,
123
+ "1996-02": 61.44038,
124
+ "1996-03": 61.89434,
125
+ "1996-04": 62.94793,
126
+ "1996-05": 63.00644,
127
+ "1996-06": 62.31134,
128
+ "1996-07": 61.62128,
129
+ "1996-08": 62.53608,
130
+ "1996-09": 63.78979,
131
+ "1996-10": 63.59118,
132
+ "1996-11": 63.46839,
133
+ "1996-12": 63.78413,
134
+ "1997-01": 64.30236,
135
+ "1997-02": 64.88104,
136
+ "1997-03": 64.37011,
137
+ "1997-04": 64.96227,
138
+ "1997-05": 64.77061,
139
+ "1997-06": 64.05605,
140
+ "1997-07": 63.28506,
141
+ "1997-08": 63.72426,
142
+ "1997-09": 64.93801,
143
+ "1997-10": 64.54504,
144
+ "1997-11": 64.16654,
145
+ "1997-12": 64.03926,
146
+ "1998-01": 64.49526,
147
+ "1998-02": 64.81615,
148
+ "1998-03": 64.8207,
149
+ "1998-04": 64.76737,
150
+ "1998-05": 64.12291,
151
+ "1998-06": 63.22332,
152
+ "1998-07": 62.39907,
153
+ "1998-08": 62.83212,
154
+ "1998-09": 63.96394,
155
+ "1998-10": 63.83505,
156
+ "1998-11": 63.39654,
157
+ "1998-12": 63.39887,
158
+ "1999-01": 63.72132,
159
+ "1999-02": 63.97355,
160
+ "1999-03": 63.65393,
161
+ "1999-04": 63.34249,
162
+ "1999-05": 62.7122,
163
+ "1999-06": 61.89563,
164
+ "1999-07": 61.52548,
165
+ "1999-08": 62.0153,
166
+ "1999-09": 63.45223,
167
+ "1999-10": 63.45204,
168
+ "1999-11": 62.82597,
169
+ "1999-12": 62.76488,
170
+ "2000-01": 63.59388,
171
+ "2000-02": 64.42136,
172
+ "2000-03": 63.52662,
173
+ "2000-04": 63.15247,
174
+ "2000-05": 62.77492,
175
+ "2000-06": 62.20511,
176
+ "2000-07": 61.83311,
177
+ "2000-08": 62.20135,
178
+ "2000-09": 63.45223,
179
+ "2000-10": 63.45204,
180
+ "2000-11": 63.64271,
181
+ "2000-12": 63.70636,
182
+ "2001-01": 64.357,
183
+ "2001-02": 64.42136,
184
+ "2001-03": 64.03484,
185
+ "2001-04": 64.1629,
186
+ "2001-05": 63.84209,
187
+ "2001-06": 63.07598,
188
+ "2001-07": 62.7606,
189
+ "2001-08": 62.82336,
190
+ "2001-09": 63.38877,
191
+ "2001-10": 63.57894,
192
+ "2001-11": 63.45178,
193
+ "2001-12": 63.51524,
194
+ "2002-01": 63.70578,
195
+ "2002-02": 64.40655,
196
+ "2002-03": 63.56926,
197
+ "2002-04": 63.37855,
198
+ "2002-05": 63.18842,
199
+ "2002-06": 62.61972,
200
+ "2002-07": 62.18138,
201
+ "2002-08": 62.36793,
202
+ "2002-09": 62.99161,
203
+ "2002-10": 63.11759,
204
+ "2002-11": 63.05447,
205
+ "2002-12": 63.24364,
206
+ "2003-01": 63.93932,
207
+ "2003-02": 64.51477,
208
+ "2003-03": 64.12768,
209
+ "2003-04": 63.99942,
210
+ "2003-05": 63.55143,
211
+ "2003-06": 62.78881,
212
+ "2003-07": 62.47487,
213
+ "2003-08": 62.91219,
214
+ "2003-09": 63.66714,
215
+ "2003-10": 64.24014,
216
+ "2003-11": 64.88255,
217
+ "2003-12": 65.27184,
218
+ "2004-01": 65.98983,
219
+ "2004-02": 65.85785,
220
+ "2004-03": 66.05542,
221
+ "2004-04": 66.3857,
222
+ "2004-05": 66.31931,
223
+ "2004-06": 65.85508,
224
+ "2004-07": 65.72337,
225
+ "2004-08": 66.18343,
226
+ "2004-09": 66.91145,
227
+ "2004-10": 66.91145,
228
+ "2004-11": 66.71072,
229
+ "2004-12": 66.77743,
230
+ "2005-01": 67.17809,
231
+ "2005-02": 68.3873,
232
+ "2005-03": 67.77181,
233
+ "2005-04": 67.5685,
234
+ "2005-05": 67.43336,
235
+ "2005-06": 66.89389,
236
+ "2005-07": 66.89389,
237
+ "2005-08": 67.02768,
238
+ "2005-09": 67.49687,
239
+ "2005-10": 67.76686,
240
+ "2005-11": 67.56356,
241
+ "2005-12": 67.83382,
242
+ "2006-01": 68.71565,
243
+ "2006-02": 69.05923,
244
+ "2006-03": 68.4377,
245
+ "2006-04": 68.57458,
246
+ "2006-05": 68.506,
247
+ "2006-06": 68.16347,
248
+ "2006-07": 67.95898,
249
+ "2006-08": 68.16286,
250
+ "2006-09": 68.50367,
251
+ "2006-10": 68.57217,
252
+ "2006-11": 68.77789,
253
+ "2006-12": 69.74078,
254
+ "2007-01": 70.22897,
255
+ "2007-02": 70.93126,
256
+ "2007-03": 70.71846,
257
+ "2007-04": 70.64774,
258
+ "2007-05": 70.85969,
259
+ "2007-06": 71.14313,
260
+ "2007-07": 71.78342,
261
+ "2007-08": 72.64481,
262
+ "2007-09": 72.86275,
263
+ "2007-10": 73.08134,
264
+ "2007-11": 73.59291,
265
+ "2007-12": 74.32883,
266
+ "2008-01": 75.22079,
267
+ "2008-02": 77.17652,
268
+ "2008-03": 76.63628,
269
+ "2008-04": 76.71292,
270
+ "2008-05": 76.40607,
271
+ "2008-06": 76.25326,
272
+ "2008-07": 76.32951,
273
+ "2008-08": 76.25318,
274
+ "2008-09": 76.25318,
275
+ "2008-10": 76.02442,
276
+ "2008-11": 75.41623,
277
+ "2008-12": 75.2654,
278
+ "2009-01": 75.94279,
279
+ "2009-02": 75.94279,
280
+ "2009-03": 75.71496,
281
+ "2009-04": 75.56353,
282
+ "2009-05": 75.33684,
283
+ "2009-06": 74.96015,
284
+ "2009-07": 74.96015,
285
+ "2009-08": 75.33495,
286
+ "2009-09": 75.63628,
287
+ "2009-10": 75.56251,
288
+ "2009-11": 75.7899,
289
+ "2009-12": 76.54786,
290
+ "2010-01": 77.00264,
291
+ "2010-02": 77.93114,
292
+ "2010-03": 77.38162,
293
+ "2010-04": 77.53953,
294
+ "2010-05": 77.46373,
295
+ "2010-06": 76.99632,
296
+ "2010-07": 77.30582,
297
+ "2010-08": 77.76691,
298
+ "2010-09": 78.23433,
299
+ "2010-10": 78.78385,
300
+ "2010-11": 79.64919,
301
+ "2010-12": 80.04712,
302
+ "2011-01": 80.8493,
303
+ "2011-02": 81.8829,
304
+ "2011-03": 81.71854,
305
+ "2011-04": 81.80072,
306
+ "2011-05": 81.8829,
307
+ "2011-06": 82.12944,
308
+ "2011-07": 82.48972,
309
+ "2011-08": 82.72406,
310
+ "2011-09": 83.11464,
311
+ "2011-10": 83.19276,
312
+ "2011-11": 83.03652,
313
+ "2011-12": 83.27087,
314
+ "2012-01": 84.52071,
315
+ "2012-02": 84.4426,
316
+ "2012-03": 84.59883,
317
+ "2012-04": 84.52071,
318
+ "2012-05": 84.28637,
319
+ "2012-06": 83.81767,
320
+ "2012-07": 83.89579,
321
+ "2012-08": 84.44312,
322
+ "2012-09": 84.70231,
323
+ "2012-10": 84.61381,
324
+ "2012-11": 84.75506,
325
+ "2012-12": 85.37871,
326
+ "2013-01": 86.23212,
327
+ "2013-02": 87.18035,
328
+ "2013-03": 86.39648,
329
+ "2013-04": 86.56728,
330
+ "2013-05": 86.04879,
331
+ "2013-06": 86.04879,
332
+ "2013-07": 86.13388,
333
+ "2013-08": 86.56716,
334
+ "2013-09": 87.2571,
335
+ "2013-10": 87.34471,
336
+ "2013-11": 87.25703,
337
+ "2013-12": 87.51881,
338
+ "2014-01": 88.39396,
339
+ "2014-02": 88.8422,
340
+ "2014-03": 88.39396,
341
+ "2014-04": 88.03536,
342
+ "2014-05": 88.12501,
343
+ "2014-06": 88.03536,
344
+ "2014-07": 88.03536,
345
+ "2014-08": 88.21466,
346
+ "2014-09": 88.6629,
347
+ "2014-10": 88.6629,
348
+ "2014-11": 88.39396,
349
+ "2014-12": 88.75256,
350
+ "2015-01": 89.0215,
351
+ "2015-02": 90.09729,
352
+ "2015-03": 89.55939,
353
+ "2015-04": 89.3801,
354
+ "2015-05": 89.2008,
355
+ "2015-06": 89.2008,
356
+ "2015-07": 89.55939,
357
+ "2015-08": 90.00764,
358
+ "2015-09": 90.09729,
359
+ "2015-10": 89.73869,
360
+ "2015-11": 89.73869,
361
+ "2015-12": 90.18694,
362
+ "2016-01": 90.63519,
363
+ "2016-02": 92.06957,
364
+ "2016-03": 91.62132,
365
+ "2016-04": 91.44202,
366
+ "2016-05": 91.08343,
367
+ "2016-06": 90.90413,
368
+ "2016-07": 91.08343,
369
+ "2016-08": 91.17308,
370
+ "2016-09": 91.80062,
371
+ "2016-10": 91.71098,
372
+ "2016-11": 91.80062,
373
+ "2016-12": 91.97992,
374
+ "2017-01": 92.96606,
375
+ "2017-02": 92.78676,
376
+ "2017-03": 92.51781,
377
+ "2017-04": 92.51781,
378
+ "2017-05": 92.60746,
379
+ "2017-06": 92.42816,
380
+ "2017-07": 92.33852,
381
+ "2017-08": 92.78676,
382
+ "2017-09": 93.32465,
383
+ "2017-10": 93.41431,
384
+ "2017-11": 93.41431,
385
+ "2017-12": 93.68325,
386
+ "2018-01": 94.3108,
387
+ "2018-02": 95.47623,
388
+ "2018-03": 94.40044,
389
+ "2018-04": 94.22115,
390
+ "2018-05": 94.04185,
391
+ "2018-06": 94.04185,
392
+ "2018-07": 94.3108,
393
+ "2018-08": 94.93834,
394
+ "2018-09": 95.56588,
395
+ "2018-10": 95.74518,
396
+ "2018-11": 95.38658,
397
+ "2018-12": 95.47623,
398
+ "2019-01": 95.92448,
399
+ "2019-02": 96.91061,
400
+ "2019-03": 96.55202,
401
+ "2019-04": 96.64167,
402
+ "2019-05": 96.64167,
403
+ "2019-06": 96.55202,
404
+ "2019-07": 96.91061,
405
+ "2019-08": 97.62781,
406
+ "2019-09": 98.43465,
407
+ "2019-10": 99.33114,
408
+ "2019-11": 99.68974,
409
+ "2019-12": 99.68974,
410
+ "2020-01": 101.1241,
411
+ "2020-02": 101.931,
412
+ "2020-03": 100.6759,
413
+ "2020-04": 99.77939,
414
+ "2020-05": 98.97254,
415
+ "2020-06": 98.97254,
416
+ "2020-07": 98.61395,
417
+ "2020-08": 99.95869,
418
+ "2020-09": 100.138,
419
+ "2020-10": 99.86903,
420
+ "2020-11": 99.24149,
421
+ "2020-12": 99.95869,
422
+ "2021-01": 100.9,
423
+ "2021-02": 101.5,
424
+ "2021-03": 101.0,
425
+ "2021-04": 100.7,
426
+ "2021-05": 100.6,
427
+ "2021-06": 100.2,
428
+ "2021-07": 100.5,
429
+ "2021-08": 100.6,
430
+ "2021-09": 100.6,
431
+ "2021-10": 101.3,
432
+ "2021-11": 101.7,
433
+ "2021-12": 101.4,
434
+ "2022-01": 101.9,
435
+ "2022-02": 102.5,
436
+ "2022-03": 102.5,
437
+ "2022-04": 102.9,
438
+ "2022-05": 102.7,
439
+ "2022-06": 102.7,
440
+ "2022-07": 103.2,
441
+ "2022-08": 103.1,
442
+ "2022-09": 103.4,
443
+ "2022-10": 103.5,
444
+ "2022-11": 103.3,
445
+ "2022-12": 103.2,
446
+ "2023-01": 104.0,
447
+ "2023-02": 103.5,
448
+ "2023-03": 103.2,
449
+ "2023-04": 103.0,
450
+ "2023-05": 102.9,
451
+ "2023-06": 102.7,
452
+ "2023-07": 102.9,
453
+ "2023-08": 103.2,
454
+ "2023-09": 103.4,
455
+ "2023-10": 103.3,
456
+ "2023-11": 102.8,
457
+ "2023-12": 102.9,
458
+ "2024-01": 103.1,
459
+ "2024-02": 104.2,
460
+ "2024-03": 103.3,
461
+ "2024-04": 103.2,
462
+ "2024-05": 103.2,
463
+ "2024-06": 102.9,
464
+ "2024-07": 103.4,
465
+ "2024-08": 103.8,
466
+ "2024-09": 103.8,
467
+ "2024-10": 103.6,
468
+ "2024-11": 103.0,
469
+ "2024-12": 103.0,
470
+ "2025-01": 103.6,
471
+ "2025-02": 103.4,
472
+ "2025-03": 103.2,
473
+ "2025-04": 103.123,
474
+ "2025-05": 103.1236,
475
+ "2025-06": 103.0133,
476
+ "2025-07": 103.4184,
477
+ "2025-08": 103.4221,
478
+ "2025-09": 103.519,
479
+ "2025-10": 103.8396,
480
+ "2025-11": 103.7373,
481
+ "2025-12": 103.8426,
482
+ "2026-01": 103.8373,
483
+ "2026-02": 104.7772,
484
+ "2026-03": 104.2648
485
+ }
486
+ }
487
+ }
data/data/cpi/eu.json CHANGED
@@ -20,7 +20,7 @@
20
20
  ],
21
21
  "providers": [
22
22
  {
23
- "fetched_at": "2026-05-11",
23
+ "fetched_at": "2026-05-12",
24
24
  "id": "eurostat",
25
25
  "label": "Eurostat prc_hicp_midx (HICP, EA all current members, CP00, 2015=100)",
26
26
  "status": "ok"
data/data/cpi/jp.json CHANGED
@@ -14,7 +14,7 @@
14
14
  ],
15
15
  "providers": [
16
16
  {
17
- "fetched_at": "2026-05-11",
17
+ "fetched_at": "2026-05-12",
18
18
  "id": "world_bank",
19
19
  "label": "World Bank FP.CPI.TOTL (annual, JP fallback)",
20
20
  "status": "ok"