DataSetIQ Python Library – Millions Of Datasets In Pandas

Sharing datasetiq v0.1.2 – a lightweight Python library that makes fetching and analyzing global macro data super simple.

It pulls from trusted sources like FRED, IMF, World Bank, OECD, BLS, and more, delivering data as clean pandas DataFrames with built-in caching, async support, and easy configuration.

### What My Project Does

datasetiq is a lightweight Python library that lets you fetch and work millions of global economic time series from trusted sources like FRED, IMF, World Bank, OECD, BLS, US Census, and more. It returns clean pandas DataFrames instantly, with built-in caching, async support, and simple configuration—perfect for macro analysis, econometrics, or quick prototyping in Jupyter.

Python is central here: the library is built on pandas for seamless data handling, async for efficient batch requests, and integrates with plotting tools like matplotlib/seaborn.

### Target Audience

Primarily aimed at economists, data analysts, researchers, macro hedge funds, central banks, and anyone doing data-driven macro work. It’s production-ready (with caching and error handling) but also great for hobbyists or students exploring economic datasets. Free tier available for personal use.

### Comparison

Unlike general API wrappers (e.g., fredapi or pandas-datareader), datasetiq unifies multiple sources (FRED + IMF + World Bank + 9+ others) under one simple interface, adds smart caching to avoid rate limits, and focuses on macro/global intelligence with pandas-first design. It’s more specialized than broad data tools like yfinance or quandl, but easier to use for time-series heavy workflows.

### Quick Example

import datasetiq as iq # Set your API key (one-time setup) iq.set_api_key("your_api_key_here") # Get data as pandas DataFrame df = iq.get("FRED/CPIAUCSL") # Display first few rows print(df.head()) # Basic analysis latest = df.iloc[-1] print(f"Latest CPI: {latest['value']} on {latest['date']}") # Calculate year-over-year inflation df['yoy_inflation'] = df['value'].pct_change(12) * 100 print(df.tail()) 

Links & Resources

submitted by /u/dsptl
[link] [comments]

Leave a Reply

Your email address will not be published. Required fields are marked *