Load our meteorological data into your Windy Plugin

  • Administrator


    Finally it is here

    To use our backend data inside your plugin use our new @windy/plugins/plugin-data-loader module as described here on GitHub

    The example can be found here

    Please limit your requests to maximim 3 rqsts per second otherwise we will have to use rate limiter on backend side. Also bear in mind, that due to the strict licence conditions, any data retrieved from our backend API, MUST run on windy.com domain only.

  • | Premium

    @ivo, this stopped working today around 11:40:

    “tinyrequire DI error: Can not resolve @plugins/windy-plugin-pg-mapa module Error: Tinyrequire error: Module "pluginDataLoader" does not exist!”


    Also, would be possible to return the data in 1-hour resolution for premium users?

  • | Premium

    This seems to be renamed to @windy/@plugins/plugin-data-loader. Is this change permanent or is it a bug? If permanent then please fix the docs and examples but I'd suggest keeping the original name.

  • Code contributor | Premium

    @jakubvrana, @marekd and @ivo

    import dataLoader from "@windy/@plugins/plugin-data-loader";

    works, thanks.

    This follows a big upgrade, v27.

    Modules with camelCase becomes xxx-xxx, and the ones residing in W.plugins, are imported as you described: import xxx from "@windy/@plugins/xxx-xxx".

  • Administrator

    @jakubvrana @rittels It is not on purpose. We made some internal building changes into client version 27. And we have forgotten about external plugins... Sorry about that and thanks for reporting!

  • Administrator

    @jakubvrana Ok, we fixed it with @rittels . Please, use @windy/plugins/plugin-data-loader for importing data loader. Also, make sure you have an updated version of compiler.js (https://github.com/windycom/windy-plugins/blob/master/compiler.js) in your plugins root.

    Sorry about that, big changes bring errors sometimes :-) I will update docs soon.

  • Could this issue raised by @jakubvrana also cause problems with @johnckealy's skewt plugin?

    The skewt plugin was working for me earlier today but then started producing the following error:
    DI error: Can not resolve @plugins/windy-plugin-skewt module: Tinyrequire error: Module "pluginDataLoader" does not exist!

    Same error on different browsers (Chrome, Safari, Edge) and different machines.

  • Code contributor | Premium


    @johnckealy @vicb @jacobsjo

    Yes. Many of plugins will be offline until we update our code.

  • Paraglider | Premium

    @rittels @marekd

    Thanks for the notification. I'll update my plugin.

    I am not using compiler.js (because it has too many limitations for my use case). So could you please describe the differences ?

    Is it that plugin should be imported from @plugins/{name} ?

    ie W.require("pluginDataLoader") should be changed to W.require("plugin-data-loader")

    Many of plugins will be offline until we update our code.

    What does that mean ? When can I try the updated version ?

  • Paraglider | Premium

    I had the following code

      plugins["detail-render"].load().then(() => {
        W.define("meteogram-ext", ["meteogram", "Class"], function(m, c) {
          return c.extend(m, {
            legend: () => this,

    which does not work if I replace "detail-render" with "@plugins/detail-render" any hit ?

    The error is an not resolve @plugins/windy-plugin-sounding module TypeError: Cannot read property 'load' of undefined

  • Paraglider | Premium


    I think by "offline" you actually meant "broken".
    I have published 1.1.8 that fixes it.


    I was actually using the meteogram to get the rain cloud cover.
    I did that by trapping inside the meteogram canvas and check the color...

    I would be great if you provide and API to get the rain cloud cover at a given time and altitude - or make that part of the loadable data.

    Do you think this is possible ?

  • Administrator

    We changed package path naming in a client version 27.

    • @windy/* packages are from client core (shared components across the whole client, important for initializing and basic functionality) - but this namespace is traspiled during build to "old style" for some reason!
    • @plugins/* packages are all plugins (eg. plugin-data-loader)
    • no namespace is used for requiring local modules

    Also we switched from camelCase to kebab-case.

    So @vicb if you are using W.require directly without our compiler, I would recommend you to check the content of W.modules on windy.com.

  • Code contributor | Premium

    @vicb @johnckealy @marekd

    var pluginDataLoader = W.require('@plugins/plugin-data-loader');

  • Code contributor | Premium

    @vicb I think if you access the plugins directly, thus not importing (or requiring), then it is still W.plugins['detail-render'].

  • Paraglider | Premium

    @rittels @marekd Thanks for all the info

    (Yes it is definitely plugins["detail-render"] to access the plugin).

  • | Premium

    @marekd, thanks for the update. Backwards compatibility is sacred for me so I'm surprised that you break it just to change a name, especially if there are official docs and examples around. I can understand that this was an omission but I don't understand not reverting it once reported. Can you please at least keep both names? (I don't know if some kind of aliases are possible here.)

  • Thanks for the info all, I've added a patch for SkewT :)

Windyty, S.E. - all rights reserved. Powered by excellent NodeBB
NodeBB & contributors, OSM & contributors, HERE maps
Terms and Conditions     Privacy Policy