Skip to content

Refactor package CLI to native Typer subcommands and update metadata to v1.1.0#19

Merged
iliapopov17 merged 13 commits into
mainfrom
dev
Jun 1, 2026
Merged

Refactor package CLI to native Typer subcommands and update metadata to v1.1.0#19
iliapopov17 merged 13 commits into
mainfrom
dev

Conversation

@iliapopov17
Copy link
Copy Markdown
Member

Overview

This PR fully migrates the KrakenParser command-line interface from the legacy argparse module to the modern typer framework. This overhaul unifies argument parsing, eliminates obsolete subprocess.run hacks previously used for sub-module isolation, and cleans up legacy routing flags.

Key Changes

  • Core CLI: The main entry point (krakenparser.py) has been refactored into native typer subcommands. Backward compatibility is preserved—the full pipeline can still be triggered directly via global options on the root interface without an explicit subcommand keyword.
  • Granular Modules: All isolated scripts (mpa, combine, split, process, csv, relabund, diversity) are now registered as standalone Typer sub-apps and neatly organized within an advanced Rich help panel.
  • Features & Typings:
    • Expanded taxonomic filtering by exposing domain-specific flags (--bacteria, --fungi, --archaea) to the global pipeline.
    • Refactored core function signatures to accept native pathlib.Path objects instead of strings.
  • Package & Docs: Bumped package version to 1.1.0, declared typer as a core runtime dependency, and introduced a lowercase console script alias (krakenparser) alongside the original KrakenParser. The README.md and test suites have been adjusted accordingly.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 1, 2026

Codecov Report

❌ Patch coverage is 96.37681% with 5 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
krakenparser/counts/split_mpa.py 91.66% 3 Missing ⚠️
krakenparser/pipeline.py 88.23% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

@iliapopov17 iliapopov17 merged commit 7ecc5bb into main Jun 1, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant