Project Info

IndiaMacro: AI-Native Data for India’s Economy

Devpost

Inspiration

I have been a quant researcher for the last 8 years and whenever I need macroeconomic data, my go-to has always been the FRED API. I wanted something similar for India as well. There are a lot of public data sources available in India. For example, the Reserve Bank of India, or RBI, publishes a large amount of statistical data on its website. But there is no common Python library that I can reference for extracting and working with this data in a clean, research-friendly way. That gap was the inspiration for IndiaMacro: making Indian macroeconomic data easier to access, while respecting the reality that economic data is revised, published over time, and not always presented in a clean machine-readable format.

What it does

IndiaMacro is a Python library for reproducible, programmatic access to official Indian macroeconomic data. The current v0.2.0 release supports RBI Sectoral Deployment of Bank Credit data from verified RBI Bulletin issues published between July 2025 and June 2026. It provides: Current RBI Sectoral Credit data Historical published-vintage observations Explicit latest_publication and as_of resolution Offline replay from a versioned local cache Source provenance and deterministic hashes Strict parser contracts for known RBI source-layout transitions An optional Matplotlib visualization for Non-food Credit The important point is that it does not silently overwrite older published values. That matters for research, because using a revised value that was not available at the time can introduce look-ahead bias. ##

How we built it

I built IndiaMacro with ChatGPT and, specifically, Codex and GPT-5.6 Sol using an extra-high reasoning level. I gave GPT-5.6 Sol a goal: build a parser that can: Check the source data file Download a copy Study the contents Iterate over the parser Ensure that the data is extracted properly before it completes Codex helped turn that work into a proper Python package. It helped with the parser implementation, test coverage, validation, documentation, offline replay, provenance handling, packaging, and the reproducible demo. The project treats each publication as a vintage. Instead of trying to make one superficially clean time series, it preserves what RBI published at a particular point in time and lets the user explicitly choose a current or as_of view.

Challenges we ran into

The biggest challenge is that RBI data is often published in Excel workbooks with schemas that change over time. Even if you build a parser, it is still cumbersome to join different vintages and publication dates correctly. There are changing row layouts, changing date conventions, different growth columns, methodology changes, and revised values. It is also important not to overwrite already published data. That would be detrimental to research because it can introduce look-ahead bias. The data has to be point-in-time and preserve the publication context so there is data integrity. I had initially tried using a lower-intelligence model, but it essentially surrendered and said that I needed to manually download the files and provide them. GPT-5.6 Sol was different. It was tenacious: it continued through the difficult source formats, helped derive strict parser contracts, and kept validating the outputs rather than stopping at the first obstacle.

Accomplishments we're proud of

I am proud that IndiaMacro is not just a one-off spreadsheet extraction script. It now has: A released, installable Python package Verified support for 12 consecutive RBI Bulletin issues 5,950 published-vintage observations 3,060 current observations across 255 measure-specific series Explicit handling of historical revisions Strict support boundaries instead of silently guessing unsupported layouts Offline tests and replay A reproducible Non-food Credit example and visualization Public source code and release artifacts I am especially proud that the project keeps provenance, publication dates, source hashes, and methodology boundaries alongside the data. For quantitative research, those details are as important as the number itself.

What we learned

The biggest lesson was that collecting data is not the same as building research-grade data infrastructure. A clean-looking time series can still be misleading if it overwrites history, ignores revisions, uses data that was not known at the time, or quietly joins incompatible source layouts. I also learned how useful Codex and GPT-5.6 can be when the task is not simply “write some code.” This involved investigation, iteration, validation, source analysis, testing, release preparation, and the judgment to keep parser contracts strict.

What's next

IndiaMacro is just a start. It is far from over, but I see it as a fruitful endeavour. My aim is to continue building it as an open-source repository for quantitative researchers and for anybody interested in economics, finance, or macroeconomics who wants easier access to Indian data. The longer-term vision is AI-native data infrastructure for India’s economy: trustworthy, well-documented, point-in-time data that can be accessed programmatically and used confidently in research and analysis. I plan to add carefully verified sources over time, while keeping the same principles: strict contracts, reproducibility, provenance, explicit methodology boundaries, and no silent guessing. I hope to continue using Codex on this journey.

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • HTMLIn code
  • PythonIn code

2 of 2 appear in the indexed code.

AI coding agents

No AI coding agent signals were found in this repository.

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

609 KB

Source files

44

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars