Skip to main content

pySidraData

Python Version License Build Status Coverage Status

pySidraData is a Python client for interacting with the IBGE (Instituto Brasileiro de Geografia e Estatística) API for aggregate data. It provides an easy-to-use interface to fetch, manipulate, and analyze data from the IBGE database.

Features

  • Fetch and explore root data from the IBGE API.
  • Retrieve metadata for specific aggregate IDs.
  • Convert data to a Pandas DataFrame for analysis.
  • Easy-to-use and extendable structure.
  • Supports Python 3.6 and above.

Installation

You can install pySidraData using pip:

pip install pySidraData

Alternatively, you can install it from the source:

git clone https://github.com/nandevers/pySidraData.git
cd pySidraData
pip install .

Usage

Here's a quick example of how to use pySidraData:

from pySidraData import Client

# Initialize the client
client = Client()

# Get root data
root_data = client.get_root_data()
for research in root_data.research_list:
    print(f"Research ID: {research.id}, Name: {research.nome}")
    for aggregate in research.agregados:
        print(f"  Aggregate ID: {aggregate.id}, Name: {aggregate.nome}")

# Get metadata for a specific aggregate ID
metadata = client.get_metadata('8418')
print(metadata)

# Convert root data to a Pandas DataFrame
df = client.get_root_data_as_dataframe()
print(df.head())

Documentation

The full documentation for pySidraData can be found here.

Contributing

We welcome contributions to pySidraData! If you have an idea for a feature or have found a bug, please check our contributing guidelines before you start. Here are some ways you can contribute:

  • Reporting Bugs: Use the issue tracker to report any bugs you find.
  • Feature Requests: If you have an idea for a new feature, please submit it as an issue with the label enhancement.
  • Pull Requests: If you want to contribute code, fork the repository and create a pull request with your changes.
  • Documentation: Help improve our documentation or add new examples.

We use pre-commit hooks to ensure code quality. Please install the hooks before making commits:

pip install pre-commit
pre-commit install

Setting Up the Development Environment

To set up the development environment, follow these steps:

  1. Clone the repository:

    git clone https://github.com/nandevers/pySidraData.git
    cd pySidraData
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
    
  3. Install the package in editable mode with development dependencies:

    pip install -e .[dev]
    
  4. Run the tests to make sure everything is set up correctly:

    python -m unittest discover tests
    

Running Tests

We use unittest for testing. To run the tests, use the following command:

python -m unittest discover tests

Make sure all tests pass before submitting a pull request.

Code Style

We follow PEP 8 for code style. Please ensure your code is formatted correctly before submitting a pull request. You can use flake8 to check for any style issues:

flake8 pySidraData/

License

pySidraData is licensed under the MIT License. See the LICENSE file for more information.

Acknowledgements

This project was inspired by the need to easily interact with the IBGE API for data analysis and research purposes. Special thanks to the IBGE for providing an accessible API.

Contact

If you have any questions or suggestions, feel free to open an issue or reach out to the maintainer at fernando.liaison@gmail.com.

Happy coding! We hope pySidraData makes your data analysis work easier and more enjoyable.

Release files for pySidraData 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pySidraData 0.1.2
File Size Uploaded
pysidradata-0.1.2.tar.gz 8.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pySidraData 0.1.2
File Interpreter ABI Platform
pySidraData-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 17.8 kB

Release files / pysidradata-0.1.2.tar.gz

Download URL pysidradata-0.1.2.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3dc4b308707792dfa834fa49e1e228a07f16f3cfa082e55fc6e36c97be1d4112
BLAKE2b-256 checksum
How to use checksums
d52a22ce075b49500192d2c97ffaa183d176a706757bf44e1706acc63c307dbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.14

Release files / pySidraData-0.1.2-py3-none-any.whl

Download URL pySidraData-0.1.2-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c68d80392ab748110f00d960efa67e819e4bb326cc7956f4d1c0bf0547e2f19
BLAKE2b-256 checksum
How to use checksums
3ad73f50a90235cf223189e86751a140c691bce8656efa5d474abcbeb93e2a7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.14

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page