Repository navigation
fix: pin csvtk to 0.37.0 to avoid broken csvtk round in 0.38.0 - #75
Merged
Merged
Conversation
csvtk 0.38.0's `round` writes the rounded value followed by the original text (e.g. 5470858 -> 54708585470858), corrupting peak_start/peak_end in helper_fdr_peaks_by_fire_elements and crashing merge_fire_peaks.py with a polars i64->u32 conversion error. Fixes #74
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #74.
Problem
workflow/envs/env.yamlleft csvtk unpinned, so fresh environments resolve to csvtk 0.38.0 (released 2026-10-05). In 0.38.0,csvtk roundwrites the rounded value followed by the original text:helper_fdr_peaks_by_fire_elementsroundspeak_start/peak_endwithcsvtk round -n 0 -f 2,3, so coordinates like5470858become54708585470858.merge_fire_peaks.pythen fails withpolars.exceptions.InvalidOperationError: conversion from i64 to u32 failed in column 'peak_start'. Because the bug comes from the environment, v0.1.3 is affected too. The upstream change is probably shenwei356/csvtk#359.Fix
Pin
csvtk==0.37.0, which matches how the other tools in the env are pinned. Output is byte-identical to before the regression.csvtk filter, used elsewhere in the pipeline, behaves correctly on both versions.Testing
pixi run test: 49/49 steps.pixi run test-verify: all checks pass (1181 peak lines, 46223 FIRE elements). None of the 1180 peaks has a coordinate above 3e8.