Skip to content

Commit 708ef2a

Browse files
committed
nix: Make project config consistent
* Make examples depend on granite version consistent with non-examples; non-examples want >= 0.6, examples wanted 0.6.* * Remove `flake.lock` from `.gitignore` -- this is an important file to have in version control; without it, reproducibility guarantees are out the window (discovered when I got yelled at by nix about the hash being wrong for granite, which seemed like it should have been impossible) * Add (almost) the rest of the dataframe-* packages to the package outputs / dev shell
1 parent 582fd44 commit 708ef2a

5 files changed

Lines changed: 128 additions & 12 deletions

File tree

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ dataframe_benchmark/
2828
bin/
2929
coverage-html
3030
.DS_Store
31-
flake.lock
3231
tags
3332
__pycache__
3433
venv
@@ -45,4 +44,4 @@ Cargo.lock
4544
# (transient; the committed *.db fixtures themselves stay tracked).
4645
*.db-wal
4746
*.db-shm
48-
*.db-journal
47+
*.db-journal

dataframe-parquet/src/DataFrame/IO/Parquet.hs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ getNonNullableColumn totalRows description chunks =
402402
go decoder =
403403
foldNonNullable totalRows $
404404
(\(vs, _, _) -> vs)
405-
<$> Stream.unfoldEach (readPages description decoder) (Stream.fromList chunks)
405+
<$> Stream.unfoldMany (readPages description decoder) (Stream.fromList chunks)
406406

407407
unboxedGo ::
408408
forall a.
@@ -412,7 +412,7 @@ getNonNullableColumn totalRows description chunks =
412412
unboxedGo decoder =
413413
foldNonNullableUnboxed totalRows $
414414
(\(vs, _, _) -> vs)
415-
<$> Stream.unfoldEach
415+
<$> Stream.unfoldMany
416416
(readPages description decoder)
417417
(Stream.fromList chunks)
418418

@@ -449,7 +449,7 @@ getNullableColumn totalRows description chunks =
449449
go decoder =
450450
foldNullable maxDef totalRows $
451451
(\(vs, ds, _) -> (vs, ds))
452-
<$> Stream.unfoldEach (readPages description decoder) (Stream.fromList chunks)
452+
<$> Stream.unfoldMany (readPages description decoder) (Stream.fromList chunks)
453453
unboxedGo ::
454454
forall a.
455455
(Columnable a, VU.Unbox a) =>
@@ -458,7 +458,7 @@ getNullableColumn totalRows description chunks =
458458
unboxedGo decoder =
459459
foldNullableUnboxed maxDef totalRows $
460460
(\(vs, ds, _) -> (vs, ds))
461-
<$> Stream.unfoldEach
461+
<$> Stream.unfoldMany
462462
(readPages description decoder)
463463
(Stream.fromList chunks)
464464

@@ -499,7 +499,7 @@ getRepeatedColumn description chunks =
499499
m Column
500500
go decoder =
501501
foldRepeated maxRep maxDef $
502-
Stream.unfoldEach (readPages description decoder) (Stream.fromList chunks)
502+
Stream.unfoldMany (readPages description decoder) (Stream.fromList chunks)
503503

504504
unboxedGo ::
505505
forall a.
@@ -513,7 +513,7 @@ getRepeatedColumn description chunks =
513513
m Column
514514
unboxedGo decoder =
515515
foldRepeatedUnboxed maxRep maxDef $
516-
Stream.unfoldEach
516+
Stream.unfoldMany
517517
(readPages description decoder)
518518
(Stream.fromList chunks)
519519

examples/examples.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ executable examples
139139
cassava >= 0.1 && < 1,
140140
containers >= 0.6.7 && < 0.9,
141141
directory >= 1.3.0.0 && < 2,
142-
granite ^>= 0.6,
142+
granite >= 0.6 && < 1,
143143
hashable >= 1.2 && < 2,
144144
hasktorch,
145145
http-conduit,

flake.lock

Lines changed: 61 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 59 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,88 @@
1414
repo = "granite";
1515
owner = "mchav";
1616
rev = "main";
17-
hash = "sha256-Z/o8gxMOBltKiaL0NEjMUyOvUljRvKErWeM6Ul3GM9k=";
17+
hash = "sha256-jmmI2+kbqe+X/CDP986qQnUMGR35iNW5deNLovHpBHA=";
18+
};
19+
pinchPkg = pkgs.fetchFromGitHub {
20+
repo = "pinch";
21+
owner = "abhinav";
22+
rev = "v0.5.2.0";
23+
hash = "sha256-kuCS4EePc4aIONCvF0sOZt4pCazAq1z9+a/AY9b7Q6c=";
24+
};
25+
networkRunPkg = pkgs.fetchFromGitHub {
26+
repo = "network-run";
27+
owner = "kazu-yamamoto";
28+
rev = "v0.3.1";
29+
hash = "sha256-xyyf+Le2x9ACJBE4ua7wWHsfOQHNi7D+DksghZFh35I=";
1830
};
1931

2032
hsPkgs = pkgs.haskellPackages.extend (self: super: {
2133
granite = self.callCabal2nix "granite" granitePkg { };
34+
network-run = self.callCabal2nix "network-run" networkRunPkg { };
35+
pinch = self.callCabal2nix "pinch" pinchPkg { };
36+
dataframe-arrow = self.callCabal2nix "dataframe-arrow" ./dataframe-arrow { };
37+
dataframe-core = self.callCabal2nix "dataframe-core" ./dataframe-core { };
38+
dataframe-csv = self.callCabal2nix "dataframe-csv" ./dataframe-csv { };
39+
dataframe-csv-th = self.callCabal2nix "dataframe-csv-th" ./dataframe-csv-th { };
2240
dataframe-fastcsv = self.callCabal2nix "dataframe-fastcsv" ./dataframe-fastcsv { };
23-
dataframe-persistent = self.callCabal2nix "dataframe-persistent" ./dataframe-persistent { };
41+
# dataframe-fusion = self.callCabal2nix "dataframe-fusion" ./dataframe-fusion { };
2442
dataframe-hasktorch = self.callCabal2nix "dataframe-hasktorch" ./dataframe-hasktorch { };
43+
dataframe-json = self.callCabal2nix "dataframe-json" ./dataframe-json { };
44+
dataframe-lazy = self.callCabal2nix "dataframe-lazy" ./dataframe-lazy { };
45+
dataframe-learn = self.callCabal2nix "dataframe-learn" ./dataframe-learn { };
46+
dataframe-operations = self.callCabal2nix "dataframe-operations" ./dataframe-operations { };
47+
dataframe-parquet = self.callCabal2nix "dataframe-parquet" ./dataframe-parquet { };
48+
dataframe-parquet-th = self.callCabal2nix "dataframe-parquet-th" ./dataframe-parquet-th { };
49+
dataframe-parsing = self.callCabal2nix "dataframe-parsing" ./dataframe-parsing { };
50+
dataframe-persistent = self.callCabal2nix "dataframe-persistent" ./dataframe-persistent { };
51+
dataframe-th = self.callCabal2nix "dataframe-th" ./dataframe-th { };
52+
dataframe-viz = self.callCabal2nix "dataframe-viz" ./dataframe-viz { };
2553
dataframe = self.callCabal2nix "dataframe" ./. { };
2654
});
2755
in
2856
{
2957
packages = {
3058
default = hsPkgs.dataframe;
3159
dataframe = hsPkgs.dataframe;
60+
dataframe-arrow = hsPkgs.dataframe-arrow;
61+
dataframe-core = hsPkgs.dataframe-core;
62+
dataframe-csv = hsPkgs.dataframe-csv;
63+
dataframe-csv-th = hsPkgs.dataframe-csv-th;
3264
dataframe-fastcsv = hsPkgs.dataframe-fastcsv;
65+
# dataframe-fusion = hsPkgs.dataframe-fusion;
3366
dataframe-hasktorch = hsPkgs.dataframe-hasktorch;
67+
dataframe-json = hsPkgs.dataframe-json;
68+
dataframe-lazy = hsPkgs.dataframe-lazy;
69+
dataframe-learn = hsPkgs.dataframe-learn;
70+
dataframe-operations = hsPkgs.dataframe-operations;
71+
dataframe-parquet = hsPkgs.dataframe-parquet;
72+
dataframe-parquet-th = hsPkgs.dataframe-parquet-th;
73+
dataframe-parsing = hsPkgs.dataframe-parsing;
3474
dataframe-persistent = hsPkgs.dataframe-persistent;
75+
dataframe-th = hsPkgs.dataframe-th;
76+
dataframe-viz = hsPkgs.dataframe-viz;
3577
};
3678

3779
devShells.default = hsPkgs.shellFor {
3880
packages = ps: [
3981
ps.dataframe
82+
ps.dataframe-arrow
83+
ps.dataframe-core
84+
ps.dataframe-csv
85+
ps.dataframe-csv-th
4086
ps.dataframe-fastcsv
41-
ps.dataframe-persistent
87+
# ps.dataframe-fusion
4288
ps.dataframe-hasktorch
89+
ps.dataframe-json
90+
ps.dataframe-lazy
91+
ps.dataframe-learn
92+
ps.dataframe-operations
93+
ps.dataframe-parquet
94+
ps.dataframe-parquet-th
95+
ps.dataframe-parsing
96+
ps.dataframe-persistent
97+
ps.dataframe-th
98+
ps.dataframe-viz
4399
];
44100
nativeBuildInputs = with hsPkgs; [
45101
ghc

0 commit comments

Comments
 (0)