• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

xarray-contrib / xncml / 14838559392
91%

Build:
DEFAULT BRANCH: main
Ran 05 May 2025 02:15PM UTC
Jobs 3
Files 5
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 May 2025 02:13PM UTC coverage: 91.034% (+0.03%) from 91.0%
14838559392

push

github

web-flow
Maint/modernize (#76)

This PR fixes #69.
The aim is to modernize the tooling surrounding `xncml`, including but not limited to:
- migrate from `setup.py` to `pyproject.toml`
- Make use of `ruff` instead of `flake8`, `isort`, `black`, etc.
- Use the src layout as described in https://packaging.python.org/en/latest/discussions/src-layout-vs-flat-layout/

This also adds a `.cruft.json` file coming from the use of [cruft](https://github.com/cruft/cruft) with the [Ouranosinc template](https://github.com/Ouranosinc/cookiecutter-pypackage).
Cruft can then be used to update the project structure whenever the template is updated.
However, the `xncml` project already diverged a little from the original template:
- `CHANGES.rst` is renamed CHANGELOG.rst
- `docs/usage.rst` is superseded by `docs/tutorial.ipynb`
- `ruff` format replaces `black`

# Breaking changes
- Python3.9 has been dropped, Python3.13 support has been added.
- The build system is now using `flit` instead of setuptools.
- setup.py was removed.
- __version__ is no longer fetched from git, but is instead hardcoded in xncml/__init__.py
- All workflows have been replaced
  - Publishing to TestPyPI and PyPI are now handled via Trusted Publishing
  - Testing uses `tox` and reports directly to coveralls.io
  - Many other small changes to aid with maintainability
- Documentation now uses `sphinx-apidoc` to generate an API map that is exposed by ReadTheDocs
- ReadTheDocs builds now fail when the generation step emits any warnings (for ensuring that the documentation is always working as intended)
- `xncml.generated` no longer exposes the `ncml_2_2.py` submodule (needed to prevent multiple targets for the same re-exported functions/modules).

---------

Co-authored-by: Abel Aoun <abel.aoun@external.eumetsat.int>
Co-authored-by: Francis Charette-Migneault <francis.charette.migneault@gmail.com>
Co-authored-by: Zeitsperre <10819524+Zeitsperre@users.noreply.github.com>
Co-authored-by: David Huard <huard.david@ouranos.ca>

357 of 376 new or added lines in 5 files covered. (94.95%)

731 of 803 relevant lines covered (91.03%)

2.73 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
9
86.53
src/xncml/parser.py
10
89.53
src/xncml/core.py
Jobs
ID Job ID Ran Files Coverage
1 run-3.12 - 14838559392.1 05 May 2025 02:20PM UTC 5
91.03
GitHub Action Run
2 run-3.11 - 14838559392.2 05 May 2025 02:20PM UTC 5
91.03
GitHub Action Run
3 run-3.10 - 14838559392.3 05 May 2025 02:20PM UTC 5
91.03
GitHub Action Run
Source Files on build 14838559392
  • Tree
  • List 5
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 1a2a87f0 on github
  • Prev Build on main (#14386986718)
  • Next Build on main (#14839109919)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc