pySGS icon indicating copy to clipboard operation
pySGS copied to clipboard

📈 Python interface for the Brazilian Central Bank's Time Series Management System (SGS)

.. image:: https://img.shields.io/pypi/v/sgs.svg :target: https://pypi.org/project/sgs/

.. image:: https://img.shields.io/pypi/l/sgs.svg :target: https://pypi.org/project/sgs/

.. image:: https://img.shields.io/pypi/pyversions/sgs.svg :target: https://pypi.org/project/sgs/

.. image:: https://img.shields.io/pypi/dm/sgs.svg :target: https://pypi.org/project/sgs/

.. image:: https://github.com/rafpyprog/pySGS/actions/workflows/tests.yml/badge.svg :target: https://github.com/rafpyprog/pySGS/actions/workflows/tests.yml

.. image:: https://img.shields.io/codecov/c/github/rafpyprog/pysgs.svg :target: https://codecov.io/github/rafpyprog/pysgs :alt: codecov.io

.. image:: https://img.shields.io/readthedocs/pysgs.svg :target: https://pysgs.readthedocs.io/en/stable/ :alt: Read the docs!

|pic 1| SGS

.. |pic 1| image:: https://raw.githubusercontent.com/rafpyprog/sgs/master/icon.png

Introduction

This library provides a pure Python interface for the Brazilian Central Bank's Time Series Management System (SGS) <https://www.bcb.gov.br/?sgs>_ api. It works with Python 3.5 and above.

SGS is a service with more than 18,000 time series with economical and financial information. This library is intended to make it easier for Python programmers to use this data in projects of any kind, providing mechanisms to search for, extract and join series.

Quickstart

Access time series data with sgs is very simple

Begin by importing the sgs module:

.. code-block:: python

import sgs

Now, let's try to get a time serie. For this example, let's get the "Interest rate - CDI" time serie in 2018, wich has the code 12.

.. code-block:: python

CDI_CODE = 12
ts = sgs.time_serie(CDI_CODE, start='02/01/2018', end='31/12/2018')

Now, we have a Pandas Series object called ts, with all the data and the index representing the dates.

.. code-block:: python

ts.head()

+------------+----------+ | 2018-01-02 | 0.026444 | +------------+----------+ | 2018-01-03 | 0.026444 | +------------+----------+ | 2018-01-04 | 0.026444 | +------------+----------+ | 2018-01-05 | 0.026444 | +------------+----------+ | 2018-01-08 | 0.026444 | +------------+----------+

Feature Suport

  • Get time serie data with an one-liner using sgs.time_serie
  • Create a dataframe from a list of time series codes with sgs.dataframe
  • Search time series by text or code with sgs.search_ts
  • Get metadata from all the series in a dataframe using sgs.metadata
  • Support to search and metadata in English and Portuguese
  • Automatic retry
  • Automatic cached requests

Installation

To install, simply use pip:

.. code-block:: bash

$ pip install sgs

Documentation

Complete documentation is available at https://pysgs.readthedocs.io/en/stable/.