Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jessecooper/pyetrade

Python E-Trade API Wrapper
https://github.com/jessecooper/pyetrade

api-client etrade market python stock

Last synced: about 17 hours ago
JSON representation

Python E-Trade API Wrapper

Awesome Lists containing this project

README

        

# pyetrade (Python E-Trade API Wrapper)

[![PyPI](https://img.shields.io/pypi/v/pyetrade.svg)](https://pypi.python.org/pypi/pyetrade)
[![PyPI](https://img.shields.io/pypi/l/pyetrade.svg)]()
[![PyPI](https://img.shields.io/pypi/pyversions/pyetrade.svg)](https://pypi.python.org/pypi/pyetrade)
[![Build Status](https://github.com/jessecooper/pyetrade/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/jessecooper/pyetrade/actions/workflows/build.yml/badge.svg?branch=master)
[![codecov](https://codecov.io/gh/jessecooper/pyetrade/branch/master/graph/badge.svg)](https://codecov.io/gh/jessecooper/pyetrade)

## Completed

* Authorization API (OAuth)
* get_request_token
* get_access_token
* renew_access_token
* revoke_access_token

* Alerts API
* list_alerts
* list_alert_details
* delete_alert

* Accounts API
* list_accounts
* get_account_balance
* get_account_portfolio
* get_portfolio_position_lot
* list_transactions
* list_transaction_details

* Order API
* list_orders
* list_order_details
* find_option_orders
* preview_equity_order
* change_preview_equity_order
* place_equity_order
* place_changed_equity_order
* place_option_order
* place_changed_option_order
* cancel_order

* Market API
* look_up_product
* get_quote
* get_option_chains
* get_option_expire_date

## Install

```bash
pip install pyetrade
```
OR
```bash
git clone https://github.com/jessecooper/pyetrade.git
cd pyetrade
sudo make init
sudo make install
```

## Example Usage

To create the OAuth tokens:

```python
import pyetrade

consumer_key = ""
consumer_secret = ""

oauth = pyetrade.ETradeOAuth(consumer_key, consumer_secret)
print(oauth.get_request_token()) # Use the printed URL

verifier_code = input("Enter verification code: ")
tokens = oauth.get_access_token(verifier_code)

print(tokens)
```

And then on the example code:

```python
import pyetrade

consumer_key = ""
consumer_secret = ""
tokens = {'oauth_token': '',
'oauth_token_secret': ''}

accounts = pyetrade.ETradeAccounts(
consumer_key,
consumer_secret,
tokens['oauth_token'],
tokens['oauth_token_secret']
)

print(accounts.list_accounts())
```

## Documentation

[PyEtrade Documentation](https://pyetrade.readthedocs.io/en/latest/)

## Contribute to pyetrade

[ETrade API Docs](https://apisb.etrade.com/docs/api/account/api-account-v1.html)

### Development Setup:

* Fork pyetrade
* Setup development environment

```bash
make init
make devel
```
OR
```bash
pip install -r requirements.txt
pip install -r requirements_dev.txt
pip install -e .
pre-commit install --hook-type pre-commit --hook-type pre-push --install-hooks -t post-checkout -t post-merge
```

* Lint (Run analysis - pre-commit-config)

```bash
make analysis
```

* Test (Coverage >= 90%)

```bash
make test
```

* Push Changes
* Push changes to a branch on your forked repo

* Create pull request
* Open a pull request on pyetrade and put your fork as the source of your changes