pycytominer icon indicating copy to clipboard operation
pycytominer copied to clipboard

[Enhancement] Expose primary functions (annotate, feature_select, etc.) as CLI commands

Open kenibrewer opened this issue 1 year ago • 2 comments

For the purposes of integrating pycytominer into data pipelines like Nextflow it would be great if core functionality could be exposed via a CLI. The quickest way to implement this in my view would be via Google's python fire which can quickly convert functions/modules into CLIs using just the argument names and docstrings.

Suggested implementation:

  • [ ] Create shared wrapper that can launch each of the core functions
  • [ ] Implement logic for reading in population_df/profiles from file.
  • [ ] Implement logic for reading in features from file

Questions:

  1. Do any input formats need to be supported besides csv csv.gz and parquet?

To avoid an excessively large PR, I suggest a minimal-viable-product style implementation to start. This could mean that perhaps we don't expose certain lesser-used or difficult-to-implement function arguments to start. Once something working has been integrated, then we can circle back and add them in a follow-up round.

kenibrewer avatar May 11 '23 16:05 kenibrewer