Skip to content

Add WeatherFiles plugin 0.1.0.0-alpha1#1378

Open
bartmanuel wants to merge 2 commits into
OpenCPN:Alphafrom
bartmanuel:add-weatherfiles_pi-0.1.0.0-alpha1
Open

Add WeatherFiles plugin 0.1.0.0-alpha1#1378
bartmanuel wants to merge 2 commits into
OpenCPN:Alphafrom
bartmanuel:add-weatherfiles_pi-0.1.0.0-alpha1

Conversation

@bartmanuel

Copy link
Copy Markdown

Summary

Initial Alpha submission of WeatherFiles — an OpenCPN plugin that browses 27+ European weather models, lets the user pick an area on the chart, and downloads sliced GRIB2 files that open directly in OpenCPN's built-in GRIB display.

Backend lives at https://api.weatherfiles.com/v1 (free tier + paid plan, documented at https://developers.weatherfiles.com).

Targets

5 metadata XMLs added, all pointing at a public Cloudsmith repo (bartmanuel-fgsm/weatherfiles-alpha, OSS plan):

Platform XML
Debian 12 x86_64 weatherfiles_pi-0.1.0.0-debian-x86_64-12-bookworm.xml
macOS Universal (signed + notarized) weatherfiles_pi-0.1.0.0-darwin-wx32-arm64-x86_64-14.3.1-macos.xml
Windows MSVC x86 wx32 weatherfiles_pi-0.1.0.0-msvc-x86-wx32-10.0.20348-MSVC.xml
Flatpak x86_64 (KDE 25.08) weatherfiles_pi-0.1.0.0-flatpak-x86_64-25.08-flatpak.xml
Flatpak aarch64 (KDE 25.08) weatherfiles_pi-0.1.0.0-flatpak-aarch64-25.08-flatpak.xml

Testing

  • All tarballs built from tag v0.1.0.0-alpha1 on https://github.com/bartmanuel/weatherfiles_pi/.
  • macOS dylib signed with Developer ID + Apple-notarized (status: Accepted).
  • Flatpak (KDE 25.08) sideload-imported and verified end-to-end on Ubuntu by the author.
  • Plugin uses C++14 + opencpn-libs (api-18, pinned to current main).
  • API surface: bearer-token HTTPS to api.weatherfiles.com/v1; no inbound sockets.

Plugin source

https://github.com/bartmanuel/weatherfiles_pimain is at tag v0.1.0.0-alpha1. The repo's README.md walks through the 3-step download wizard, save-as-set, and the security model.

Happy to make any adjustments the maintainers want — first OpenCPN submission for me.

Initial Alpha submission of the WeatherFiles plugin for OpenCPN.

WeatherFiles browses 27+ European weather models, lets the user pick an
area on the chart, and downloads sliced GRIB2 files that open directly
in OpenCPN's built-in GRIB display. Backend at api.weatherfiles.com/v1.

Targets covered in this submission:
- debian-x86_64-12-bookworm
- darwin-wx32-arm64-x86_64-14.3.1-macos (Universal, Developer ID
  signed + Apple-notarized)
- msvc-x86-wx32-10.0.20348-MSVC
- flatpak-x86_64-25.08-flatpak
- flatpak-aarch64-25.08-flatpak

Plugin source: https://github.com/bartmanuel/weatherfiles_pi
Cloudsmith host: bartmanuel-fgsm/weatherfiles-alpha (public OSS plan)
@bartmanuel

Copy link
Copy Markdown
Author

Hi, if there is anything I can do to clarify or enhance this PR to help you process it let me know. Always ready to help get things moving!

@bartmanuel

Copy link
Copy Markdown
Author

Friendly nudge on this one — it's my first OpenCPN submission, so I want to make sure I've routed it correctly rather than leave it sitting silently.

@jongough — since you handle the Alpha branch, you're probably the right person for a brand-new plugin going into Alpha. @rgleason / @leamas / @nohal — tagging you too in case catalog onboarding goes through one of you.

A couple of things I think are just first-time-contributor friction rather than problems with the PR:

  • CI hasn't run. CI_Pull is set to run on PRs to Alpha, but because I'm a first-time contributor the workflow is waiting on a maintainer to click "Approve and run." Once someone approves it, the XML validation should go green. Happy to fix anything it flags.
  • The PR itself is MERGEABLE with no conflicts — 5 metadata XMLs (Debian 12, macOS universal signed+notarized, Windows MSVC x86 wx32, Flatpak x86_64 + aarch64 / KDE 25.08), all pointing at a public Cloudsmith OSS repo.

Plugin source: https://github.com/bartmanuel/weatherfiles_pi (main at tag v0.1.0.0-alpha1). It browses 27+ European weather models, lets you box an area on the chart, and downloads sliced GRIB2 that open in OpenCPN's built-in GRIB display. C++14 + opencpn-libs (api-18), bearer-token HTTPS only, no inbound sockets.

Glad to make any adjustments you'd like. Thanks for taking a look!

@leamas

leamas commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

First of all: this plugin looks interesting and I'd love to make test. Starting the workflows now.

Please note there is a way to publish a plugin catalog which bypasses the need to make a PR to this repo. This is documented in TESTING.md

EDIT: Users like me then needs to use the custom URL you have created to test.

@leamas

leamas commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Ouch... only @bdbcat can start workflows here.

@leamas

leamas commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

BTW: the Flatpak targets are wrong. We can look into this later

@bartmanuel

Copy link
Copy Markdown
Author

@leamas , @bdbcat : I noticed that my Cloudsmith free trial expired and that I fell back to Core, which doesn't allow RAW hosting. I have applied for OSS status which allows RAW on the Core plan. Will get back here when that's fixed

@leamas

leamas commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

I walked through the steps to create a custom URL at https://raw.githubusercontent.com/leamas/plugins/refs/heads/bartmanuel/pr/ocpn-plugins.xml.

However, your cloudsmith problems is a roadblock. Not that big one, though: when you create a cloudsmith repo there is an option to mark it as open-source. Such repos are free, no fees are involved. But then again, there is only one chance when creating the repo. See the developer manual

Please update your repos, perhaps by deleting+ re-creating or just use some new names, and update this PR if need be.

@bdbcat

bdbcat commented Jun 12, 2026

Copy link
Copy Markdown
Member

I could approve the workflow instantly.
But this workflow does not in any way verify the Cloudsmith links. The plugin is validated for form, and the entry will be added to the specified catalog when the PR is accepted.
It should be noted that there is nothing fundamentally requiring the plugin content downloads to reside on Cloudsmith. The content (tarball containing libraries and data) could be hosted anywhere that might be more convenient for the author/maintainer. We use Cloudsmith because it is free for OpenSource projects, and has some useful features like archived history.. Just sayin...

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bartmanuel

bartmanuel commented Jun 13, 2026

Copy link
Copy Markdown
Author

Thanks @bdbcat for approving the run — and for the note that the workflow validates form only and that hosting isn't tied to Cloudsmith. Good to know. (Cloudsmith approved OSS status, so the tarball hosting is now solid again).

The run surfaced a real issue: the <summary> element was 74 chars and the catalog schema (ocpn-plugin.xsd) caps it at 72, so all 5 XMLs failed validation. I've fixed it:

  • Trimmed the summary to 70 chars ("Browse WeatherFiles models, slice an area, download GRIBs into OpenCPN") in all 5 metadata files — pushed to the PR branch.
  • Validated locally with xmllint --schema ocpn-plugin.xsd against all 5 files — they now pass.
  • Also fixed the source (SHORT_DESCRIPTION in the plugin's CMakeLists) so regenerated metadata stays within the limit.

The new push re-triggered CI_Pull but it's back to "action_required" (first-time-contributor gate). Could you approve the run once more when you have a moment? It should be green now. Thanks again!

@leamas

leamas commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

I submitted a PR moving to the shipdriver template instead. This has all required builds in place besides android which needs some love related to curl.

@leamas

leamas commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

@bartmanuel : All of your issues are fixed in the pending PR, which also adds more useful builds.

If you want to open a more informal communications channel many of us hangs around in Zulip, see the manual. Zulip is somewhat like Slack and easy to use.

@rgleason

Copy link
Copy Markdown
Contributor

Sorry, I have been distracted with other plugins and have not responded. It appears Alec is handling this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants