FINBOURNE Notifications API
Project description
lusid-notifications-sdk
FINBOURNE Technology
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 0.1.938
- Package version: 2.1.6
- Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://www.finbourne.com
Requirements.
Python 3.7+
Installation & Usage
pip install
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/finbourne/notifications-sdk-python.git
(you may need to run pip
with root permission: sudo pip install git+https://github.com/finbourne/notifications-sdk-python.git
)
Then import the package:
import lusid_notifications
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install
to install the package for all users)
Then import the package:
import lusid_notifications
Tests
Execute pytest
to run the tests.
Getting Started
You'll need to provide some configuration to connect to the lusid_notifications application. These can be provided using a secrets file or environment variables.
Environment variables
In order to use short lived access tokens you will need to have appropriate values set for the following environment variables:
FBN_TOKEN_URL,
FBN_LUSID_NOTIFICATIONS_API_URL,
FBN_USERNAME,
FBN_PASSWORD,
FBN_CLIENT_ID,
FBN_CLIENT_SECRET
To use a long lived Personal Access Token, you must provide the following environment variables:
FBN_LUSID_NOTIFICATIONS_API_URL,
FBN_ACCESS_TOKEN
You can send your requests to lusid_notifications via a proxy, by setting FBN_PROXY_ADDRESS
.
If your proxy has basic auth enabled, you must akso supply FBN_PROXY_USERNAME
and FBN_PROXY_PASSWORD
Secrets file
In order to use short lived access tokens you will need to have appropriate values set in a secrets.json
file in the same folder as your script.
{
"api":
{
"tokenUrl":"<your-token-url>",
"lusid_notificationsUrl":"<FINBOURNE-application-url>",
"username":"<your-username>",
"password":"<your-password>",
"clientId":"<your-client-id>",
"clientSecret":"<your-client-secret>",
}
}
To use a long lived Personal Access Token, you must provide a secrets.json
with the following variables:
{
"api":
{
"lusid_notificationsUrl":"<FINBOURNE-application-url>",
"accessToken":"<your-access-token>"
}
}
You can send your requests to lusid_notifications via a proxy, by adding a proxy section to your secrets.json
.
If your proxy has basic auth enabled, you must also supply a username
and password
in this section.
{
"api":
{
"lusid_notificationsUrl":"<FINBOURNE-application-url>",
"accessToken":"<your-access-token>"
},
"proxy":
{
"address":"<your-proxy-address>",
"username":"<your-proxy-username>",
"password":"<your-proxy-password>"
}
}
Using the SDK
Please follow the installation procedure and then run the following:
import time
import lusid_notifications
from lusid_notifications.exceptions import ApiException
from pprint import pprint
import os
from lusid_notifications import (
ApiClientFactory,
ApplicationMetadataApi,
EnvironmentVariablesConfigurationLoader,
SecretsFileConfigurationLoader,
ArgsConfigurationLoader
)
# Use the lusid_notifications ApiClientFactory to build Api instances with a configured api client
# By default this will read config from environment variables
# Then from a secrets.json file found in the current working directory
api_client_factory = ApiClientFactory()
# The ApiClientFactory can be passed an iterable of configuration loaders to read configuration from
api_url = "https://fbn-prd.lusid.com/notification"
# Path to a secrets.json file containing authentication credentials
# See https://support.lusid.com/knowledgebase/article/KA-01667/en-us
# for a detailed guide to setting up the SDK make authenticated calls to LUSID APIs
secrets_path = os.getenv("FBN_SECRETS_PATH")
app_name="LusidJupyterNotebook"
config_loaders = [
EnvironmentVariablesConfigurationLoader(),
SecretsFileConfigurationLoader(api_secrets_file=secrets_path),
ArgsConfigurationLoader(api_url=api_url, app_name=app_name)
]
api_client_factory = ApiClientFactory(config_loaders=config_loaders)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Enter a context with an instance of the ApiClientFactory to ensure the connection pool is closed after use
async with api_client_factory:
# Create an instance of the API class
api_instance = api_client_factory.build(ApplicationMetadataApi)
try:
# [EARLY ACCESS] ListAccessControlledResources: Get resources available for access control
api_response = await api_instance.list_access_controlled_resources()
print("The response of ApplicationMetadataApi->list_access_controlled_resources:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling ApplicationMetadataApi->list_access_controlled_resources: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to https://fbn-prd.lusid.com/notification
Class | Method | HTTP request | Description |
---|---|---|---|
ApplicationMetadataApi | list_access_controlled_resources | GET /api/metadata/access/resources | [EARLY ACCESS] ListAccessControlledResources: Get resources available for access control |
DeliveriesApi | list_deliveries | GET /api/deliveries | [EXPERIMENTAL] ListDeliveries: List Deliveries |
EventTypesApi | get_event_type | GET /api/eventtypes/{eventType} | [EXPERIMENTAL] GetEventType: Gets the specified event type schema. |
EventTypesApi | list_event_types | GET /api/eventtypes | [EXPERIMENTAL] ListEventTypes: Lists all of the available event types. |
ManualEventApi | trigger_manual_event | POST /api/manualevent | [EXPERIMENTAL] TriggerManualEvent: Trigger a manual event. |
NotificationsApi | create_notification | POST /api/subscriptions/{scope}/{code}/notifications | [EXPERIMENTAL] CreateNotification: Add a Notification to a Subscription. |
NotificationsApi | delete_notification | DELETE /api/subscriptions/{scope}/{code}/notifications/{id} | [EXPERIMENTAL] DeleteNotification: Delete a notification for a given subscription. |
NotificationsApi | get_notification | GET /api/subscriptions/{scope}/{code}/notifications/{id} | [EXPERIMENTAL] GetNotification: Get a notification on a subscription. |
NotificationsApi | list_notifications | GET /api/subscriptions/{scope}/{code}/notifications | [EXPERIMENTAL] ListNotifications: List all notifications on a subscription. |
NotificationsApi | update_notification | PUT /api/subscriptions/{scope}/{code}/notifications/{id} | [EXPERIMENTAL] UpdateNotification: Update a Notification for a Subscription |
SubscriptionsApi | create_subscription | POST /api/subscriptions | [EXPERIMENTAL] CreateSubscription: Create a new subscription. |
SubscriptionsApi | delete_subscription | DELETE /api/subscriptions/{scope}/{code} | [EXPERIMENTAL] DeleteSubscription: Delete a subscription. |
SubscriptionsApi | get_subscription | GET /api/subscriptions/{scope}/{code} | [EXPERIMENTAL] GetSubscription: Get a subscription. |
SubscriptionsApi | list_subscriptions | GET /api/subscriptions | [EXPERIMENTAL] ListSubscriptions: List subscriptions. |
SubscriptionsApi | update_subscription | PUT /api/subscriptions/{scope}/{code} | [EXPERIMENTAL] UpdateSubscription: Update an existing subscription. |
Documentation For Models
- AccessControlledAction
- AccessControlledResource
- ActionId
- AmazonSqsNotificationType
- AmazonSqsNotificationTypeResponse
- AmazonSqsPrincipalAuthNotificationType
- AmazonSqsPrincipalAuthNotificationTypeResponse
- Attempt
- AttemptStatus
- CreateNotificationRequest
- CreateSubscription
- Delivery
- EmailNotificationType
- EmailNotificationTypeResponse
- EventFieldDefinition
- EventTypeSchema
- IdSelectorDefinition
- IdentifierPartSchema
- Link
- LusidProblemDetails
- LusidValidationProblemDetails
- ManualEvent
- ManualEventBody
- ManualEventHeader
- ManualEventRequest
- MatchingPattern
- Notification
- NotificationStatus
- NotificationType
- NotificationTypeResponse
- ResourceId
- ResourceListOfAccessControlledResource
- ResourceListOfDelivery
- ResourceListOfEventTypeSchema
- ResourceListOfNotification
- ResourceListOfSubscription
- SmsNotificationType
- SmsNotificationTypeResponse
- Subscription
- UpdateNotificationRequest
- UpdateSubscription
- WebhookNotificationType
- WebhookNotificationTypeResponse
Documentation For Authorization
Authentication schemes defined for the API:
oauth2
- Type: OAuth
- Flow: implicit
- Authorization URL: https://lusid.okta.com/oauth2/default/v1/authorize
- Scopes: N/A
Author
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lusid_notifications_sdk-2.1.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e7fbdfecd3803b4125f1b45ba4a7740c3bee4a94077a110db908ebf26a0aabf |
|
MD5 | 1e9a3277bcb4acfb6373b37ebf626882 |
|
BLAKE2b-256 | 3355218e53c724e573a4a3f2c741f16c3fbdc8c240e76fd4c51fcb9e5505269a |
Hashes for lusid_notifications_sdk-2.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98377c63bf003711daea80751f19623ec22837d6eb46508384ff1beefe44ca89 |
|
MD5 | 85206c81a34bb3204a57c26030d093d3 |
|
BLAKE2b-256 | 600e4e8b7f4b729e48560767725d4f9f4f497f0aa0c4d6f3dd048390232c6deb |