How finbourne/lusid-sdk-python works
The repository is a Python SDK for calling the LUSID investment-management API, not the platform’s server-side implementation. Its main workflow is to configure a client, build a domain API wrapper, make an endpoint request, and receive a decoded response. The README documents broad portfolio, accounting, market-data, order, compliance, and related capabilities; these appear here as API surfaces rather than inferred server-side processing stages. Source excerpts show the factory/client pattern and endpoint request handling; unsampled API families are represented by their exact paths, with only documented general wiring shown.
Main entry points: api_client.py API client · api_client_factory.py Client factory · rest.py REST transport · transaction_portfolios_api.py Portfolio APIs
Components 19
Client setup
- Client factory
sdk/lusid/extensions/api_client_factory.py - Configuration
sdk/lusid/extensions/api_configuration.py - Config loaders
sdk/lusid/extensions/configuration_loaders.py
Domain APIs
- Portfolio APIs
sdk/lusid/api/transaction_portfolios_api.py - Accounting APIs
sdk/lusid/api/abor_api.py - Market data APIs
sdk/lusid/api/quotes_api.py - Order APIs
sdk/lusid/api/orders_api.py - Compliance APIs
sdk/lusid/api/compliance_api.py - Reconciliation APIs
sdk/lusid/api/reconciliations_api.py - Analytics APIs
sdk/lusid/api/aggregation_api.py - Reference data APIs
sdk/lusid/api/instruments_api.py - Fund APIs
sdk/lusid/api/funds_api.py
Request models
- Cash-flow query
sdk/lusid/models/query_bucketed_cash_flows_request.py - Transaction query
sdk/lusid/models/transaction_query_parameters.py
HTTP transport
- API client
sdk/lusid/api_client.py - REST transport
sdk/lusid/extensions/rest.py - Retry handling
sdk/lusid/extensions/retry.py
Other components
- SDK user
- LUSID API
Connections 28
- SDK user → Client factory: configures client
- Client factory → Config loaders: loads settings
- Client factory → Configuration: builds configuration
- Client factory → API client: creates client
- SDK user → Portfolio APIs: calls endpoint
- SDK user → Accounting APIs: calls endpoint
- SDK user → Market data APIs: calls endpoint
- SDK user → Order APIs: calls endpoint
- SDK user → Compliance APIs: calls endpoint
- SDK user → Reconciliation APIs: calls endpoint
- SDK user → Analytics APIs: calls endpoint
- SDK user → Reference data APIs: calls endpoint
- SDK user → Fund APIs: calls endpoint
- Portfolio APIs → API client: sends request
- Accounting APIs → API client: sends request
- Market data APIs → API client: sends request
- Order APIs → API client: sends request
- Compliance APIs → API client: sends request
- Reconciliation APIs → API client: sends request
- Analytics APIs → API client: sends request
- Reference data APIs → API client: sends request
- Fund APIs → API client: sends request
- Portfolio APIs → Transaction query: accepts query model
- Analytics APIs → Cash-flow query: accepts query model
- API client → REST transport: dispatches HTTP
- REST transport → LUSID API: sends request
- LUSID API → REST transport: returns response
- REST transport → API client: returns data