Skip to content

Python package for downloading economic data from the International Monetary Fund JSON RESTful API endpoint.

License

Notifications You must be signed in to change notification settings

Promptly-Technologies-LLC/imfp

Repository files navigation

imfp

Tests PyPI Version Code style: black

imfp, by Christopher C. Smith, is a Python package for downloading data from the International Monetary Fund's RESTful JSON API.

📚 Full Documentation

Installation

pip install -q --upgrade imfp

Quick Start

import imfp

# Get list of available databases
databases = imfp.imf_databases()

# Get parameters for a specific database (e.g., PCPS - Primary Commodity Price System)
params = imfp.imf_parameters("PCPS")

# Fetch data with specific parameters
df = imfp.imf_dataset(
    database_id="PCPS",
    freq=["A"],
    start_year=2000,
    end_year=2015
)

Key Features

  • Comprehensive access to IMF's extensive economic databases
  • Parameter discovery
  • Rate limit and bandwidth management
  • Returns data in pandas DataFrames

Contributing

We welcome contributions to improve imfp! Here's how you can help:

  1. If you find a bug, please open an issue
  2. To fix a bug:
    • Fork the repository
    • Create a fix
    • Open a pull request to the dev branch

Note that you will need to install the Poetry package manager to install the dependencies and run the tests, and the Quarto CLI tool to render the documentation.

Maintainers

To deploy a new version:

  1. Increment version with poetry version patch/minor/major
  2. Update dependencies with poetry update
  3. Run tests with pytest tests
  4. Update documentation if needed
  5. Push to dev
  6. Open PR to main

To render and deploy documentation:

  1. quarto render
  2. quarto publish

The GitHub Actions workflow will handle code formatting, testing, and deployment to PyPI after merge.

About

Python package for downloading economic data from the International Monetary Fund JSON RESTful API endpoint.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages