brokerage-connect
Status: CURRENT / ACTIVE REFERENCE Last reviewed: 2026-07-29 Role: Package entrypoint for brokerage-connect (install, supported integrations, BrokerAdapter sketch).
Unified Python interface for brokerage APIs. One abstract adapter, multiple brokers.
Supported Integrations
| Integration | Extra | Status |
|---|---|---|
| Schwab | pip install brokerage-connect[schwab] |
Token-based auth via schwab-py (BrokerAdapter) |
| SnapTrade | pip install brokerage-connect[snaptrade] |
OAuth connection flow (BrokerAdapter) |
| IBKR | pip install brokerage-connect[ibkr] |
Trade adapter and IBKR client modules (BrokerAdapter) |
| Plaid | pip install brokerage-connect[plaid] |
Investments + account data APIs via plaid-python (not a BrokerAdapter trade implementation) |
Install
pip install brokerage-connect
# With broker-specific dependencies:
pip install brokerage-connect[schwab]
pip install brokerage-connect[schwab,plaid]
pip install brokerage-connect[schwab,ibkr]
pip install brokerage-connect[plaid]
Quick Start
from brokerage import BrokerAdapter
# Every trade broker adapter implements the same interface (sketch; see brokerage/broker_adapter.py):
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, currency: str): ...
def preview_order(
self, account_id, ticker, side, quantity, order_type, time_in_force,
currency: str, limit_price=None, stop_price=None, symbol_id=None,
): ...
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): ...
# Full ABC also requires: fetch_market_snapshot, get_live_positions,
# query_open_orders, query_completed_orders, preview_roll/place_roll,
# preview_multileg_option/place_multileg_option
Architecture
BrokerAdapter— abstract base class defining the trade interfacetrade_objects— shared dataclasses (OrderResult,OrderPreview,OrderStatus, etc.)schwab/,snaptrade/,ibkr/,plaid/— broker/provider integrationsfutures/— futures contract specs, notionals, pricing helpers, and source adaptersconfig.py— broker configuration and credential loading via environment variables
License
PolyForm-Noncommercial-1.0.0
Metadata
Release files for brokerage-connect 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| brokerage_connect-0.6.2.tar.gz | 129.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| brokerage_connect-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 290.0 kB
Release files / brokerage_connect-0.6.2.tar.gz
| Download URL | brokerage_connect-0.6.2.tar.gz |
|---|---|
| Size | 129.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c36629a2793d3c6e362be255e060e8d3c0e3c930ec9d4c2e41e79f8ef455074c
|
|
BLAKE2b-256 checksum How to use checksums |
161acde08027dc58553429fdd3c151291c34b55c0ce5e0b7b3a8baed0929eec8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|
Release files / brokerage_connect-0.6.2-py3-none-any.whl
| Download URL | brokerage_connect-0.6.2-py3-none-any.whl |
|---|---|
| Size | 160.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ee93810f5b776c0bf4a12111117c423e772839c1e5970b33e7f37ec64130bd48
|
|
BLAKE2b-256 checksum How to use checksums |
560b47dc1d5c8d5116db4a7d4175c9e602acbd3d2599aa2d56caea8cbc04d09e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|