Closed dostuffthatmatters closed 5 months ago
When you have a moment, please pull the latest and check the new .gitignore against your venv files.
I used the toptal tool for Windows, Python, MacOS, and Linux, as well as any specific files I knew would be created by running the code.
I have .csv's as an option for output files, and I have created an issue for future development over implementing static images as outputs.
The latter will require more work as the HTML version is used as part of identifying intervals of data that need to be corrected.
@cwdunkerly Awesome - good progress!
This issue is related to the review process for JOSS: https://github.com/openjournals/joss-reviews/issues/6368
Installation
It would be great to support an installation without conda because it add a quite heavy dependency that is not necessary. You could simply use Pip (using a
requirements.txt
file). I personally recommend PDM because it produces apyproject.toml
file that complies with PEP standards - hence even though you can use PDM as a developer, users (or a CI environment) can install the project using Pip. Poetry and Pipenv are alternatives to PDM, but the establish their own metadata format - hence users/CI environments would have to also install the respective package.I also recommend putting
environment.yml
/requirements.txt
/pyproject.toml
files in the project's root because users and environment management tools do not have to search for the package metadata..gitignore
does not include Python specific filesThe
.gitignore
file does not include Python specific files. Hence, when I create a virtual environment inside the project, Git will show that there are 2000+ new files. You can use https://www.toptal.com/developers/gitignore to generate a good.gitignore
file (maybe exclude files from python and all major operating systems).FYI, the tests also pass with Python 3.12. Since Feature releases
3.X
are backwards compatible (with a few very minor exceptions), you could consider supporting any Python version>=3.9,<4.0
.Functionality
Save the XLSX output files in more formats (CSV, Parquet, etc.), so that it easier to look at them when not having Microsoft Excel installed.
Do not only save HTML files but also static images (PNG/SVG). Makes it easier to look at the results and embed them in slides/documents. Also, since the HTML files fetch the Bokeh JS library, they only work offline if that JS library is present in cache.
Other than that, the plots are nicely done!
Packaging
Just an idea for future releases.
You might consider distributing it as an installable package via PyPI. This way, users could install it using
pip install agweather-qaqc
and running it inside another project instead of having to manually set up a dedicated directory for it.If you choose to use PDM or Poetry, both make it quite easy to publish a package to PyPI. Be careful with version tagging then, because you cannot overwrite a version once it is published.