Closed sfmig closed 11 months ago
I might have missed something, but is this needed? What used to be called cellfinder-core
is now called cellfinder
anyway now.
We need to somehow distinguish the CLI tool (present in this repo) from benchmarked scripts using the Python tool's API?
my understanding is that the cellfinder+brainreg CLI tool is called in this repo cellfinder
after the migration of the cellfinder repo to the brainglobe-workflows repo. This is in conflict with me previously using cellfinder
to define a cellfinder-core workflow.
my understanding is that the cellfinder+brainreg CLI tool is called in this repo cellfinder after the migration of the cellfinder repo to the brainglobe-workflows repo. This is in conflict with me previously using cellfinder to define a cellfinder-core workflow.
This should change soon anyway, but maybe it's good to specify cellfinder_core
to distinguish from cellfinder.napari
anyway.
In the longer term, the cellfinder+brainreg CLI tool will be transformed into a workflow script
Slight comment, I think we will maintain some CLIs (i.e. just the command line interface) that are heavily used. However, I think we should move most of the code inside these workflows to other packages so that it can be a single workflow script.
Attention: 2 lines
in your changes are missing coverage. Please review.
Comparison is base (
24f2592
) 81.37% compared to head (9c19237
) 81.39%.
Files | Patch % | Lines |
---|---|---|
benchmarks/cellfinder_core.py | 0.00% | 2 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Context
This repository currently serves a few purposes:
cellfinder
CLI tool (onwards called 'cellfinder+brainreg
CLI tool' for clarity).cellfinder-core
workflow script.Our understanding is that the
cellfinder+brainreg
CLI tool will be gradually discontinued (in line with thebrainglobe
general aim of removing CLI tools) and turned into a workflow script instead. This PR outlines a strategy to get there.Goal of this PR
With this PR, the
brainglobe-workflows
PyPI package will ship:cellfinder+brainreg
CLI tool, andcellfinder_core
workflow script.The
cellfinder_core
workflow script is only included in the source code, and users are not meant to be "aware" of it (aka, it is not documented in the user docs). Users will use thecellfinder+brainreg
CLI tool in the same way as they did before.Instead, developers are aware of the
cellfinder_core
workflow script and of the benchmarks defined on top of it (that is, both things are documented in the dev docs).How do users use this repo?
Users will
pip install brainglobe-workflows
and use thecellfinder+brainreg
CLI tool as usual, with thecellfinder
entrypoint.How do devs use this repo?
Devs will:
pip install .[dev]
asv run
or run tests withtox
/pytest
Three sets of dependencies
To cater for these different audiences, we divided the dependencies in
pyproject.toml
into three sets:dependencies
, the required ones. We propose that these contain the dependencies for thecellfinder+brainreg
CLI tool only, for now (see Longer term section).dev
, contains the dependencies required by developers to contribute to the repo (run tests, benchmarks, etc).asv_version
, contains the dependencies required byasv
to be able to run the benchmarks.cellfinder+brainreg
CLI tool is deprecated, these dependencies will move to the default dependencies section.Longer term
cellfinder+brainreg
CLI tool.cellfinder+brainreg
CLI tool will be transformed into a workflow script, and we will no longer have the need to publish a package in PyPI of this repo. When that happens all of the dependencies underasv_version
would move to the required dependencies section.Specifics of this PR
asv_version
dependencies only.Rebase after merging #27