Skip to main content

Inofficial Marketstack OpenAPI Python client

Project description

marketstack-python

Inofficial Python OpenAPI implementation of the marketstack API based on the marketstack OpenAPI spec.

Usage

Configuration (recommended)

Set up your API key and TLS support as ENV variables.

MARKETSTACK_API_KEY="xyz"
MARKETSTACK_TLS_SUPPORT="1"

Create your client

from marketstack.client import Client
import os

tls_support = os.getenv("MARKETSTACK_TLS_SUPPORT")
protocol = "https" if tls_support == "1" else "http"
client = Client(base_url=f"{protocol}://api.marketstack.com/v1")

Call operations

from marketstack.api.eod import eod
import os

response = eod.sync(
    client=client,
    access_key=os.getenv("MARKETSTACK_API_KEY"),
    symbols="AAPL,AMZN",
    limit=10,
)

All endpoint features are implemented and tested. For examples see the repository's tests/ directory.

Error handling

from marketstack.models import ErrorCode, ErrorResponse

assert isinstance(response, ErrorResponse)
assert response.error.code == ErrorCode.FUNCTION_ACCESS_RESTRICTED

Map to Pandas dataframe

import pandas as pd

df = pd.DataFrame(map(lambda x: x.__dict__, response.data))

Developers area

Generate the client

  1. Install the OpenAPI client generator
    pip install openapi-python-client
    
  2. Regenerate the client
    ./regenerate.sh
    

Run the tests

  1. Setup your marketstack API key in tests/test.env
  2. Run the tests via pytest
    PYTHONPATH="." pytest --cov=marketstack tests/
    

Release update

  1. Update version in setup.py
  2. Package library
    python setup.py sdist
    
  3. Publish library
    twine upload dist/{packaged file}.tar.gz
    

References

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

marketstack-0.5.tar.gz (29.7 kB view hashes)

Uploaded Source

Supported by

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