Skip to content

fix: harden edge-case handling and clean up packaging#33

Merged
gp201 merged 2 commits into
mainfrom
fix/harden_edge_cases
Jul 18, 2026
Merged

fix: harden edge-case handling and clean up packaging#33
gp201 merged 2 commits into
mainfrom
fix/harden_edge_cases

Conversation

@gp201

@gp201 gp201 commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

Bump version to 1.2.1 and bundle a set of robustness fixes, packaging cleanup, and a CI guard against version drift.

Robustness fixes:

  • cli: use shlex.split() for --usher-args so quoted/escaped args parse correctly
  • utils: abort with a clear error when the reference FASTA has != 1 record
  • utils: handle PermissionError (non-executable binary) in run_subprocess_command
  • utils: extract mutation position via regex in sortFun instead of string slicing
  • ref_muts: abort when no samples match the alignment instead of failing on an empty root sequence; simplify consensus derivation and empty-mutation handling
  • plot_barcode: drop unparseable positions and skip the plot when nothing remains
  • generate_barcodes: dedupe clades by index (keep last) instead of full-row dedup
  • format_tree: strip all whitespace when reading the newick line
  • auspice_tree_to_table: default cumulative_branch_length so child recursion is safe; exclude "name" from attributes to avoid a duplicate 'name' column

Packaging / CI:

  • pyproject: drop unused deps (pathlib, six, numpy)
  • MANIFEST.in: drop conda build files and missing assets dir
  • add scripts/check_version_consistency.py and a CI job to keep pyproject.toml and init.py versions in sync

gp201 and others added 2 commits July 18, 2026 15:07
Bump version to 1.2.1 and bundle a set of robustness fixes, packaging
cleanup, and a CI guard against version drift.

  Robustness fixes:
  - cli: use shlex.split() for --usher-args so quoted/escaped args parse
    correctly
  - utils: abort with a clear error when the reference FASTA has != 1
    record
  - utils: handle PermissionError (non-executable binary) in
    run_subprocess_command
  - utils: extract mutation position via regex in sortFun instead of
    string slicing
  - ref_muts: abort when no samples match the alignment instead of
    failing on an
    empty root sequence; simplify consensus derivation and
    empty-mutation handling
  - plot_barcode: drop unparseable positions and skip the plot when
    nothing remains
  - generate_barcodes: dedupe clades by index (keep last) instead of
    full-row dedup
  - format_tree: strip all whitespace when reading the newick line
  - auspice_tree_to_table: default cumulative_branch_length so child
    recursion is
    safe; exclude "name" from attributes to avoid a duplicate 'name'
    column

  Packaging / CI:
  - pyproject: drop unused deps (pathlib, six, numpy)
  - MANIFEST.in: drop conda build files and missing assets dir
  - add scripts/check_version_consistency.py and a CI job to keep
    pyproject.toml
    and __init__.py versions in sync
Signed-off-by: Praneeth <pgangavarapu@scripps.edu>
@gp201
gp201 enabled auto-merge (squash) July 18, 2026 22:18
@gp201
gp201 merged commit a48fa4e into main Jul 18, 2026
10 checks passed
@gp201
gp201 deleted the fix/harden_edge_cases branch July 18, 2026 22:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant