An open API service indexing awesome lists of open source software.

https://github.com/rafpyprog/pysgs

📈 Python interface for the Brazilian Central Bank's Time Series Management System (SGS)
https://github.com/rafpyprog/pysgs

banco-central-do-brasil dataset python time-series wrapper-api

Last synced: 12 months ago
JSON representation

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

Awesome Lists containing this project

README

          

.. 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) `_ 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/.