philly_frb_as_dataframe 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6050edfc861ff0f67173eeb46b63d49aa5681835e1a5df158594ac83d39fd4ec
4
- data.tar.gz: ec7a18b92baf017c631c55636ed859e430e36f6f0e64af84f78dcdb1daacce86
3
+ metadata.gz: 0a4b46edc99f3ac1d3442b4fc77d77197d926f469a33efdf2c5801c5f04e9912
4
+ data.tar.gz: 52cb38a65d0f5f81d5e2bcd5d18fc45db7a5647f129fee6e39e2f1d48f324fe0
5
5
  SHA512:
6
- metadata.gz: bdf88d1bfa361466a17220433a96f17392898c90fd2a17fa7af779e690b0f017a2ac9e7e6c590c5ec8d1ad1d1c235fa829c7840b91a180f45511634e225641a0
7
- data.tar.gz: 2be5b732d959b8f93540022dd7c3127f25c4069f5e00a5b0ca7518f13901fd90bcb3a45e25fba3c55693c5cd868d8b97c536cb6c287cfdca57475d4b4b1ca296
6
+ metadata.gz: 27b62834b929b20a8bdc7d62f6cac49ed5251405b301484dd87721c87643c7f61437dd4b7baec435ec131f84d303ecd244514a817e7c5e97d83731c36dc4a7d9
7
+ data.tar.gz: ed396f66125918c75171010292457faf29bd7d251b251047a61c11065319af185ab629cb53fb1d6bd52f9354eddc151a94014ea390ad86c04c462a3947156d51
data/.DS_Store ADDED
Binary file
data/.gitignore CHANGED
@@ -6,3 +6,6 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ *.gem
10
+ Gemfile.lock
11
+ lib/.DS_Store
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ phillyfrb
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.3.6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.2.0] - 2026-08-28
4
+
5
+ - Updated required_ruby_version to >= 3.3
6
+ - Updated polars-df dependency to 0.27.1
7
+
3
8
  ## [0.1.0] - 2024-08-05
4
9
 
5
10
  - Initial release
data/Gemfile CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
+ ruby "3.3.6"
6
+
5
7
  # Specify your gem's dependencies in philly_frb_as_dataframe.gemspec
6
8
  gemspec
7
9
 
8
10
  gem "rake", "~> 13.0"
11
+
12
+ gem "write_xlsx", "~> 1.15", group: :development
data/README.md CHANGED
@@ -1,8 +1,13 @@
1
1
  # PhillyFrbAsDataframe
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/philly_frb_as_dataframe`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Up to date remote economic data access for ruby, using Polars dataframes.
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ This package will fetch economic and financial information from the Federal Reserve Bank of Philadelphia, and return the results as a Polars dataframe. For details regarding the data available from the Philadelphia FRB, see https://www.philadelphiafed.org/surveys-and-data . This gem exposes the Partisan Conflict Index (see https://www.philadelphiafed.org/surveys-and-data/macroeconomic-data/partisan-conflict-index) and the Survey of Professional Forecasters (see https://www.philadelphiafed.org/-/media/frbp/assets/surveys-and-data/survey-of-professional-forecasters/spf-documentation.pdf).
6
+
7
+ ## Requirements
8
+
9
+ - Ruby >= 3.3
10
+ - polars-df 0.27.1
6
11
 
7
12
  ## Installation
8
13
 
@@ -22,7 +27,159 @@ Or install it yourself as:
22
27
 
23
28
  ## Usage
24
29
 
25
- TODO: Write usage instructions here
30
+ ```ruby
31
+ 3.3.6 :001 > PhillyFrbAsDataframe::PartisanConflict.new.fetch
32
+ =>
33
+ shape: (522, 2)
34
+ ┌────────────┬───────────────────┐
35
+ │ Timestamps ┆ Partisan Conflict │
36
+ │ --- ┆ --- │
37
+ │ date ┆ f64 │
38
+ ╞════════════╪═══════════════════╡
39
+ │ 1981-01-01 ┆ 68.944808 │
40
+ │ 1981-02-01 ┆ 64.907109 │
41
+ │ 1981-03-01 ┆ 79.058476 │
42
+ │ 1981-04-01 ┆ 69.324041 │
43
+ │ 1981-05-01 ┆ 88.194466 │
44
+ │ … ┆ … │
45
+ │ 2024-02-01 ┆ 131.52 │
46
+ │ 2024-03-01 ┆ 141.55 │
47
+ │ 2024-04-01 ┆ 119.98 │
48
+ │ 2024-05-01 ┆ 113.41 │
49
+ │ 2024-06-01 ┆ 103.95 │
50
+ └────────────┴───────────────────┘
51
+ 3.3.6 :002 > PhillyFrbAsDataframe::PartisanConflict.new.fetch(start: Date.new(2000,01,01), fin: Date.new(2020,12,31))
52
+ =>
53
+ shape: (252, 2)
54
+ ┌────────────┬───────────────────┐
55
+ │ Timestamps ┆ Partisan Conflict │
56
+ │ --- ┆ --- │
57
+ │ date ┆ f64 │
58
+ ╞════════════╪═══════════════════╡
59
+ │ 2000-01-01 ┆ 77.280948 │
60
+ │ 2000-02-01 ┆ 86.638723 │
61
+ │ 2000-03-01 ┆ 94.667911 │
62
+ │ 2000-04-01 ┆ 80.756581 │
63
+ │ 2000-05-01 ┆ 79.505339 │
64
+ │ … ┆ … │
65
+ │ 2020-08-01 ┆ 98.07 │
66
+ │ 2020-09-01 ┆ 116.31 │
67
+ │ 2020-10-01 ┆ 137.03 │
68
+ │ 2020-11-01 ┆ 156.84 │
69
+ │ 2020-12-01 ┆ 117.87 │
70
+ └────────────┴───────────────────┘
71
+ ```
72
+
73
+ and
74
+
75
+ ```ruby
76
+ 3.3.6 :001 > a = PhillyFrbAsDataframe::SurveyProfForecasters.new
77
+ => #<PhillyFrbAsDataframe::SurveyProfForecasters:0x0000000106e18640>
78
+ 3.3.6 :002 > a.fetch
79
+ =>
80
+ shape: (223, 308)
81
+ ┌────────────┬────────────┬────────────┬────────────┬───┬──────────────────┬──────────────────┬──────────────────┬──────────────────┐
82
+ │ Timestamps ┆ NGDP1 ┆ NGDP2 ┆ NGDP3 ┆ … ┆ RR3_TBILL_CPCE_2 ┆ RR3_TBILL_CPCE_3 ┆ RR3_TBILL_CPCE_4 ┆ RR3_TBILL_CPCE_5 │
83
+ │ --- ┆ --- ┆ --- ┆ --- ┆ ┆ --- ┆ --- ┆ --- ┆ --- │
84
+ │ date ┆ f64 ┆ f64 ┆ f64 ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 │
85
+ ╞════════════╪════════════╪════════════╪════════════╪═══╪══════════════════╪══════════════════╪══════════════════╪══════════════════╡
86
+ │ 1968-10-01 ┆ 870.931 ┆ 884.7816 ┆ 896.5402 ┆ … ┆ null ┆ null ┆ null ┆ null │
87
+ │ 1969-01-01 ┆ 887.8413 ┆ 900.6667 ┆ 912.0476 ┆ … ┆ null ┆ null ┆ null ┆ null │
88
+ │ 1969-04-01 ┆ 903.0169 ┆ 916.8814 ┆ 930.0 ┆ … ┆ null ┆ null ┆ null ┆ null │
89
+ │ 1969-07-01 ┆ 924.9322 ┆ 938.7288 ┆ 950.678 ┆ … ┆ null ┆ null ┆ null ┆ null │
90
+ │ 1969-10-01 ┆ 942.8596 ┆ 954.2632 ┆ 963.7895 ┆ … ┆ null ┆ null ┆ null ┆ null │
91
+ │ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │
92
+ │ 2023-04-01 ┆ 26465.8911 ┆ 26717.284 ┆ 26920.0377 ┆ … ┆ 1.4984 ┆ 1.9012 ┆ 2.0303 ┆ 1.9329 │
93
+ │ 2023-07-01 ┆ 26834.9959 ┆ 27140.6493 ┆ 27397.6401 ┆ … ┆ 2.3394 ┆ 2.5546 ┆ 2.5933 ┆ 2.4247 │
94
+ │ 2023-10-01 ┆ 27623.5055 ┆ 27917.2634 ┆ 28184.9915 ┆ … ┆ 2.7834 ┆ 2.8424 ┆ 2.795 ┆ 2.5619 │
95
+ │ 2024-01-01 ┆ 27938.8105 ┆ 28234.0069 ┆ 28497.6187 ┆ … ┆ 3.1199 ┆ 2.983 ┆ 2.692 ┆ 2.4174 │
96
+ │ 2024-04-01 ┆ 28284.4998 ┆ 28625.8758 ┆ 28944.1106 ┆ … ┆ 2.5017 ┆ 2.6019 ┆ 2.4432 ┆ 2.1863 │
97
+ └────────────┴────────────┴────────────┴────────────┴───┴──────────────────┴──────────────────┴──────────────────┴──────────────────┘
98
+ 3.3.6 :003 > Polars::Config.set_tbl_rows(-1)
99
+ => Polars::Config
100
+ 3.3.6 :004 > Polars::Config.set_tbl_cols(-1)
101
+ => Polars::Config
102
+ 3.3.6 :005 > a.fetch
103
+ =>
104
+ shape: (223, 308)
105
+ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
106
+ │ Tim ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ NGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ PGD ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ CPR ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ UNE ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ EMP ┆ IND ┆ IND ┆ IND ┆ IND ┆ IND ┆ IND ┆ IND ┆ IND ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ HOU ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ TBI ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ BAA ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ TBO ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RGD ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RCO ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RNR ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RRE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RFE ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RSL ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ RCB ┆ REX ┆ REX ┆ REX ┆ REX ┆ REX ┆ REX ┆ REX ┆ REX ┆ CPI ┆ PCE ┆ CPI ┆ PCE ┆ RGD ┆ PRO ┆ STO ┆ BON ┆ BIL ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ CPI ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ PCE ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ COR ┆ UBA ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ SPR ┆ cpi ┆ pce ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR1 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR2 ┆ RR3 ┆ RR3 ┆ RR3 ┆ RR3 │
107
+ │ est ┆ P1 ┆ P2 ┆ P3 ┆ P4 ┆ P5 ┆ P6 ┆ PA ┆ PB ┆ P1 ┆ P2 ┆ P3 ┆ P4 ┆ P5 ┆ P6 ┆ PA ┆ PB ┆ OF1 ┆ OF2 ┆ OF3 ┆ OF4 ┆ OF5 ┆ OF6 ┆ OFA ┆ OFB ┆ MP1 ┆ MP2 ┆ MP3 ┆ MP4 ┆ MP5 ┆ MP6 ┆ MPA ┆ MPB ┆ MPC ┆ MPD ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ PRO ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ LL1 ┆ LL2 ┆ LL3 ┆ LL4 ┆ LL5 ┆ LL6 ┆ LLA ┆ LLB ┆ LLC ┆ LLD ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ ND1 ┆ ND2 ┆ ND3 ┆ ND4 ┆ ND5 ┆ ND6 ┆ NDA ┆ NDB ┆ NDC ┆ NDD ┆ P1 ┆ P2 ┆ P3 ┆ P4 ┆ P5 ┆ P6 ┆ PA ┆ PB ┆ PC ┆ PD ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ NSU ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ ESI ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ SIN ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ DGO ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ GOV ┆ I1 ┆ I2 ┆ I3 ┆ I4 ┆ I5 ┆ I6 ┆ IA ┆ IB ┆ POR ┆ POR ┆ POR ┆ POR ┆ POR ┆ POR ┆ POR ┆ POR ┆ 5YR ┆ 5YR ┆ 10 ┆ 10 ┆ P10 ┆ D10 ┆ CK1 ┆ D10 ┆ L10 ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ C ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ ECP ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ C ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ EPC ┆ R ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _BA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ _AA ┆ f5 ┆ f5 ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB ┆ _TB │
108
+ │ amp ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ G1 ┆ G2 ┆ G3 ┆ G4 ┆ G5 ┆ G6 ┆ GA ┆ GB ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ M1 ┆ M2 ┆ M3 ┆ M4 ┆ M5 ┆ M6 ┆ MA ┆ MB ┆ N1 ┆ N2 ┆ N3 ┆ N4 ┆ N5 ┆ N6 ┆ NA ┆ NB ┆ V1 ┆ V2 ┆ V3 ┆ V4 ┆ V5 ┆ V6 ┆ VA ┆ VB ┆ V1 ┆ V2 ┆ V3 ┆ V4 ┆ V5 ┆ V6 ┆ VA ┆ VB ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ T1 ┆ T2 ┆ T3 ┆ T4 ┆ T5 ┆ T6 ┆ TA ┆ TB ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ 0 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ I1 ┆ I2 ┆ I3 ┆ I4 ┆ I5 ┆ I6 ┆ IA ┆ IB ┆ IC ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ E1 ┆ E2 ┆ E3 ┆ E4 ┆ E5 ┆ E6 ┆ EA ┆ EB ┆ EC ┆ --- ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ ond ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_A ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ A_T ┆ --- ┆ --- ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL ┆ ILL │
109
+ │ s ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ _Tb ┆ AA1 ┆ AA2 ┆ AA3 ┆ AA4 ┆ AA5 ┆ AA6 ┆ AAA ┆ AAB ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ BON ┆ f64 ┆ f64 ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _PG ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _CC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _PC ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP ┆ _CP │
110
+ │ --- ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ ill ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ D1 ┆ D2 ┆ D3 ┆ D4 ┆ D5 ┆ D6 ┆ DA ┆ DB ┆ ┆ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ DP_ ┆ I_2 ┆ I_3 ┆ I_4 ┆ I_5 ┆ I_6 ┆ I_2 ┆ I_3 ┆ I_4 ┆ I_5 ┆ I_2 ┆ I_3 ┆ I_4 ┆ I_5 ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ PI_ ┆ E_2 ┆ E_3 ┆ E_4 ┆ E_5 ┆ E_6 ┆ E_2 ┆ E_3 ┆ E_4 ┆ E_5 ┆ E_2 ┆ E_3 ┆ E_4 ┆ E_5 ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ ┆ CE_ │
111
+ │ dat ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ 1 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ A ┆ B ┆ C ┆ D ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ ┆ ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 6 ┆ 2 ┆ 3 ┆ 4 ┆ 5 ┆ 2 ┆ 3 ┆ 4 ┆ 5 │
112
+ │ e ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ nul ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │
113
+ │ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ l ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 ┆ f64 │
114
+ ╞═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╪═════╡
115
+ │ 196 ┆ 870 ┆ 884 ┆ 896 ┆ 908 ┆ 923 ┆ 939 ┆ nul ┆ nul ┆ 122 ┆ 123 ┆ 124 ┆ 125 ┆ 126 ┆ 126 ┆ nul ┆ nul ┆ 51. ┆ 51. ┆ 50. ┆ 51. ┆ 51. ┆ 52. ┆ nul ┆ nul ┆ 3.5 ┆ 3.6 ┆ 3.8 ┆ 4.0 ┆ 3.9 ┆ 3.9 ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ 164 ┆ 165 ┆ 166 ┆ 166 ┆ 168 ┆ 170 ┆ nul ┆ nul ┆ 1.5 ┆ 1.5 ┆ 1.5 ┆ 1.5 ┆ 1.6 ┆ 1.6 ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ 713 ┆ 717 ┆ 721 ┆ 726 ┆ 733 ┆ 740 ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul ┆ nul │
116
+ │ 8-1 ┆ .93 ┆ .78 ┆ .54 ┆ .77 ┆ .77 ┆ .79 ┆ l ┆ l ┆ .0 ┆ .32 ┆ .28 ┆ .16 ┆ .01 ┆ .86 ┆ l ┆ l ┆ 023 ┆ 255 ┆ 914 ┆ 059 ┆ 988 ┆ 938 ┆ l ┆ l ┆ 974 ┆ 218 ┆ 359 ┆ 231 ┆ 91 ┆ 397 ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ .80 ┆ .67 ┆ .02 ┆ .56 ┆ .25 ┆ .07 ┆ l ┆ l ┆ 194 ┆ 298 ┆ 442 ┆ 843 ┆ 407 ┆ 819 ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ .87 ┆ .48 ┆ .38 ┆ .14 ┆ .16 ┆ .82 ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l ┆ l │
117
+
118
+ (...snip...)
119
+
120
+ 3.3.6 :006 > b = a.fetch
121
+ =>
122
+ shape: (223, 308)
123
+ ...
124
+ 3.3.6 :007 > b.columns
125
+ =>
126
+ ["Timestamps",
127
+ "NGDP1",
128
+ "NGDP2",
129
+ "NGDP3",
130
+ "NGDP4",
131
+ "NGDP5",
132
+ "NGDP6",
133
+ "NGDPA",
134
+ "NGDPB",
135
+ "PGDP1",
136
+ "PGDP2",
137
+ "PGDP3",
138
+ "PGDP4",
139
+ "PGDP5",
140
+ "PGDP6",
141
+ "PGDPA",
142
+ "PGDPB",
143
+
144
+ (...snip...)
145
+
146
+ "RR3_TBILL_CPCE_2",
147
+ "RR3_TBILL_CPCE_3",
148
+ "RR3_TBILL_CPCE_4",
149
+ "RR3_TBILL_CPCE_5"]
150
+ 3.3.6 :008 > b['Timestamps']
151
+ =>
152
+ shape: (223,)
153
+ Series: 'Timestamps' [date]
154
+ [
155
+ 1968-10-01
156
+ 1969-01-01
157
+ 1969-04-01
158
+ 1969-07-01
159
+ 1969-10-01
160
+ 1970-01-01
161
+ 1970-04-01
162
+ 1970-07-01
163
+ 1970-10-01
164
+
165
+ (...snip...)
166
+
167
+ 2023-07-01
168
+ 2023-10-01
169
+ 2024-01-01
170
+ 2024-04-01
171
+ ]
172
+ ```
173
+
174
+ ## Testing
175
+
176
+ Tests use minitest with mocked XLSX files and WebMock for network requests. Run tests with:
177
+
178
+ ```bash
179
+ bundle exec rake test
180
+ ```
181
+
182
+ No GitHub Actions or CI workflows are configured for this project.
26
183
 
27
184
  ## Development
28
185
 
@@ -30,6 +187,25 @@ After checking out the repo, run `bin/setup` to install dependencies. You can al
30
187
 
31
188
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
189
 
190
+ ## Testing
191
+
192
+ This gem includes a comprehensive test suite using Minitest. Tests use webmock to stub HTTP requests, ensuring no live network calls are made during testing.
193
+
194
+ To run the test suite:
195
+
196
+ ```bash
197
+ bundle install
198
+ bundle exec rake test
199
+ ```
200
+
201
+ The test suite covers:
202
+ - `PartisanConflict#fetch` - fetching and parsing partisan conflict index data
203
+ - `SurveyProfForecasters#fetch` - fetching and parsing survey of professional forecasters data
204
+ - Date filtering with `start` and `fin` parameters
205
+ - DataFrame structure and column validation
206
+
207
+ All HTTP requests are mocked using webmock with xlsx fixtures stored in `test/fixtures/`.
208
+
33
209
  ## Contributing
34
210
 
35
211
  Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/philly_frb_as_dataframe. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/philly_frb_as_dataframe/blob/main/CODE_OF_CONDUCT.md).
data/Rakefile CHANGED
@@ -1,4 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler/gem_tasks"
4
- task default: %i[]
4
+ require "rake/testtask"
5
+
6
+ Rake::TestTask.new(:test) do |t|
7
+ t.libs << "test"
8
+ t.libs << "lib"
9
+ t.test_files = FileList["test/**/*_test.rb"]
10
+ end
11
+
12
+ task default: :test
@@ -1,13 +1,10 @@
1
1
  require 'polars-df'
2
2
  require 'httparty'
3
3
  require 'roo'
4
- require 'zlib'
5
- require 'stringio'
6
4
  require 'csv'
7
5
 
8
6
  module PhillyFrbAsDataframe
9
7
  class PartisanConflict
10
- # Get data for the given name from the Bank of Canada.
11
8
 
12
9
  include ::HTTParty
13
10
 
@@ -25,8 +22,8 @@ module PhillyFrbAsDataframe
25
22
  df = {}; (0..(keys.length-1)).to_a.each{|i| df[keys[i]] = vals[i]}
26
23
 
27
24
  df = Polars::DataFrame.new(df)
28
- df = df.filter(Polars.col('Timestamps_') <= fin.to_date) unless start.nil?
29
- df = df.filter(Polars.col('Timestamps_') >= start.to_date) unless fin.nil?
25
+ df = df.filter(Polars.col('Timestamps_') <= fin.to_date) unless fin.nil?
26
+ df = df.filter(Polars.col('Timestamps_') >= start.to_date) unless start.nil?
30
27
  s = Polars::Series.new('Timestamps', df['Timestamps_'].to_a)
31
28
  df = df.insert_column(0,s).drop(['Month', 'Year', 'Timestamps_'])
32
29
 
@@ -0,0 +1,66 @@
1
+ require 'polars-df'
2
+ require 'httparty'
3
+ require 'roo'
4
+ require 'csv'
5
+
6
+ module PhillyFrbAsDataframe
7
+ class SurveyProfForecasters
8
+
9
+ include ::HTTParty
10
+
11
+ attr_reader :ary
12
+
13
+ def initialize
14
+ end
15
+
16
+ def fetch(start: nil, fin: nil)
17
+ dat = _fetch_data.dup
18
+ hsh = dat.map{|d| d.map{|r| r.to_hash }.each{|h| h['Timestamps_'] = Date.new(h['YEAR'], (3*(h['QUARTER'])-2), 1) } }
19
+ df = nil
20
+
21
+ hsh.each do |h|
22
+ keys = h.first.keys
23
+ vals = h.map(&:values).transpose
24
+
25
+ tmp_df = {}; (0..(keys.length-1)).to_a.each{|i| tmp_df[keys[i]] = vals[i]}
26
+
27
+ tmp_df = Polars::DataFrame.new(tmp_df).drop(['QUARTER', 'YEAR'])
28
+ tmp_df = tmp_df.filter(Polars.col('Timestamps_') <= fin.to_date) unless fin.nil?
29
+ tmp_df = tmp_df.filter(Polars.col('Timestamps_') >= start.to_date) unless start.nil?
30
+
31
+ if h == hsh.first
32
+ df = tmp_df
33
+ else
34
+ df = df.join(tmp_df, on: 'Timestamps_', how: 'full').drop(['Timestamps__right'])
35
+ end
36
+
37
+ end
38
+ s = Polars::Series.new('Timestamps', df['Timestamps_'].to_a)
39
+ df = df.insert_column(0,s).drop(['Timestamps_'])
40
+
41
+ df
42
+ end
43
+
44
+ protected
45
+
46
+ private
47
+
48
+ def _fetch_data #(options={})
49
+ xlsx_dta = self.class.get('https://www.philadelphiafed.org/-/media/frbp/assets/surveys-and-data/survey-of-professional-forecasters/historical-data/meanlevel.xlsx').parsed_response
50
+ csv_dta = []
51
+
52
+ na_converter = proc {|field| field == '#N/A' ? nil : field }
53
+ CSV::Converters[:na] = na_converter
54
+
55
+ Tempfile.open(['foo', '.xlsx'], '/tmp', binmode: true) do |f|
56
+ f.write(xlsx_dta)
57
+ f.rewind
58
+ xlsx_file = Roo::Excelx.new(f.path)
59
+ xlsx_file.each_with_pagename do |name, sheet|
60
+ csv_dta << CSV.parse(sheet.to_csv, headers: true, converters: [:numeric, :na], nil_value: '\"#N/A\"')
61
+ end
62
+ end
63
+ csv_dta.map{|dta| dta[0..-1]}
64
+ end
65
+ end
66
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhillyFrbAsDataframe
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "philly_frb_as_dataframe/version"
4
- require_relative "philly_frb_as_dataframe/partisan_conflict"
4
+ require_relative "philly_frb_as_dataframe/partisan_conflict"
5
+ require_relative "philly_frb_as_dataframe/survey_prof_forecasters"
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.description = "Alternative economic and financial data from the Philadelphia FRB"
11
11
  spec.homepage = "https://github.com/bmck/philly_frb_as_dataframe"
12
12
  spec.license = "MIT"
13
- spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
13
+ spec.required_ruby_version = Gem::Requirement.new(">= 3.3")
14
14
 
15
15
 
16
16
  spec.metadata["homepage_uri"] = spec.homepage
@@ -28,7 +28,10 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  # Uncomment to register a new dependency of your gem
30
30
  # spec.add_dependency "typhoeus-gem", "~> 0.6.9"
31
- spec.add_dependency 'polars-df'
31
+ spec.add_dependency 'polars-df', '0.27.1'
32
32
  spec.add_dependency 'httparty'
33
33
  spec.add_dependency 'roo'
34
+
35
+ spec.add_development_dependency 'minitest', '~> 5.0'
36
+ spec.add_development_dependency 'webmock', '~> 3.0'
34
37
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: philly_frb_as_dataframe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bill McKinnon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-06 00:00:00.000000000 Z
11
+ date: 2026-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: polars-df
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.27.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.27.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: httparty
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
55
83
  description: Alternative economic and financial data from the Philadelphia FRB
56
84
  email:
57
85
  - bill.mckinnon@bmck.org
@@ -59,7 +87,10 @@ executables: []
59
87
  extensions: []
60
88
  extra_rdoc_files: []
61
89
  files:
90
+ - ".DS_Store"
62
91
  - ".gitignore"
92
+ - ".ruby-gemset"
93
+ - ".ruby-version"
63
94
  - ".travis.yml"
64
95
  - CHANGELOG.md
65
96
  - CODE_OF_CONDUCT.md
@@ -71,6 +102,7 @@ files:
71
102
  - bin/setup
72
103
  - lib/philly_frb_as_dataframe.rb
73
104
  - lib/philly_frb_as_dataframe/partisan_conflict.rb
105
+ - lib/philly_frb_as_dataframe/survey_prof_forecasters.rb
74
106
  - lib/philly_frb_as_dataframe/version.rb
75
107
  - philly_frb_as_dataframe.gemspec
76
108
  homepage: https://github.com/bmck/philly_frb_as_dataframe
@@ -88,14 +120,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
88
120
  requirements:
89
121
  - - ">="
90
122
  - !ruby/object:Gem::Version
91
- version: 2.3.0
123
+ version: '3.3'
92
124
  required_rubygems_version: !ruby/object:Gem::Requirement
93
125
  requirements:
94
126
  - - ">="
95
127
  - !ruby/object:Gem::Version
96
128
  version: '0'
97
129
  requirements: []
98
- rubygems_version: 3.1.6
130
+ rubygems_version: 3.5.22
99
131
  signing_key:
100
132
  specification_version: 4
101
133
  summary: Alternative economic and financial data from the Philadelphia FRB