The current design model of scarlet is to include only core functionality in the package itself, with sample source classes and initialization scripts. The idea being that most users will be working with complicated data and their exact parameters for deblending will be too diverse to include in a command line function or set of parameters. Instead they are expected to use a subset (or modified version) of our initialization functions and use scarlet source classes as templates to create their own custom source classes.
As a result I created the `scarlet_extensions` package to be a place where high level functions and classes are stored for more specialized deblending. This is where I include the logic to initialize sources and (eventually) will contain our own specialized source classes for the DM science pipeline implementation.
In order to keep this code accessible to users not using the science pipelines I have kept it as a separate package which is copied into `meas_extensions_scarlet` when there are changes. A more streamlined approach is to just include `scarlet_extensions` in the conda environment, which is what this RFC proposes.
The only real dependencies for `scarlet_extensions` are `numpy`, `matplotlib`, and `scarlet`, although to run the regression tests also requires a `boto3` import that is hidden in the functions that require it.