-
Notifications
You must be signed in to change notification settings - Fork 4
Maint/modernize #76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maint/modernize #76
Conversation
This aligns xncml enum parsing behavior with xarray's netCDF4 backend behavior.
- migrate builder from setuptools to flint - migrate doc structure - move sources to /src/xncml/ dir (was in /xncml) - migrate mardown to rst - update cookiecuttered files with relevant xncml info
|
This PR adds an AUTHORS.rst file with the information (including public github emails) from the recorded contributors: @andersy005, @huard, @Zeitsperre, @aulemahal, @fmigneault, |
|
Many thanks for your review @fmigneault, there are some xncml specific issues indeed, but I think most of your comments should first be applied to the cookiecutter template. |
Co-authored-by: Francis Charette-Migneault <francis.charette.migneault@gmail.com>
Co-authored-by: Francis Charette-Migneault <francis.charette.migneault@gmail.com>
|
@bzah Thanks for the heads-up! I'm still coming back from my vacation, so I'll give this a look as soon as I can. @fmigneault If you'd like to upstream a few of your changes so that the nearly 10+ projects using it can also benefit from your work, you are more than welcome to open a PR! |
|
I'll let @bzah do it. I only did the proposals, but he did all the good work behind these commits 😉 |
|
@Zeitsperre no worries, I will be working on this PR and upstream what's relevant in the coming weeks. |
xncml no longer support python 3.8
|
It looks like numpy 2.0.0rc1 on python 3.12 breaks some automated tests. I will have a look and try to fix this in another PR. |
Moved the 'how to release' from the contributing guide to a dedicated releasing.rst guide.
|
@bzah Once the changes have been merged to the main branch of the template, I think we can fast-forward those changes here and safely merge! |
|
@Zeitsperre I will try to update this branch via cruft tomorrow. I'm away for a month on Wednesday, so I hope I can get something clean and we can merge this one before I leave. |
…ors, use sphinx-autodoc, add module API to docs, remove numpydoc from sphinx extensions, docstring fixes
|
There is one small issue I'd like to mention here: The documentation now includes the library API and is now using sphinx-autodoc/sphinx-autoapi to gather/generate these entries automatically (which is nice, IMO). There are a few issues with the structure though, specifically, The doc build is set to ignore this, but it would be good to know which file should be the "target". |
|
Since the doc is generated to guide users, I would suggest that the "target" is the location that you want users to employ, or the one that is exposed, and hide the one that is there only to handle the project's logic. |
cb0a097 to
4665007
Compare
49867bd to
7e19c65
Compare
…ctions in API docs, add docs/apidoc to gitignore
e728c7f to
dfb54d3
Compare
Zeitsperre
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is ready for merging, IMO. I just need to double-check the environments for Trusted Publishing, but I think we have something solid to work with.
|
Unless I'm missing something, generated.init just imports classes from ncml_2_2. So the objects are exactly the same. |
Co-authored-by: David Huard <huard.david@ouranos.ca>
|
One thing I will clarify: Like @bzah mentioned, the cookiecutter template is versioned and is periodically updated. I've been meaning to do that and will probably make a point to get that done over the summer. When changes are made there, the 10 or so downstream projects are updated as well. Some of the changes I've been meaning to make there have been made here, so porting them should be very simple (that's the intended goal of using |
Thanks for submitting a PR, your contribution is really appreciated!
Here's a quick checklist that should be present in PRs (you can delete this text from the final description, this is just a guideline):
[summarize your pull request here]
This PR fixes #69.
The aim is to modernize the tooling surrounding
xncml, including but not limited to:setup.pytopyproject.tomlruffinstead offlake8,isort,black, etc.This also adds a
.cruft.jsonfile coming from the use of cruft with the Ouranosinc template.Cruft can then be used to update the project structure whenever the template is updated.
However, the
xncmlproject already diverged a little from the original template:CHANGES.rstis renamed CHANGELOG.rstdocs/usage.rstis superseded bydocs/tutorial.ipynbruffformat replacesblackBreaking changes
flitinstead of setuptools.toxand reports directly to coveralls.iosphinx-apidocto generate an API map that is exposed by ReadTheDocsxncml.generatedno longer exposes thencml_2_2.pysubmodule (needed to prevent multiple targets for the same re-exported functions/modules).TODO
Add a personal access token named BUMP_VERSION_TOKEN to enable bump-version workflow.Add personal access token named OPENSSF_SCORECARD_TOKEN to enable scorecard workflow.