NOAA-OWP / hydrotools

Suite of tools for retrieving USGS NWIS observations and evaluating National Water Model (NWM) data.
Other
53 stars 12 forks source link

Move `hydrotools` namespace packages to separate repositories #216

Closed jarq6c closed 1 year ago

jarq6c commented 1 year ago

The "Run Slow Unit Tests" Action has been failing for some time. The hydrotools ecosystem has grown to the point that it has become unwieldy to track and manage the code-base through a single repository. With hundreds of unit tests, it's a nightmare to troubleshoot issues, especially if an error is originating from a subpackage unrelated to your pull request. I propose we spin-off the subpackages under the python directory to their own repositories.

I know everyone is extremely busy nowadays (and we seem to be getting busier as time progress!), so I'm not asking for any major contributions. I'm just opening this ticket to track and discuss progress. I can handle the code migration, NOAA-OWP formalities, and re-deployment to PyPI.

This repository will remain as a mock convenience package that just installs a selection of other hydrotools. namespace packages.

aaraney commented 1 year ago

I am not overly fond of this idea, however i'm open to the idea. If the primary motivator for the change is difficulty troubleshooting CI, I think we should first look at changes we can make to improve our CI actions. I empathize with you that it can be difficult to parse through the CI logs to find the one line you are interested in, but I think we can improve our quality of life by, for example testing each subpackage in its own CI action.

I personally, from a developers experience perspective, like that everything is in one repo. Its less mental overhead, for me, to track down an issue in any of the packages if they are all in the same place. I will also make the argument that we've retained consistency and quality in coding and documentation practices across the subpackages in part due to our single repo organization. With subpackages living in other repositories it seemingly becomes less apparent differences in documentation style for example.

As a user of hydrotools, its really nice that I can just go to one place if I need to see the source, create an issue, or share the tool suite with an interested party. I do less searching to find what I want when everything is nearby.

jarq6c commented 1 year ago

@aaraney So, instead of having "Run Unit Tests", we have "Run subpackage Unit Tests"? This seems like a good compromise that would also keep the strengths you mentioned.

Are there any other QOL changes we could make to differentiate the packages for maintenance purposes, without having to resort to a full diaspora?

aaraney commented 1 year ago

@aaraney So, instead of having "Run Unit Tests", we have "Run subpackage Unit Tests"? This seems like a good compromise that would also keep the strengths you mentioned.

Yep, that is what im thinking.

Are there any other QOL changes we could make to differentiate the packages for maintenance purposes, without having to resort to a full diaspora?

Issue and PR tracking is sometimes a pain. We could add labels for each subpackage and I can look into creating a github action that automatically tags issues and PRs with the appropriate label(s)? That is the only QOL issue that comes to mind at the moment. Do you have others, @jarq6c?