Skip to main content

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

Project description

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 and clone the repository and open a terminal in the repository directory
    • Install uv with curl -LsSf https://astral.sh/uv/install.sh | sh
    • Install the dependencies with uv sync
    • Install a git hook to enforce conventional commits with curl -o- https://raw.githubusercontent.com/chriscarrollsmith/conventional-commits-git-hook/master/scripts/install.sh | sh
    • Create a fix, commit it with an "Angular-style Conventional Commit" message, and push it to your fork
    • Open a pull request to our main branch

Note that if you want to change and preview the documentation, you will need to install the Quarto CLI tool.

Version incrementing, package building, testing, changelog generation, documentation rendering, publishing to PyPI, and Github release creation is handled automatically by the GitHub Actions workflow based on the commit messages.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imfp-1.2.1.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imfp-1.2.1-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file imfp-1.2.1.tar.gz.

File metadata

  • Download URL: imfp-1.2.1.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for imfp-1.2.1.tar.gz
Algorithm Hash digest
SHA256 2bfb6b0c7471e6e65189d3c1e0c271fff93c5aa5c82a7cc8ee27fe75132cc28c
MD5 39817dfce9630aca5e6fb30724dd7757
BLAKE2b-256 341bd5714051d58889a4ef6d7509a8c7f6f2d0af476f037aeccad397a3e38f14

See more details on using hashes here.

Provenance

The following attestation bundles were made for imfp-1.2.1.tar.gz:

Publisher: release.yml on Promptly-Technologies-LLC/imfp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file imfp-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: imfp-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for imfp-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 879f69a368554e66ca6a667728a4917e26fd9c2d1328cd6597276309c81c4359
MD5 da59a4d9a212cb812f1394ee28269eff
BLAKE2b-256 c8c53577fbf5d69f31648edaa8940d139a0ec33b84e098bd543720c450f06eac

See more details on using hashes here.

Provenance

The following attestation bundles were made for imfp-1.2.1-py3-none-any.whl:

Publisher: release.yml on Promptly-Technologies-LLC/imfp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page