Skip to main content

A python wrapper for the Ameritrade API.

Project description

ameritrade-python

This is a simple and lightweight async api wrapper for Ameritrade's API.

The official docs for the Ameritrade API can be found here.

The first time authentication will require utilizing the callback URL/redirect URI to obtain your tokens. This package will generate an auth url to enter into a web browser, you can then paste the resulting url from the redirect url in order to obtain a pair of tokens.

from os import environ
from ameritrade import auth

test_redirect_uri = environ.get("callback_url")
consumer_key = environ.get("consumer_key")

test_auth = auth.Auth(redirect_uri=test_redirect_uri, consumer_key=consumer_key)

def main():
    """Sets the access and refresh tokens by following terminal prompts."""
    await test_auth.manual_auth()

Simple usage using an existing refresh token:

import asyncio
from os import environ
from ameritrade import auth, stock

test_redirect_uri = environ.get("callback_url")
consumer_key = environ.get("consumer_key")
refresh_token = environ.get("refresh_token")

test_auth = auth.Auth(redirect_uri=test_redirect_uri, consumer_key=consumer_key, refresh_token=refresh_token)

async def main():
    """Gets new tokens, then gets a single stock quote for 'KO'/coca-cola."""
    await test_auth.refresh_token_auth()  # Gets fresh tokens

    test_stock = stock.Stock(auth_class=test_auth, symbol="ko")  # creates stock object for KO
    await test_stock.get_quote()  # Makes the quote request
    print(test_stock.quote)


loop = asyncio.get_event_loop()  # Creates the event loop
loop.run_until_complete(main())  # Runs the event loop

Environment

I suggest utilizing a .env file to store private/sensitive information.
If you are not providing a refresh token, it is recommended that you use auth.Auth.manual_auth() in order to use Ameritrade's front end auth tools, you can follow the on-screen instructions for this.

You may choose to save your refresh token in a secure location/format, if using a previous refresh token, you only need to provide these to your auth class:

  • consumer_key
  • refresh_token

Developemnt

Install dependencies with poetry poetry install.

Building Locally

poetry build

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

ameritrade-python-0.1.2.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

ameritrade_python-0.1.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file ameritrade-python-0.1.2.tar.gz.

File metadata

  • Download URL: ameritrade-python-0.1.2.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.8.3 Windows/10

File hashes

Hashes for ameritrade-python-0.1.2.tar.gz
Algorithm Hash digest
SHA256 443982962877cab2bd690d6a35aee7dc7fe07df57a40ee8bf436a5287169ae81
MD5 5a3100280507db5278473c9ebf88a46e
BLAKE2b-256 de146ece75a6510e171152ed3f060651efa88f563880436ee6ae1abef8a28b3c

See more details on using hashes here.

File details

Details for the file ameritrade_python-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ameritrade_python-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4d37e628ebd2b03f59f6fbf2fb44b0512c4dcefed6aeb9251da5043550265621
MD5 28782652d83f421f7251fe1a3d8a00bc
BLAKE2b-256 6022c8550662a606d7e8ad0eef5b7c91b83948e9a53411eeee9ba26c9dd5bb8a

See more details on using hashes here.

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