Skip to main content

A Python library for the FRED API (Federal Reserve Bank of St. Louis)

Project description

fred-stl

A Python library for the FRED API (Federal Reserve Economic Data, St. Louis Fed).

Installation

pip install fred-stl

Requirements

Quick start

import json
import urllib.parse
import urllib.request

from fred import category, for_request

params = category.RequestParams(
    api_key="your-api-key",
    file_type=category.FileType.json,
    category_id=0,
)

url = f"{category.ENDPOINT}?{urllib.parse.urlencode(for_request(params))}"

with urllib.request.urlopen(url) as resp:
    data = json.loads(resp.read())

response = category.Response.model_validate(data)
print(response.categories[0].name)  # "Categories"

Usage

Each FRED endpoint is exposed as a module at the top level of the fred package. Every module provides:

  • RequestParams — a typed, validated model for building requests
  • Response — a typed, validated model for parsing responses
  • ENDPOINT — the API endpoint URL
  • Any enum types needed to construct a request (e.g. FileType, SortOrder)

Use for_request to convert a RequestParams instance into a dict[str, str] ready for any HTTP client:

from fred import for_request, releases

params = releases.RequestParams(
    api_key="your-api-key",
    file_type=releases.FileType.json,
)

query = for_request(params)  # {"api_key": "...", "file_type": "json", ...}

Available endpoints

Category

Module Endpoint
category fred/category
category_children fred/category/children
category_related fred/category/related
category_series fred/category/series
category_tags fred/category/tags
category_related_tags fred/category/related_tags

Releases

Module Endpoint
releases fred/releases
releases_dates fred/releases/dates
release fred/release
release_dates fred/release/dates
release_series fred/release/series
release_sources fred/release/sources
release_tags fred/release/tags
release_related_tags fred/release/related_tags
release_tables fred/release/tables

Series

Module Endpoint
series fred/series
series_categories fred/series/categories
series_observations fred/series/observations
series_release fred/series/release
series_search fred/series/search
series_search_tags fred/series/search/tags
series_search_related_tags fred/series/search/related_tags
series_tags fred/series/tags
series_updates fred/series/updates
series_vintagedates fred/series/vintagedates

Sources

Module Endpoint
sources fred/sources
source fred/source
source_releases fred/source/releases

Tags

Module Endpoint
tags fred/tags
tags_related fred/related_tags
tags_series fred/tags/series

Maps (GeoFRED)

Module Endpoint
geofred_shapes geofred/shapes/file
geofred_series_group geofred/series/group
geofred_series_data geofred/series/data
geofred_regional_data geofred/regional/data

Contributing

See CONTRIBUTING.md.

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

fred_stl-0.9.12.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

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

fred_stl-0.9.12-py3-none-any.whl (72.3 kB view details)

Uploaded Python 3

File details

Details for the file fred_stl-0.9.12.tar.gz.

File metadata

  • Download URL: fred_stl-0.9.12.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fred_stl-0.9.12.tar.gz
Algorithm Hash digest
SHA256 cca818c6d0d9b167bb895d3e44bc5c1b4aaa0b7d5e19cffc7ed18ba34d0fbd64
MD5 53c467842bb8cae7cab1bb982cf92f0f
BLAKE2b-256 c4715ad0b8e5f53de11fd8236eadc4b33841cd7b72c6004d4e86bf9d91cf35f2

See more details on using hashes here.

File details

Details for the file fred_stl-0.9.12-py3-none-any.whl.

File metadata

  • Download URL: fred_stl-0.9.12-py3-none-any.whl
  • Upload date:
  • Size: 72.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fred_stl-0.9.12-py3-none-any.whl
Algorithm Hash digest
SHA256 8fa25bec479e158af61b3665c16d798b23a1e462a2f2855fb6fb03820c731aaf
MD5 1ba69804a8ea678399c250433931b9af
BLAKE2b-256 5b283bec940026744bd774589797fd7fa60f4426921a7c1221abd4e03bdce141

See more details on using hashes here.

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