rowpipe 1.2.0 → 2.1.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 (148) hide show
  1. package/README.md +238 -55
  2. package/dist/cli/commands/count.d.ts +12 -0
  3. package/dist/cli/commands/count.d.ts.map +1 -0
  4. package/dist/cli/commands/count.js +49 -0
  5. package/dist/cli/commands/count.js.map +1 -0
  6. package/dist/cli/commands/explain.d.ts +3 -0
  7. package/dist/cli/commands/explain.d.ts.map +1 -0
  8. package/dist/cli/commands/explain.js +11 -0
  9. package/dist/cli/commands/explain.js.map +1 -0
  10. package/dist/cli/commands/files.d.ts +3 -1
  11. package/dist/cli/commands/files.d.ts.map +1 -1
  12. package/dist/cli/commands/files.js +6 -2
  13. package/dist/cli/commands/files.js.map +1 -1
  14. package/dist/cli/commands/group.d.ts +12 -0
  15. package/dist/cli/commands/group.d.ts.map +1 -0
  16. package/dist/cli/commands/group.js +51 -0
  17. package/dist/cli/commands/group.js.map +1 -0
  18. package/dist/cli/commands/head.d.ts +7 -0
  19. package/dist/cli/commands/head.d.ts.map +1 -0
  20. package/dist/cli/commands/head.js +6 -0
  21. package/dist/cli/commands/head.js.map +1 -0
  22. package/dist/cli/commands/limit.d.ts +11 -0
  23. package/dist/cli/commands/limit.d.ts.map +1 -0
  24. package/dist/cli/commands/limit.js +40 -0
  25. package/dist/cli/commands/limit.js.map +1 -0
  26. package/dist/cli/commands/offset.d.ts +11 -0
  27. package/dist/cli/commands/offset.d.ts.map +1 -0
  28. package/dist/cli/commands/offset.js +39 -0
  29. package/dist/cli/commands/offset.js.map +1 -0
  30. package/dist/cli/commands/pipeline.d.ts +43 -0
  31. package/dist/cli/commands/pipeline.d.ts.map +1 -0
  32. package/dist/cli/commands/pipeline.js +198 -0
  33. package/dist/cli/commands/pipeline.js.map +1 -0
  34. package/dist/cli/commands/sort.d.ts +17 -0
  35. package/dist/cli/commands/sort.d.ts.map +1 -0
  36. package/dist/cli/commands/sort.js +55 -0
  37. package/dist/cli/commands/sort.js.map +1 -0
  38. package/dist/cli/commands/tail.d.ts +13 -0
  39. package/dist/cli/commands/tail.d.ts.map +1 -0
  40. package/dist/cli/commands/tail.js +39 -0
  41. package/dist/cli/commands/tail.js.map +1 -0
  42. package/dist/cli/commands/top.d.ts +19 -0
  43. package/dist/cli/commands/top.d.ts.map +1 -0
  44. package/dist/cli/commands/top.js +51 -0
  45. package/dist/cli/commands/top.js.map +1 -0
  46. package/dist/cli/commands/unique.d.ts +15 -0
  47. package/dist/cli/commands/unique.d.ts.map +1 -0
  48. package/dist/cli/commands/unique.js +44 -0
  49. package/dist/cli/commands/unique.js.map +1 -0
  50. package/dist/cli/index.js +253 -3
  51. package/dist/cli/index.js.map +1 -1
  52. package/dist/core/pipeline.d.ts +40 -0
  53. package/dist/core/pipeline.d.ts.map +1 -1
  54. package/dist/core/pipeline.js +65 -0
  55. package/dist/core/pipeline.js.map +1 -1
  56. package/dist/files/reader.d.ts.map +1 -1
  57. package/dist/files/reader.js +4 -0
  58. package/dist/files/reader.js.map +1 -1
  59. package/dist/files/types.d.ts +2 -0
  60. package/dist/files/types.d.ts.map +1 -1
  61. package/dist/index.d.ts +12 -0
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +13 -0
  64. package/dist/index.js.map +1 -1
  65. package/dist/planner/executor.d.ts +8 -0
  66. package/dist/planner/executor.d.ts.map +1 -0
  67. package/dist/planner/executor.js +86 -0
  68. package/dist/planner/executor.js.map +1 -0
  69. package/dist/planner/explain.d.ts +6 -0
  70. package/dist/planner/explain.d.ts.map +1 -0
  71. package/dist/planner/explain.js +91 -0
  72. package/dist/planner/explain.js.map +1 -0
  73. package/dist/planner/index.d.ts +5 -0
  74. package/dist/planner/index.d.ts.map +1 -0
  75. package/dist/planner/index.js +5 -0
  76. package/dist/planner/index.js.map +1 -0
  77. package/dist/planner/optimizer.d.ts +9 -0
  78. package/dist/planner/optimizer.d.ts.map +1 -0
  79. package/dist/planner/optimizer.js +78 -0
  80. package/dist/planner/optimizer.js.map +1 -0
  81. package/dist/planner/types.d.ts +63 -0
  82. package/dist/planner/types.d.ts.map +1 -0
  83. package/dist/planner/types.js +2 -0
  84. package/dist/planner/types.js.map +1 -0
  85. package/dist/transforms/count.d.ts +21 -0
  86. package/dist/transforms/count.d.ts.map +1 -0
  87. package/dist/transforms/count.js +65 -0
  88. package/dist/transforms/count.js.map +1 -0
  89. package/dist/transforms/expression.d.ts.map +1 -1
  90. package/dist/transforms/expression.js +15 -0
  91. package/dist/transforms/expression.js.map +1 -1
  92. package/dist/transforms/group.d.ts +25 -0
  93. package/dist/transforms/group.d.ts.map +1 -0
  94. package/dist/transforms/group.js +71 -0
  95. package/dist/transforms/group.js.map +1 -0
  96. package/dist/transforms/limit.d.ts +7 -0
  97. package/dist/transforms/limit.d.ts.map +1 -0
  98. package/dist/transforms/limit.js +40 -0
  99. package/dist/transforms/limit.js.map +1 -0
  100. package/dist/transforms/offset.d.ts +7 -0
  101. package/dist/transforms/offset.d.ts.map +1 -0
  102. package/dist/transforms/offset.js +38 -0
  103. package/dist/transforms/offset.js.map +1 -0
  104. package/dist/transforms/sort/comparator.d.ts +43 -0
  105. package/dist/transforms/sort/comparator.d.ts.map +1 -0
  106. package/dist/transforms/sort/comparator.js +131 -0
  107. package/dist/transforms/sort/comparator.js.map +1 -0
  108. package/dist/transforms/sort/external-sort.d.ts +8 -0
  109. package/dist/transforms/sort/external-sort.d.ts.map +1 -0
  110. package/dist/transforms/sort/external-sort.js +159 -0
  111. package/dist/transforms/sort/external-sort.js.map +1 -0
  112. package/dist/transforms/sort/index.d.ts +10 -0
  113. package/dist/transforms/sort/index.d.ts.map +1 -0
  114. package/dist/transforms/sort/index.js +11 -0
  115. package/dist/transforms/sort/index.js.map +1 -0
  116. package/dist/transforms/tail.d.ts +6 -0
  117. package/dist/transforms/tail.d.ts.map +1 -0
  118. package/dist/transforms/tail.js +27 -0
  119. package/dist/transforms/tail.js.map +1 -0
  120. package/dist/transforms/top.d.ts +17 -0
  121. package/dist/transforms/top.d.ts.map +1 -0
  122. package/dist/transforms/top.js +52 -0
  123. package/dist/transforms/top.js.map +1 -0
  124. package/dist/transforms/unique.d.ts +13 -0
  125. package/dist/transforms/unique.d.ts.map +1 -0
  126. package/dist/transforms/unique.js +91 -0
  127. package/dist/transforms/unique.js.map +1 -0
  128. package/dist/utils/formatting.d.ts +1 -0
  129. package/dist/utils/formatting.d.ts.map +1 -1
  130. package/dist/utils/formatting.js +34 -4
  131. package/dist/utils/formatting.js.map +1 -1
  132. package/dist/utils/heap.d.ts +25 -0
  133. package/dist/utils/heap.d.ts.map +1 -0
  134. package/dist/utils/heap.js +90 -0
  135. package/dist/utils/heap.js.map +1 -0
  136. package/dist/utils/keystore.d.ts +80 -0
  137. package/dist/utils/keystore.d.ts.map +1 -0
  138. package/dist/utils/keystore.js +217 -0
  139. package/dist/utils/keystore.js.map +1 -0
  140. package/dist/utils/ring-buffer.d.ts +15 -0
  141. package/dist/utils/ring-buffer.d.ts.map +1 -0
  142. package/dist/utils/ring-buffer.js +40 -0
  143. package/dist/utils/ring-buffer.js.map +1 -0
  144. package/dist/writers/markdown.d.ts.map +1 -1
  145. package/dist/writers/markdown.js +41 -12
  146. package/dist/writers/markdown.js.map +1 -1
  147. package/package.json +3 -2
  148. package/skills/rowpipe/SKILL.md +27 -9
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/writers/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/writers/markdown.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rowpipe",
3
- "version": "1.2.0",
3
+ "version": "2.1.0",
4
4
  "description": "Stream-first tabular data toolkit for CSV, TSV, JSON, JSONL, XLSX, Apache Parquet, and Markdown",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,8 @@
20
20
  "test:watch": "vitest",
21
21
  "bench": "tsx benchmarks/memory-bench.ts",
22
22
  "benchmark:diff": "tsx benchmarks/diff-bench.ts",
23
- "benchmark:files": "tsx benchmarks/files-bench.ts"
23
+ "benchmark:files": "tsx benchmarks/files-bench.ts",
24
+ "benchmark:ops": "tsx benchmarks/operations-bench.ts"
24
25
  },
25
26
  "keywords": [
26
27
  "csv",
@@ -20,6 +20,15 @@ Rowpipe is a high-performance, stream-first command-line toolkit and Node.js lib
20
20
  | **Map** | `rowpipe map <file> "<col1=expr1>" "<col2=expr2>"` | Derive and compute columns per row with arithmetic/JSON dot-notation |
21
21
  | **Filter** | `rowpipe filter <file> "<expression>"` | Filter rows using safe expression engine and pipe syntax (`\|`) |
22
22
  | **Reduce** | `rowpipe reduce <file> "<agg1=func(col)>" [--by <cols>]` | Global & group-by streaming aggregations (`sum`, `avg`, `min`, `max`, `count`, `countDistinct`, `stddev`) |
23
+ | **Limit / Head** | `rowpipe limit <file> <n>` / `rowpipe head <file> [-n <n>]` | Emit first N rows with early upstream stream cancellation |
24
+ | **Offset** | `rowpipe offset <file> <n>` | Skip first N rows without scanning remainder |
25
+ | **Tail** | `rowpipe tail <file> [-n <n>]` | Emit last N rows using bounded $O(N)$ circular ring buffer |
26
+ | **Sort** | `rowpipe sort <file> --by <cols> [--memory-limit <m>]` | Multi-column typed external merge sort with disk run spilling and $K$-way min-heap |
27
+ | **Top** | `rowpipe top <file> --by <cols> [-n <n>]` | Extract Top-K largest/smallest records using bounded $O(K)$ heap |
28
+ | **Unique** | `rowpipe unique <file> [--by <cols>] [--keep first\|last]` | Deduplicate rows by key columns or entire rows with spillable hash key store |
29
+ | **Count** | `rowpipe count <file> [--by <cols>] [--distinct <col>]` | Ultra-fast row total, distinct count (HyperLogLog), or group-count |
30
+ | **Group** | `rowpipe group <file> --by <cols> [--count] [--sum <c>]` | Group tabular streams with hash accumulation and multi-column aggregations |
31
+ | **Explain** | `rowpipe explain <file> [pipeline flags]` | Visualize planned execution pipeline and rule-based optimizations |
23
32
  | **Select** | `rowpipe select <file> <col1,col2,...>` | Project subset of columns in order |
24
33
  | **Rename** | `rowpipe rename <file> <old1=new1> <old2=new2>` | Rename columns in stream |
25
34
  | **Cast** | `rowpipe cast <file> <col1:type> [--on-error null]` | Stream cast types (`integer`, `number`, `boolean`, `date`) |
@@ -170,24 +179,33 @@ rowpipe diff old.csv new.csv --key id --json
170
179
  rowpipe diff expected.csv actual.csv --key id --fail-on-diff
171
180
  ```
172
181
 
173
- ### 8. Filesystem as Streaming Tabular Records (`files`)
182
+ ### 8. Filesystem as Streaming Tabular Records (`files`) & Pretty Bytes
174
183
  Stream files and directory trees with bounded memory, globs, streaming hashes, and MIME detection:
175
184
 
176
185
  ```bash
177
- # 1. Stream directory records
178
- rowpipe files ./src --include "**/*.ts"
179
-
180
- # 2. Filter large files and select columns via Unix pipe
181
- rowpipe files ./uploads | rowpipe filter - 'size > 1000000' | rowpipe select - relative_path,size
186
+ # 1. Stream directory records with human-readable sizes (-h / --human)
187
+ rowpipe files ./src -h --include "**/*.ts"
188
+
189
+ # 2. Filter files by human byte string (parsebytes) and derive pretty size (formatbytes)
190
+ rowpipe files ./uploads | \
191
+ rowpipe filter - 'size > parsebytes("10MB")' | \
192
+ rowpipe map - 'size_h = formatbytes(size)' | \
193
+ rowpipe select - relative_path,size_h
194
+
195
+ # 3. Group by extension with pretty total size in Markdown table
196
+ rowpipe files . | \
197
+ rowpipe reduce - 'count=count()' 'total_bytes=sum(size)' --by extension | \
198
+ rowpipe map - 'size_pretty=formatbytes(total_bytes)' | \
199
+ rowpipe convert - --to markdown
182
200
 
183
- # 3. Stream SHA-256 or fast hashes
201
+ # 4. Stream SHA-256 or fast hashes
184
202
  rowpipe files ./assets --hash sha256 --to jsonl
185
203
  rowpipe files ./dataset --hash fast
186
204
 
187
- # 4. Generate deterministic build snapshot
205
+ # 5. Generate deterministic build snapshot
188
206
  rowpipe files snapshot ./dist --hash sha256 --to jsonl > dist.snapshot.jsonl
189
207
 
190
- # 5. Direct directory diffing
208
+ # 6. Direct directory diffing
191
209
  rowpipe files diff ./dist-v1 ./dist-v2 --hash sha256
192
210
  ```
193
211