Skip to content

[Autoloop: build-tsb-pandas-typescript-migration]#264

Open
github-actions[bot] wants to merge 12 commits intomainfrom
autoloop/build-tsb-pandas-typescript-migration
Open

[Autoloop: build-tsb-pandas-typescript-migration]#264
github-actions[bot] wants to merge 12 commits intomainfrom
autoloop/build-tsb-pandas-typescript-migration

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 2, 2026

🤖 This PR is maintained by Autoloop. Each accepted iteration adds a commit to this branch.

Program Goal

Build tsb — a complete TypeScript port of pandas, one feature at a time.

Program Issue: #1 | Current Best Metric: 138 pandas_features_ported

Latest Iteration (299)

Added three utility/iteration features from the Future Directions:

  • hashArray (src/stats/hash_array.ts) — element-wise FNV-1a 64-bit hashing of scalar arrays, mirrors pandas.util.hash_array. Exported from tsb.
  • Series.items() / Series.iteritems() — lazy generator yielding (label, value) pairs, mirrors pandas.Series.items() / iteritems().
  • DataFrame.itertuples() — iterate rows as plain objects { Index: label, col1: val, ... }, mirrors pandas.DataFrame.itertuples().

Full test coverage (18 new tests) and a playground page (playground/hash_array_itertuples.html).

Metric: 138 (↑+1 from 137 on main)

Generated by Autoloop · ● 5.6M ·

github-actions Bot and others added 2 commits May 2, 2026 01:14
- Import window classes/types from ../window index instead of internal files
- Fix useLiteralKeys: use dot notation instead of string literal keys
- Fix formatting of itertuples method signature

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented May 2, 2026

Commit pushed: 75e479e

Generated by Evergreen — PR Health Keeper

@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented May 2, 2026

Evergreen Fix Applied ✅

Fixed failing CI lint checks in src/core/frame.ts:

  1. useImportRestrictions: Changed direct imports from ../window/ewm.ts, ../window/expanding.ts, ../window/rolling.ts to import via the ../window index module.
  2. useLiteralKeys: Replaced string literal bracket access (rec["size"], rec["at"], rec["getLoc"], row["Index"]) with dot notation.
  3. Formatting: Fixed itertuples method signature formatting to fit on one line.

Commit: 2a5c4bc887b8580da72afe3a5ce2f2374b8cab65

Generated by Evergreen — PR Health Keeper · ● 1M ·

…tructure

Replace legacy inline-script playground with standardized structure:
- Add playground-runtime.js script reference
- Add #playground-loading overlay
- Use .playground-block / .playground-editor / .playground-run / .playground-output classes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented May 2, 2026

Commit pushed: 794c75e

Generated by Evergreen — PR Health Keeper

@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented May 2, 2026

Evergreen fix applied 🌲

Issue: 6 failing playground page conformance tests for hash_array_itertuples.html

Root cause: playground/hash_array_itertuples.html was using the legacy inline-script playground structure, missing all required conformance elements:

  • playground-runtime.js script reference
  • #playground-loading overlay
  • .playground-block, .playground-editor, .playground-run, .playground-output CSS classes

Fix: Rewrote the file to match the standardized playground structure used by all other pages (e.g., hash_pandas_object.html), preserving the same three demo sections (hashArray, Series.items(), DataFrame.itertuples()) plus a scratch pad.

All 10 conformance checks now pass locally.

Generated by Evergreen — PR Health Keeper · ● 1.1M ·

Implements `Grouper` class and `isGrouper` type-guard, mirroring
`pandas.Grouper`. Supports key, freq, level, sort, dropna, closed,
and label options with isKeyGrouper/isFreqGrouper/isLevelGrouper
helpers plus a descriptive toString().

Run: https://github.com/githubnext/tsessebe/actions/runs/25258809663

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented May 2, 2026

Commit pushed: 9831d1f

Generated by Autoloop

github-actions Bot and others added 2 commits May 2, 2026 18:41
…dexer, VariableOffsetWindowIndexer)

Run: https://github.com/githubnext/tsessebe/actions/runs/25279200195

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented May 3, 2026

Commit pushed: c30df86

Generated by Autoloop

…tArray

- Extend Series.map() to accept Record<string,U>, Series<U>, Map<Scalar,U>
  in addition to the existing function overload, mirroring pandas.Series.map()
- Add naAction:'ignore' option to pass NA values through unchanged
- Add hashBijectArray() and hashBijectInverse() mirroring pd.util.hash_biject_array
- 32 tests covering all map overloads + naAction + bijection invariants
- Playground page: playground/series-map.html

Run: https://github.com/githubnext/tsessebe/actions/runs/25306204417

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor Author

github-actions Bot commented May 4, 2026

Commit pushed: 139ae07

Generated by Autoloop

@mrjf mrjf marked this pull request as ready for review May 4, 2026 15:56
@mrjf
Copy link
Copy Markdown
Contributor

mrjf commented May 5, 2026

@copilot fix tests

…conform to standard structure

Agent-Logs-Url: https://github.com/githubnext/tsessebe/sessions/49da6a4f-4db9-4bb4-ba4c-673a113883be

Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented May 5, 2026

@copilot fix tests

Fixed in d61ff93. Three playground pages were failing conformance tests because they used a legacy/non-standard structure:

  • grouper.html — light-theme static page, no interactive blocks
  • series-map.html — referenced legacy style.css, no playground structure
  • window_indexers.html — custom per-page JS, no standard structure

All three have been rewritten to use the standard playground-runtime.js + dark-theme CSS variables + .playground-block/.playground-editor/.playground-run/.playground-output pattern. All 6932 tests now pass.

Copilot finished work on behalf of mrjf May 5, 2026 06:07
Copilot AI requested a review from mrjf May 5, 2026 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants