Installation

Dependencies

sdmx is a pure Python package requiring Python 3.9 or higher, which can be installed:

sdmx also depends on:

Optional dependencies for extra features

  • for cache, allowing the caching of SDMX messages in memory, MongoDB, Redis, and more: requests-cache.

  • for docs, to build the documentation: sphinx and IPython.

  • for tests, to run the test suite: pytest and others.

Instructions

  1. (optional) If using Anaconda, use source activate [ENV] to activate the environment in which to install sdmx.

  2. From the command line, issue:

    $ pip install sdmx1
    

    To also install optional dependencies, use commands like:

    $ pip install sdmx1[cache]             # just requests-cache
    $ pip install sdmx1[cache,docs,tests]  # all extras
    

From source

  1. Download the latest code:

    • from PyPI,

    • from Github as a ZIP archive, or

    • by cloning the Github repository:

      $ git clone git@github.com:khaeru/sdmx.git
      
  2. In the package directory, issue:

    $ pip install --editable .
    

    or:

    $ python setup.py install
    

    To also install optional dependencies, use commands like:

    $ pip install --editable .[cache]             # just requests-cache
    $ pip install --editable .[cache,docs,tests]  # all extras
    

Note

The pip --editable flag is recommended for development, so that changes to your code are reflected the next time sdmx is imported.

Running tests

Install from source, including the tests optional dependencies. Then, in the package directory, issue:

$ pytest

By default, tests of the many supported data sources are skipped, because they involve retrieving data over a network connection, and some queries are large, so they can be slow to run. To also run these tests, use:

$ pytest -m source

Pytest offers many command-line options to control test invocation; see pytest --help or the documentation.