New DBnomics release

Hi everyone!

We are glad to announce a significative DBnomics update. A new website and a new web API have been deployed. The previous website and web API have been kept under the new domains https://legacy.nomics.world/ and https://api.legacy.nomics.world/.

We started working on the new version since May 2017.

We deployed it from the beginning under the domains https://next.nomics.world/ and https://api.next.nomics.world/ following continuous delivery.
As a consequence some people are already familiar with the new version of DBnomics.

New website

The new website offers various improvements:

Upgrading from “legacy” web API

If you wrote a script (i.e. in Python or R) calling DBnomics API with URLs starting with https://api.db.nomics.world/api/v1/, it will continue to work because we have setup a redirection to https://api.legacy.nomics.world/api/v1/, keeping the whole URL.

For example, https://api.db.nomics.world/api/v1/json/series/ameco-nptd-ea19-1-0-0-0-nptd is redirected to https://api.legacy.nomics.world/api/v1/json/series/ameco-nptd-ea19-1-0-0-0-nptd.

Note: you may check that your library follows redirections automatically. This is the case for Python requests for example.

As explained below in the “Next steps” section, we will shutdown the legacy web API in 3 months. You may want to upgrade your script to use the new DBnomics web API.

Tip: DBnomics new web API is documented on this page, and the legacy web API is documented on this page.

Note: the JSON responses of the new web API are different than the legacy. Besides upgrading the URLs, you have to upgrade your source code processing responses.

The new DBnomics web API outputs JSON data. SDMX format (based on XML) is not supported anymore. If you were using it, you will have to upgrade your source code to use JSON data instead.

Upgrading from “next” web API

If you’re already using “next” URLs, just replace next by db.

  • https://next.nomics.world/ => https://db.nomics.world/
  • https://api.next.nomics.world/ => https://api.db.nomics.world/

Rolling releases of the web API

The web API is currently at version 21. We plan to keep 2 versions of the web API at the same time.

For example:

  • when /v22 will be released
    • /v21 will continue to exist but will be deprecated
    • /v22 will appear
  • when /v23 will be released
    • /v21 will disappear
    • /v22 will continue to exist but will be deprecated
    • /v23 will appear
  • and so on…

Note that / redirects to the latest API version (i.e. /v21) and explicit calls to /vN will serve older versions. This avoids clients to break!

For example: https://api.db.nomics.world/ => https://api.db.nomics.world/v21/

At each major version release, we will post an announcement on DBnomics forum in the Community category.

Next steps

In 1 month, on 2018-10-20, we will stop updating data in the legacy website.

In 3 months, on 2018-12-20, we will shutdown the legacy website and web API. The domains https://legacy.nomics.world/ and https://api.legacy.nomics.world/ will not respond anymore.

Thanks!

We would like to thank people who helped us design the new product.

If you have any question please reply to this topic. We will do the maximum to help you with this new release.

1 Like

@jacklucchetti @acottrell @signorsignore @webapperc

I’d like to clarify, especially for clients of the DBnomics Web API (like Stata plugin or Gretl), that it is not a good idea to use the redirection I spoke about in the previous post (For example: https://api.db.nomics.world/ => https://api.db.nomics.world/v21/). You must specify the version of the API you want to call in your URLs. This redirection was intended to ease developers experience when calling API URLs in the browser, but it will be disabled.

Otherwise, when we’ll release a major version of DBnomics API, suddently the users of your client will face errors, because URL paths, query-string parameters or JSON responses will have changed.

I opened an issue for Stata plugin here

It turns out that we are preparing a v22 in pre-production, available at https://api.dev.nomics.world/v22/ (documentation available here). You could also start a new branch to adapt your code to the new version. We’re going to start updating the Python module for DBnomics in a couple of days. After that we’ll be able to publish a migration guide.

Thanks, @cbenz, for the heads-up. One question: when v22 is close to active, can we expect an account of the changes from v21? (Re-think: I guess that what you meant by “publish a migration guide”.)

There’s a Scottish saying, “Bairns [children] and fools shouldnae see things half done.” At the risk of making a bairn or fool of myself: Is it a known issue that series queries are not working with the v22 API at present?

For example, this URI in Firefox:
https://api.dev.db.nomics.world/v22/series?series_ids=ECB/IRS/M.DE.L.L40.CI.0000.EUR.N.Z&format=json

gives (somewhat mangled JSON but you get the idea):

|_meta||
|---|---|
|args||
|align_periods|false|
|complete_missing_periods|false|
|facets|false|
|flat|false|
|format|"json"|
|observations|false|
|series_ids||
|0||
|0|"ECB"|
|1|"IRS"|
|2|"M.DE.L.L40.CI.0000.EUR.N.Z"|
|version|"0.22.0"|
|datasets|{}|
|errors||
|0||
|cause|"Could not find storage directory"|
|dataset_code|null|
|message|"Could not load storage"|
|provider_code|"ECB"|
|series_code|null|
|providers|{}|
|series|[]|

Ah, sorry, I hadn’t seen your post and I created another topic on the same subject.

The problem is that ECB/IRS dataset seems to have vanished; I don’t know if this is a temporary thing.

As of this morning the ECB/IRS data are available OK via the v21 API, but I’m still seeing what I posted above when I try the v22 API: “Could not load storage”. However, v22 is working OK for some other series I’ve tested, for example FED/G17_CAPUTL/129.B50001.SA.