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.3
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.3.tar.gz | 129.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| brokerage_connect-0.6.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 289.7 kB
Release files / brokerage_connect-0.6.3.tar.gz
| Download URL | brokerage_connect-0.6.3.tar.gz |
|---|---|
| Size | 129.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed284f1d749b26997e4007739442f7538beff97cf188ab37ace1e6c9650d3949
|
|
BLAKE2b-256 checksum How to use checksums |
dfc9c841bb93c2ae97b7e219f51311aa859519acac69b3c804a930ec807eef30
|
| 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.3-py3-none-any.whl
| Download URL | brokerage_connect-0.6.3-py3-none-any.whl |
|---|---|
| Size | 159.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d234f1e363c4c8af6b621712f27d45f91f2c95e09a01334c87d9ff5d7fc9abfc
|
|
BLAKE2b-256 checksum How to use checksums |
579e714dc2d227594a63dea4680b82b49703fcfdc8d46bacd2d7a48ccf8645c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|