Skip to main content

Python SDK for the Alternative Macro Signals API

Project description

AMS-SDK

Python Version License

ams-sdk is a wrapper around ams-api and handles the authentification and query process in just a few steps.

Please refer to AMS API documentation for a detailed description of the API endpoints, including parameters specification.


Features ✨

  • Easy Queries: Query from all AMS API endpoints in two lines of Python code

  • Authentication: SDK takes care of the full authentication process, with just your API key required (given by AMS)


Installation 🛠️

From PyPI (recommended):

pip install ams-sdk

Alternatively, directly from repo:

pip install git+https://github.com/alternative-macro-signals/ams-sdk.git

Requirements 📋

The following dependencies are necessary to use this SDK:

  • Python 3.7 or higher (likely to work with 3+ but not tested)
  • requests>=2.0.0 (installed automatically if needed)

Usage 📖

Initialization

First, initialize the AMSClient with the service URL and API key provided by AMS.

from ams_sdk.client import AMSClient
client = AMSClient(service_url=SERVICE_URL, api_key=API_KEY)

Authentication

Call the authenticate() method to fetch the bearer token required for further requests:

client.authenticate()

Querying Endpoints

Use the query_endpoint method to query specific AMS API endpoints:

result = client.query_endpoint("/nbstat", params={
 "location": "Japan",
 "txt": "rice",
 "start": "2021-01-01"
})
print(result)
result = client.query_endpoint("/nipi", params={
 "location": "Euro area",
 "sector": "Food",
})
print(result)

Output

Transform the /nbstat or /nipi output in a Pandas dataframe:

import pandas as pd
df = pd.DataFrame(result.get('content'))
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')
df.sort_index(inplace=True)

In order to get 7-day and 30-day rolling balances from /nbstat (similar to the NewsBot app):

df7 = df.rolling(7).mean()
df30 = df.rolling(30).mean()

Note: NIPI is already a 30-day rolling diffusion index.


API endpoints callable from AMSClient 🌐

/nbstat API Status

Retrieve Inflation News Balance and News Volumes associated with specific text queries.

/nipi API Status

Download NIPI data.


We welcome suggestions! 💡

📧: support@alternativemacrosignals.com


Project Structure 📂

  • client.py: Contains the AMSClient class which offers the core functionality for interacting with the API.
  • utils.py: AMSClient usage examples.
  • setup.py: Handles package configuration and installation details.
  • README.md: Documentation for the ams-sdk.

License 📜

This project is licensed under the MIT License. See the LICENSE file for details.


Author


© 2025 Alternative Macro Signals. All rights reserved. https://alt.ms Alternative Macro Signals Logo

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

ams_sdk-1.0.6.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

ams_sdk-1.0.6-py2.py3-none-any.whl (5.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ams_sdk-1.0.6.tar.gz.

File metadata

  • Download URL: ams_sdk-1.0.6.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.10.12 Linux/6.8.0-65-generic

File hashes

Hashes for ams_sdk-1.0.6.tar.gz
Algorithm Hash digest
SHA256 c5567c64a0026c115fcaf3912896f2f3274a1b82f84bbc507ef36d65e995f326
MD5 5dc9c3159349d3aaaf69c1cafeff7e5d
BLAKE2b-256 f0ab735a36fa5c5f891b65cb85118218cb39dca29791b5f6c1ac4126e523d818

See more details on using hashes here.

File details

Details for the file ams_sdk-1.0.6-py2.py3-none-any.whl.

File metadata

  • Download URL: ams_sdk-1.0.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.10.12 Linux/6.8.0-65-generic

File hashes

Hashes for ams_sdk-1.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 02933d24abd2d482adbbe4078b7137fc4ee7cd3cc805d045ceabca39b962729b
MD5 f811b7e4f0fd1b5ffa3ee93dbbca3cbc
BLAKE2b-256 6b202c25534af76ae20c3caf5c37a9a4918ba408aac75500ddb7c6fa8bfc32d1

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