Finbourne Python SDK
Contents
Summary
This is the python SDK for all of Finbourne's applications, part of the LUSID by FINBOURNE platform. To use it you'll need a LUSID account - sign up for free at lusid.com.
Some description For more details on other applications in the LUSID platform, see Understanding all the applications in the LUSID platform.
This sdk supports Production, Early Access, Beta and Experimental API endpoints. For more details on API endpoint categories, see What is the LUSID feature release lifecycle. To find out which category an API endpoint falls into, see the api reference.
This code is automatically generated by the OpenAPI Generator project.
Endpoints and models
- See Documentation for API Endpoints for a description of each endpoint
- See Documentation for Models for descriptions of the models used
Versions
- SDK version: 0.1.100
Requirements
- Python 3.10+
Installation
If using uv
uv add finbourne-sdk
If using pip
pip install finbourne-sdk
Then import the package in your python file
import finbourne.sdk
Getting Started
You'll need to provide some configuration to connect to the Merged OpenAPI Specification - see the articles about short-lived access tokens and a long-lived Personal Access Token. This configuration can be provided using a secrets file or environment variables.
For some configuration it is also possible to override the global configuration at the ApiClientFactory level, or at the request level. For the set of configuration which can be overridden, please see ConfigurationOptions. For a code illustration of this configuration being overridden, please see the example.
Environment variables
Required for a short-lived access token
FBN_TOKEN_URL
FBN_BASE_URL
FBN_USERNAME
FBN_PASSWORD
FBN_CLIENT_ID
FBN_CLIENT_SECRET
Required for a long-lived access token
FBN_BASE_URL
FBN_ACCESS_TOKEN
Other optional configuration
# sdk client timeouts in milliseconds - a value of 0 means no timeout, otherwise timeout values must be a positive integer
# please note - the chances of seeing a network issue increase with the duration of the request
# for this reason, rather than increasing the timeout, it will be more reliable to use an alternate polling style endpoint where these exist
FBN_TOTAL_TIMEOUT_MS # the default is 1800000 (30 minutes)
FBN_CONNECT_TIMEOUT_MS # the default is 0 (no timeout)
FBN_READ_TIMEOUT_MS # the default is 0 (no timeout)
FBN_RATE_LIMIT_RETRIES # the default is 2
Secrets file
The secrets file must be in the current working directory. By default the SDK looks for a secrets file called secrets.json
Required for a short-lived access token
{
"profiles": {
"default": {
"tokenUrl":"<your-token-url>",
"baseUrl":"https://<your-domain>.lusid.com",
"username":"<your-username>",
"password":"<your-password>",
"clientId":"<your-client-id>",
"clientSecret":"<your-client-secret>"
}
}
Required for a long-lived access token
{
"profiles": {
"default": {
"baseUrl":"https://<your-domain>.lusid.com",
"accessToken":"<your-access-token>"
}
}
Authentication Example
The minimum requirements for authentication are having the FBN_ACCESS_TOKEN and FBN_FINBOURNE/SDK_URL environment variables set, or a secrets.json file with the accessToken and finbourneSdkUrl fields populated.
Authenticate using environment variables:
from finbourne.sdk.extensions import SyncApiClientFactory
# The factory will automatically read from the FBN_* environment variables
api_client_factory = SyncApiClientFactory()
Authenticate using a secrets file:
import os
from finbourne.sdk.extensions import SyncApiClientFactory
os.environ["LUSID_SECRETS_FILE"] = "/path/to/my/secrets.json"
api_client_factory = SyncApiClientFactory()
Authenticate with configuration overrides:
from finbourne.sdk.extensions import SyncApiClientFactory
from finbourne.sdk.extensions.configuration_options import ConfigurationOptions
opts = ConfigurationOptions()
opts.total_timeout_ms = 30_000
api_client_factory = SyncApiClientFactory(opts=opts)
Using the Python async client:
from finbourne.sdk.extensions import ApiClientFactory
async with api_factory:
application_meta_data_api = api_factory.build(lusid.ApplicationMetadataApi)
await application_meta_data_api.get_lusid_versions_async()
Release files for finbourne-sdk 0.1.100
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| finbourne_sdk-0.1.100.tar.gz | 3.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| finbourne_sdk-0.1.100-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.7 MB
Release files / finbourne_sdk-0.1.100.tar.gz
| Download URL | finbourne_sdk-0.1.100.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da99722475e5cf558c375247a0772a17783f063a4acc9e6911b37fc9271e47b9
|
|
BLAKE2b-256 checksum How to use checksums |
88602aca4ccc30c97694352ffe39cacaf0f62dbd70c6602ecb04cef7f88293f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.2
|
Release files / finbourne_sdk-0.1.100-py3-none-any.whl
| Download URL | finbourne_sdk-0.1.100-py3-none-any.whl |
|---|---|
| Size | 7.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4af009671a479b52c92f792f18bc44c9f0f10a2ae0ad387070b37b4921862d13
|
|
BLAKE2b-256 checksum How to use checksums |
7943bf4ac3034e3058007093965ba915ca287a87e32a784bb01addf397a00140
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.2
|