Skip to content

Diff parquet schemas behind --download (blocked on the re-mining decision) #35

Description

@khatchad

Split out of #10, which bundled two separable deliverables. The LFS half shipped (#23, #32); this is the parquet half.

Blocked, and not on engineering. The mining filter (mining/1getHFdatasets.py:20) admits a dataset only when its Hugging Face tags contain both modality:tabular and format:csv, so a parquet-native dataset never enters the corpus. A spot-check of 17 datasets drawn from data/message_refactoring_candidates.csv found zero .parquet paths in the mined (main) history. Ten of eleven checked do expose an auto-generated refs/convert/parquet ref, but that is produced by Hugging Face's conversion bot, sits outside the mined history, and contains no human refactoring commits.

So a parquet code path added today would have nothing in the corpus to run against, and no way to be tested end-to-end.

Unblocking this requires first deciding whether to re-mine with a widened format filter. That decision is not free: widening the filter changes the corpus, which changes the candidate set, which would invalidate the gold set (tests/gold_set.csv) and any classifier scored against it. It should not be made mid-stream, i.e. not before #11 and its evaluation land.

Two things this issue will need when it is unblocked:

  • inspect() filters to p[-1].lower().endswith(".csv") (analysis/inspect_commit.py:93), so no non-CSV path is ever reached.
  • load_lfs_pointer opens the materialized file in text mode (open(full_path, "r")) and reads the first line, which is meaningless against parquet's binary container. Reading a parquet schema needs pyarrow.

Do not pick this up before the re-mining decision.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions