timeprice 0.3.0 → 0.5.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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/DATA_LICENSES.md +2 -1
  4. data/README.md +20 -4
  5. data/data/cpi/eu.json +422 -397
  6. data/data/cpi/jp.json +91 -72
  7. data/data/cpi/uk.json +529 -504
  8. data/data/cpi/us.json +507 -476
  9. data/data/cpi/vn.json +368 -37
  10. data/data/fx/usd/1999.json +281 -524
  11. data/data/fx/usd/2000.json +277 -516
  12. data/data/fx/usd/2001.json +276 -511
  13. data/data/fx/usd/2002.json +277 -513
  14. data/data/fx/usd/2003.json +277 -513
  15. data/data/fx/usd/2004.json +281 -521
  16. data/data/fx/usd/2005.json +279 -520
  17. data/data/fx/usd/2006.json +277 -513
  18. data/data/fx/usd/2007.json +277 -513
  19. data/data/fx/usd/2008.json +278 -515
  20. data/data/fx/usd/2009.json +278 -515
  21. data/data/fx/usd/2010.json +280 -522
  22. data/data/fx/usd/2011.json +279 -520
  23. data/data/fx/usd/2012.json +278 -515
  24. data/data/fx/usd/2013.json +277 -513
  25. data/data/fx/usd/2014.json +277 -513
  26. data/data/fx/usd/2015.json +278 -515
  27. data/data/fx/usd/2016.json +279 -520
  28. data/data/fx/usd/2017.json +277 -513
  29. data/data/fx/usd/2018.json +277 -513
  30. data/data/fx/usd/2019.json +277 -513
  31. data/data/fx/usd/2020.json +279 -517
  32. data/data/fx/usd/2021.json +280 -522
  33. data/data/fx/usd/2022.json +279 -520
  34. data/data/fx/usd/2023.json +277 -513
  35. data/data/fx/usd/2024.json +278 -515
  36. data/data/fx/usd/2025.json +22 -3
  37. data/data/fx/usd/2026.json +22 -3
  38. data/data/fx/usd/_annual.json +145 -0
  39. data/data/manifest.json +90 -0
  40. data/lib/timeprice/cli/presenters/compare.rb +3 -1
  41. data/lib/timeprice/cli/presenters/inflation.rb +2 -1
  42. data/lib/timeprice/compare.rb +3 -2
  43. data/lib/timeprice/cpi_lookup.rb +9 -7
  44. data/lib/timeprice/data_loader.rb +42 -7
  45. data/lib/timeprice/errors.rb +4 -4
  46. data/lib/timeprice/exchange.rb +34 -17
  47. data/lib/timeprice/granularity.rb +46 -0
  48. data/lib/timeprice/inflation.rb +6 -19
  49. data/lib/timeprice/sources/coverage.rb +27 -32
  50. data/lib/timeprice/sources.rb +5 -5
  51. data/lib/timeprice/supported.rb +39 -22
  52. data/lib/timeprice/version.rb +1 -1
  53. data/lib/timeprice.rb +2 -2
  54. metadata +4 -15
  55. data/data/fx/usd/1983.json +0 -12
  56. data/data/fx/usd/1986.json +0 -12
  57. data/data/fx/usd/1987.json +0 -12
  58. data/data/fx/usd/1988.json +0 -12
  59. data/data/fx/usd/1989.json +0 -12
  60. data/data/fx/usd/1990.json +0 -12
  61. data/data/fx/usd/1991.json +0 -12
  62. data/data/fx/usd/1992.json +0 -12
  63. data/data/fx/usd/1993.json +0 -12
  64. data/data/fx/usd/1994.json +0 -12
  65. data/data/fx/usd/1995.json +0 -12
  66. data/data/fx/usd/1996.json +0 -12
  67. data/data/fx/usd/1997.json +0 -12
  68. data/data/fx/usd/1998.json +0 -12
data/data/cpi/vn.json CHANGED
@@ -1,40 +1,371 @@
1
1
  {
2
- "annual": {
3
- "1995": 40.1657203822899,
4
- "1996": 42.4451250139849,
5
- "1997": 43.8074123636177,
6
- "1998": 46.9905457039141,
7
- "1999": 48.9251945689942,
8
- "2000": 48.0884087276966,
9
- "2001": 47.8808858390548,
10
- "2002": 49.7151204031794,
11
- "2003": 51.3232296369754,
12
- "2004": 55.3033191440045,
13
- "2005": 59.8849626753953,
14
- "2006": 64.3272394775767,
15
- "2007": 69.6949931031089,
16
- "2008": 85.8053032346153,
17
- "2009": 91.5688306084694,
18
- "2010": 100.0,
19
- "2011": 118.677732277071,
20
- "2012": 129.471120024261,
21
- "2013": 138.006729874285,
22
- "2014": 143.643689923265,
23
- "2015": 144.550370194288,
24
- "2016": 148.407332801278,
25
- "2017": 153.631652156685,
26
- "2018": 159.069641224583,
27
- "2019": 163.516947912918,
28
- "2020": 168.783721483338,
29
- "2021": 171.880422664063,
30
- "2022": 177.305841095852,
31
- "2023": 183.073410082137,
32
- "2024": 189.702668041402
33
- },
34
- "base_year": "2010=100",
35
2
  "country": "VN",
36
- "monthly": {},
37
- "schema_version": 1,
38
- "source": "World Bank FP.CPI.TOTL (annual)",
39
- "updated_at": "2026-05-11"
3
+ "index": {
4
+ "base_period": "2010",
5
+ "rebased_at": "2026-05-11"
6
+ },
7
+ "provenance": [
8
+ {
9
+ "from": "2001-12",
10
+ "provider": "imf",
11
+ "series": "monthly",
12
+ "to": "2026-03"
13
+ },
14
+ {
15
+ "from": "1995",
16
+ "provider": "world_bank",
17
+ "series": "annual",
18
+ "to": "2001"
19
+ },
20
+ {
21
+ "from": "2002",
22
+ "provider": "imf",
23
+ "series": "annual",
24
+ "to": "2025"
25
+ }
26
+ ],
27
+ "providers": [
28
+ {
29
+ "fetched_at": "2026-05-11",
30
+ "id": "world_bank",
31
+ "label": "World Bank FP.CPI.TOTL (annual)",
32
+ "status": "ok"
33
+ },
34
+ {
35
+ "fetched_at": "2026-05-11",
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": 3,
42
+ "series": {
43
+ "annual": {
44
+ "1995": 21.083683,
45
+ "1996": 22.280182,
46
+ "1997": 22.99527,
47
+ "1998": 24.666152,
48
+ "1999": 25.681683,
49
+ "2000": 25.242439,
50
+ "2001": 25.133507,
51
+ "2002": 26.096,
52
+ "2003": 26.94,
53
+ "2004": 29.03,
54
+ "2005": 31.435,
55
+ "2006": 33.766,
56
+ "2007": 36.584,
57
+ "2008": 45.041,
58
+ "2009": 48.066,
59
+ "2010": 52.492,
60
+ "2011": 62.296,
61
+ "2012": 67.961,
62
+ "2013": 72.442,
63
+ "2014": 75.401,
64
+ "2015": 75.877,
65
+ "2016": 77.901,
66
+ "2017": 80.644,
67
+ "2018": 83.498,
68
+ "2019": 85.833,
69
+ "2020": 88.597,
70
+ "2021": 90.223,
71
+ "2022": 93.071,
72
+ "2023": 96.098,
73
+ "2024": 99.578,
74
+ "2025": 102.874
75
+ },
76
+ "monthly": {
77
+ "2001-12": 25.36739008790192,
78
+ "2002-01": 25.6322671259501,
79
+ "2002-02": 26.19617700272103,
80
+ "2002-03": 25.98660758669925,
81
+ "2002-04": 25.98660758669925,
82
+ "2002-05": 26.06456740945937,
83
+ "2002-06": 26.09063197686882,
84
+ "2002-07": 26.06454134489196,
85
+ "2002-08": 26.09060588623681,
86
+ "2002-09": 26.14278709800931,
87
+ "2002-10": 26.22121545930331,
88
+ "2002-11": 26.29987910568129,
89
+ "2002-12": 26.37877874299829,
90
+ "2003-01": 26.61618775168532,
91
+ "2003-02": 27.20174388222234,
92
+ "2003-03": 27.03853341892901,
93
+ "2003-04": 27.03853341892901,
94
+ "2003-05": 27.01149488551009,
95
+ "2003-06": 26.93046040085359,
96
+ "2003-07": 26.84966901965102,
97
+ "2003-08": 26.82281935063134,
98
+ "2003-09": 26.84964216998203,
99
+ "2003-10": 26.79594288564206,
100
+ "2003-11": 26.95671854295585,
101
+ "2003-12": 27.17237229129956,
102
+ "2004-01": 27.47126838650379,
103
+ "2004-02": 28.29540643809896,
104
+ "2004-03": 28.52176968960372,
105
+ "2004-04": 28.66437853805172,
106
+ "2004-05": 28.92235794489419,
107
+ "2004-06": 29.15373680845335,
108
+ "2004-07": 29.2995054924956,
109
+ "2004-08": 29.47530252545062,
110
+ "2004-09": 29.56372843302695,
111
+ "2004-10": 29.56372843302695,
112
+ "2004-11": 29.62285588989299,
113
+ "2004-12": 29.80059302523241,
114
+ "2005-01": 30.12839954850992,
115
+ "2005-02": 30.88160953722271,
116
+ "2005-03": 30.91249114675989,
117
+ "2005-04": 31.09796609364044,
118
+ "2005-05": 31.25345592410867,
119
+ "2005-06": 31.3784697478051,
120
+ "2005-07": 31.50398362679629,
121
+ "2005-08": 31.62999956130347,
122
+ "2005-09": 31.88303955779397,
123
+ "2005-10": 32.01057171602509,
124
+ "2005-11": 32.13861400288924,
125
+ "2005-12": 32.39572291491234,
126
+ "2006-01": 32.7844715898913,
127
+ "2006-02": 33.47294549327901,
128
+ "2006-03": 33.30558076581261,
129
+ "2006-04": 33.3721919273442,
130
+ "2006-05": 33.58296366583273,
131
+ "2006-06": 33.71393722412947,
132
+ "2006-07": 33.84542157930353,
133
+ "2006-08": 33.97403418130488,
134
+ "2006-09": 34.07595628384884,
135
+ "2006-10": 34.1577385789301,
136
+ "2006-11": 34.36610078426154,
137
+ "2006-12": 34.54480450833974,
138
+ "2007-01": 34.90752495567728,
139
+ "2007-02": 35.66501824721547,
140
+ "2007-03": 35.58655520707158,
141
+ "2007-04": 35.76092932758621,
142
+ "2007-05": 36.03628848340863,
143
+ "2007-06": 36.34259693551766,
144
+ "2007-07": 36.68421734671151,
145
+ "2007-08": 36.88598054211842,
146
+ "2007-09": 37.0740990428832,
147
+ "2007-10": 37.34844737580054,
148
+ "2007-11": 37.80783327852289,
149
+ "2007-12": 38.90804122692791,
150
+ "2008-01": 39.83405260812879,
151
+ "2008-02": 41.25214488097813,
152
+ "2008-03": 42.48558401291938,
153
+ "2008-04": 43.42026686120363,
154
+ "2008-05": 45.11799929547667,
155
+ "2008-06": 46.08352448039987,
156
+ "2008-07": 46.60426830702839,
157
+ "2008-08": 47.33129489261806,
158
+ "2008-09": 47.41649122342474,
159
+ "2008-10": 47.32639989010025,
160
+ "2008-11": 46.9667192509355,
161
+ "2008-12": 46.64734556002912,
162
+ "2009-01": 46.79661706582125,
163
+ "2009-02": 47.34413748549132,
164
+ "2009-03": 47.263652451766,
165
+ "2009-04": 47.42907523534718,
166
+ "2009-05": 47.63776316638273,
167
+ "2009-06": 47.89977086379782,
168
+ "2009-07": 48.14884967228953,
169
+ "2009-08": 48.26440691150305,
170
+ "2009-09": 48.56364623435439,
171
+ "2009-10": 48.74333172542149,
172
+ "2009-11": 49.01142004991128,
173
+ "2009-12": 49.68777764660009,
174
+ "2010-01": 50.36353142259381,
175
+ "2010-02": 51.3506566384767,
176
+ "2010-03": 51.73578656326526,
177
+ "2010-04": 51.80821666445386,
178
+ "2010-05": 51.94809884944788,
179
+ "2010-06": 52.06238466691662,
180
+ "2010-07": 52.0936220977168,
181
+ "2010-08": 52.21343742854153,
182
+ "2010-09": 52.89743345885546,
183
+ "2010-10": 53.45285651017339,
184
+ "2010-11": 54.44707964126261,
185
+ "2010-12": 55.52513181815963,
186
+ "2011-01": 56.49126911179558,
187
+ "2011-02": 57.67193663623217,
188
+ "2011-03": 58.92341766123841,
189
+ "2011-04": 60.87967512759147,
190
+ "2011-05": 62.22511594791128,
191
+ "2011-06": 62.90336971174353,
192
+ "2011-07": 63.63933913737092,
193
+ "2011-08": 64.23118499134844,
194
+ "2011-09": 64.75788070827751,
195
+ "2011-10": 64.99100907882735,
196
+ "2011-11": 65.24447401423478,
197
+ "2011-12": 65.59026972651019,
198
+ "2012-01": 66.2461724237753,
199
+ "2012-02": 67.15374498598106,
200
+ "2012-03": 67.2611909779586,
201
+ "2012-04": 67.29482157344756,
202
+ "2012-05": 67.4159522522798,
203
+ "2012-06": 67.24067077642384,
204
+ "2012-07": 67.04567283117221,
205
+ "2012-08": 67.46806057000863,
206
+ "2012-09": 68.95235790254878,
207
+ "2012-10": 69.53845294472042,
208
+ "2012-11": 69.86528367356061,
209
+ "2012-12": 70.05391993947929,
210
+ "2013-01": 70.92959393872272,
211
+ "2013-02": 71.86586457871388,
212
+ "2013-03": 71.72931943601428,
213
+ "2013-04": 71.74366529990154,
214
+ "2013-05": 71.70061910072155,
215
+ "2013-06": 71.73646941027194,
216
+ "2013-07": 71.93015787767966,
217
+ "2013-08": 72.5271781880644,
218
+ "2013-09": 73.29596627685785,
219
+ "2013-10": 73.65511651161448,
220
+ "2013-11": 73.905543907754,
221
+ "2013-12": 74.28246218168351,
222
+ "2014-01": 74.79501117073714,
223
+ "2014-02": 75.2063837321762,
224
+ "2014-03": 74.87547564375458,
225
+ "2014-04": 74.93537602426964,
226
+ "2014-05": 75.08524677631816,
227
+ "2014-06": 75.31050251664709,
228
+ "2014-07": 75.48371667243535,
229
+ "2014-08": 75.64978084911479,
230
+ "2014-09": 75.95237997251125,
231
+ "2014-10": 76.0359275904809,
232
+ "2014-11": 75.83063058598673,
233
+ "2014-12": 75.64863707258034,
234
+ "2015-01": 75.49733979843514,
235
+ "2015-02": 75.45959112853596,
236
+ "2015-03": 75.57278051522873,
237
+ "2015-04": 75.67858240795007,
238
+ "2015-05": 75.7996681398028,
239
+ "2015-06": 76.06496697829202,
240
+ "2015-07": 76.16385143536395,
241
+ "2015-08": 76.11053673935893,
242
+ "2015-09": 75.9507046122065,
243
+ "2015-10": 76.03425038727993,
244
+ "2015-11": 76.08762643105179,
245
+ "2015-12": 76.10033306466573,
246
+ "2016-01": 76.09896325867051,
247
+ "2016-02": 76.41797011265116,
248
+ "2016-03": 76.8531704524429,
249
+ "2016-04": 77.11047486711699,
250
+ "2016-05": 77.52748831519887,
251
+ "2016-06": 77.88760349842286,
252
+ "2016-07": 77.98729963090072,
253
+ "2016-08": 78.06715862572312,
254
+ "2016-09": 78.49114136421927,
255
+ "2016-10": 79.1440306780866,
256
+ "2016-11": 79.52447603355643,
257
+ "2016-12": 79.70539421653243,
258
+ "2017-01": 80.06916963573691,
259
+ "2017-02": 80.25637135434519,
260
+ "2017-03": 80.42330460676249,
261
+ "2017-04": 80.42587815250957,
262
+ "2017-05": 80.00167749824163,
263
+ "2017-06": 79.8647946280418,
264
+ "2017-07": 79.95240630774892,
265
+ "2017-08": 80.68572977840341,
266
+ "2017-09": 81.16346998442135,
267
+ "2017-10": 81.49916209627693,
268
+ "2017-11": 81.60633349443398,
269
+ "2017-12": 81.77476896676635,
270
+ "2018-01": 82.19026656788647,
271
+ "2018-02": 82.78795418636781,
272
+ "2018-03": 82.565171801653,
273
+ "2018-04": 82.63403115493541,
274
+ "2018-05": 83.08727881582027,
275
+ "2018-06": 83.59286490741486,
276
+ "2018-07": 83.51712977180858,
277
+ "2018-08": 83.89471071550687,
278
+ "2018-09": 84.39262582360362,
279
+ "2018-10": 84.67247177083406,
280
+ "2018-11": 84.42827636224732,
281
+ "2018-12": 84.2140818251166,
282
+ "2019-01": 84.29678005346895,
283
+ "2019-02": 84.97250304237694,
284
+ "2019-03": 84.79440067600062,
285
+ "2019-04": 85.05700893489386,
286
+ "2019-05": 85.47633998894268,
287
+ "2019-06": 85.39753080347333,
288
+ "2019-07": 85.55261271941242,
289
+ "2019-08": 85.79224558763903,
290
+ "2019-09": 86.06274853797704,
291
+ "2019-10": 86.56630167967305,
292
+ "2019-11": 87.39958889964116,
293
+ "2019-12": 88.62230914834711,
294
+ "2020-01": 89.71484497552845,
295
+ "2020-02": 89.5650211844189,
296
+ "2020-03": 88.92266085248433,
297
+ "2020-04": 87.55067311819099,
298
+ "2020-05": 87.52423281490988,
299
+ "2020-06": 88.10049236376315,
300
+ "2020-07": 88.45227762977117,
301
+ "2020-08": 88.51799767205,
302
+ "2020-09": 88.6282025791517,
303
+ "2020-10": 88.70433420516683,
304
+ "2020-11": 88.69688304109376,
305
+ "2020-12": 88.7880634368604,
306
+ "2021-01": 88.8434671884452,
307
+ "2021-02": 90.19219986383278,
308
+ "2021-03": 89.95075534479714,
309
+ "2021-04": 89.9163042055001,
310
+ "2021-05": 90.0587316313616,
311
+ "2021-06": 90.22750169443844,
312
+ "2021-07": 90.78907766498517,
313
+ "2021-08": 91.01414378851628,
314
+ "2021-09": 90.45395173349824,
315
+ "2021-10": 90.27023975752753,
316
+ "2021-11": 90.55991695690955,
317
+ "2021-12": 90.39546014771545,
318
+ "2022-01": 90.56865784935815,
319
+ "2022-02": 91.47651807564073,
320
+ "2022-03": 92.118408802977,
321
+ "2022-04": 92.28827514880957,
322
+ "2022-05": 92.63703254059693,
323
+ "2022-06": 93.27196676163082,
324
+ "2022-07": 93.64067084623942,
325
+ "2022-08": 93.6453528797819,
326
+ "2022-09": 94.01815502959602,
327
+ "2022-10": 94.15466939069903,
328
+ "2022-11": 94.51923627057985,
329
+ "2022-12": 94.507421366046,
330
+ "2023-01": 94.99441810834519,
331
+ "2023-02": 95.4208480512336,
332
+ "2023-03": 95.20529235548587,
333
+ "2023-04": 94.87921422916828,
334
+ "2023-05": 94.88633017023547,
335
+ "2023-06": 95.1400562171107,
336
+ "2023-07": 95.57275319278612,
337
+ "2023-08": 96.41484472116771,
338
+ "2023-09": 97.45602862931165,
339
+ "2023-10": 97.536137484845,
340
+ "2023-11": 97.77851478649475,
341
+ "2023-12": 97.8917423066175,
342
+ "2024-01": 98.19657814598979,
343
+ "2024-02": 99.21517125109811,
344
+ "2024-03": 98.98439676276803,
345
+ "2024-04": 99.0567543568016,
346
+ "2024-05": 99.10321197459496,
347
+ "2024-06": 99.26702958398901,
348
+ "2024-07": 99.73884577560173,
349
+ "2024-08": 99.73814760368128,
350
+ "2024-09": 100.0224013243518,
351
+ "2024-10": 100.3556759655645,
352
+ "2024-11": 100.4836294524206,
353
+ "2024-12": 100.7719169853196,
354
+ "2025-01": 101.7606910347796,
355
+ "2025-02": 102.1054562560054,
356
+ "2025-03": 102.0824159102041,
357
+ "2025-04": 102.151239382923,
358
+ "2025-05": 102.3146951306302,
359
+ "2025-06": 102.8050623737519,
360
+ "2025-07": 102.91690051692,
361
+ "2025-08": 102.9685181214591,
362
+ "2025-09": 103.4072677600416,
363
+ "2025-10": 103.6137381781981,
364
+ "2025-11": 104.08,
365
+ "2025-12": 104.28,
366
+ "2026-01": 104.33,
367
+ "2026-02": 105.52,
368
+ "2026-03": 106.83
369
+ }
370
+ }
40
371
  }