Socket
Socket
Sign inDemoInstall

unfccc-di-api

Package Overview
Dependencies
22
Maintainers
3
Alerts
File Explorer

Install Socket

Protect your apps from supply chain attacks

Install

unfccc-di-api

Python wrapper around the Flexible Query API of the UNFCCC.

    4.0.1

Maintainers
3

Readme

=============
UNFCCC DI API
=============


.. image:: https://img.shields.io/pypi/v/unfccc_di_api.svg
        :target: https://pypi.python.org/pypi/unfccc_di_api
        :alt: PyPI release

.. image:: https://readthedocs.org/projects/unfccc-di-api/badge/?version=main
        :target: https://unfccc-di-api.readthedocs.io/en/main/
        :alt: Documentation

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4457483.svg
   :target: https://doi.org/10.5281/zenodo.4457483


Python wrapper around the `Flexible Query API <https://di.unfccc.int/flex_annex1>`_ of
the UNFCCC.


* Free software: Apache Software License 2.0
* Documentation: https://unfccc-di-api.readthedocs.io.

Warning
-------

Due to a recent change in the UNFCCC's API, the UNFCCCApiReader class is
**not functional** any more in standard environments. To continue to access the data,
you have two options:

1. Use the new ZenodoReader. It provides access using the `query` function like the
   UNFCCCApiReader, but only supports querying for a full dataset with all data. It
   relies on our `data package <https://doi.org/10.5281/zenodo.4198782>`_, which we
   update regularly; however, the data is naturally not as recent as querying from
   the API directly.
2. Run your functions in an environment which is not blocked by the UNFCCC DI API.
   According to our tests, Azure virtual machines work, as well as github hosted
   runners, with the exception of Mac OS runners.


Features
--------

* High-level API to query all information for a given party.
* Low-level API to selectively query information with the same resolution as in the
  UNFCCC web query tool.

Citation
--------
If you use this library and want to cite it, please cite it as:

Mika Pflüger, Daniel Huppmann & Johannes Gütschow. (2024-01-08).
pik-primap/unfccc_di_api: Version 4.0.1.
Zenodo. https://doi.org/10.5281/zenodo.10471122

Data package
------------
If you just want all the data in CSV and parquet format (suitable for reading with
pandas), look at our `data package <https://doi.org/10.5281/zenodo.4198782>`_.

CI status and other links
-------------------------

.. image:: https://results.pre-commit.ci/badge/github/pik-primap/unfccc_di_api/main.svg
   :target: https://results.pre-commit.ci/latest/github/pik-primap/unfccc_di_api/main
   :alt: pre-commit.ci status

=========
Changelog
=========

4.0.1 (2024-01-08)
------------------

* Use data released until 2024-01-08 when using the ZenodoReader.
* Support python 3.12.

4.0.0 (2023-07-18)
------------------

* Breaking: the UNFCCC restricted API access, likely you have to change your code to
  use the new ZenodoReader instead.
* Add ZenodoReader which doesn't rely on API access.
* Use data released until 2023-07-18 when using the ZenodoReader.
* Build the documentation on ReadTheDocs using newer Python and Sphinx versions.

3.0.2 (2022-12-13)
------------------

* Support python 3.11.
* Drop support for python 3.6.

3.0.1 (2022-03-15)
------------------

* Fix handling of unspecified measure IDs. The DI API started returning measure IDs
  without a name or description. We now call them ``unknown measure nr. {measureId}``
  instead of erroring out.

3.0.0 (2021-12-03)
------------------

* Support python 3.10.
* Fix handling of duplicate variable IDs. **Note**: This entails changes to the public
  API! In particular, UNFCCCSingleCategoryApiReader.variables now has a generic index
  instead of using the ``variableId`` as index. Also, the ``query`` function now
  correctly restricts queries if ``category_ids`` are provided and correctly fills
  all categories with data for a multi-category variable.
* Fix pre-commit config for newer mypy type checking versions.
* Raise a more informative NoDataError (subclass of KeyError) instead of a generic
  KeyError when a query result is empty.

2.0.1 (2021-04-23)
------------------

* Change build system.

2.0.0 (2021-02-09)
------------------

* Accept ASCII format for ``gases`` when querying data
  and return gases & units normalized to ASCII (optional), thanks to Daniel Huppmann.
  Note that gases and units are normalized to ASCII by default, if you need the old
  behaviour for compatibility reasons, pass ``normalize_gas_names=False`` to your
  ``query()`` calls.

1.1.1 (2021-02-08)
------------------

* Include ipython notebooks and CHANGELOG in release tarballs.

1.1.0 (2021-01-25)
------------------

* Add a useful error message when querying for unknown parties, thanks to
  Daniel Huppmann.

1.0.0 (2021-01-22)
------------------

* Add continuous integration using GitHub actions.
* Add tests.
* Add usage documentation in notebook format.
* Documentation fixes.

0.1.0 (2021-01-22)
------------------

* First release on PyPI.
* Convert API wrapper into standalone Python package.

FAQs


Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc