Unified Python interface for brokerage APIs — Schwab, SnapTrade, IBKR, Plaid
Project description
brokerage-connect
Unified Python interface for brokerage APIs. One abstract adapter, multiple brokers.
Supported Brokers
| Broker | Extra | Status |
|---|---|---|
| Schwab | pip install brokerage-connect[schwab] |
Token-based auth via schwab-py |
| SnapTrade | pip install brokerage-connect[snaptrade] |
OAuth connection flow |
| IBKR | pip install brokerage-connect[ibkr] |
Gateway/TWS via ib-async |
| Plaid | pip install brokerage-connect[plaid] |
Investments + account APIs via plaid-python |
Install
pip install brokerage-connect
# With broker-specific dependencies:
pip install brokerage-connect[schwab]
pip install brokerage-connect[schwab,ibkr]
pip install brokerage-connect[plaid]
Quick Start
from brokerage import BrokerAdapter
# Every broker adapter implements the same interface:
class MyBroker(BrokerAdapter):
provider_name = "my_broker"
def owns_account(self, account_id: str) -> bool: ...
def list_accounts(self): ...
def search_symbol(self, account_id, ticker): ...
def preview_order(self, account_id, ticker, side, quantity, order_type, time_in_force, **kw): ...
def place_order(self, account_id, order_params): ...
def get_orders(self, account_id, state="all", days=30): ...
def cancel_order(self, account_id, order_id): ...
def get_account_balance(self, account_id): ...
def refresh_after_trade(self, account_id): ...
Architecture
BrokerAdapter— abstract base class defining the trade interfacetrade_objects— shared dataclasses (OrderResult,OrderPreview,OrderStatus, etc.)schwab/,snaptrade/,ibkr/,plaid/— broker/provider integrationsconfig.py— broker configuration and credential loading via environment variables
License
MIT
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
brokerage_connect-0.2.2.tar.gz
(44.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file brokerage_connect-0.2.2.tar.gz.
File metadata
- Download URL: brokerage_connect-0.2.2.tar.gz
- Upload date:
- Size: 44.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db31e0332bd28a903d243f7ccf8bba20643c76dbee7824d35d8d18ff0da4ce64
|
|
| MD5 |
393879a488a14575074c846f1ef0643b
|
|
| BLAKE2b-256 |
d5e682dd6f3e061f8b701fc0028bde226f87426bdc8b5188d7ee3913469f48f8
|
File details
Details for the file brokerage_connect-0.2.2-py3-none-any.whl.
File metadata
- Download URL: brokerage_connect-0.2.2-py3-none-any.whl
- Upload date:
- Size: 58.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
966ff70e7094d7e8a818ec109a921c99d07bf9b058f9ab7bad6f5726f78c8c9e
|
|
| MD5 |
38c65d45832b76e742bfc297ef4767dd
|
|
| BLAKE2b-256 |
0f2287834c0b2027dc568d5890abf8647b740696fb3db01ca4f701a70e828929
|