Skip to main content

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.985
  • Package version: 2.1.28
  • 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

Documentation For Authorization

Authentication schemes defined for the API:

oauth2

Author

info@finbourne.com

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

lusid_notifications_sdk-2.1.28.tar.gz (64.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lusid_notifications_sdk-2.1.28-py3-none-any.whl (129.7 kB view details)

Uploaded Python 3

File details

Details for the file lusid_notifications_sdk-2.1.28.tar.gz.

File metadata

  • Download URL: lusid_notifications_sdk-2.1.28.tar.gz
  • Upload date:
  • Size: 64.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.8.2 Linux/5.15.129-flatcar

File hashes

Hashes for lusid_notifications_sdk-2.1.28.tar.gz
Algorithm Hash digest
SHA256 651103a5ba65dec41fa6f8b682c41359af92ce293d11d085eb783a3ba9bc27ad
MD5 4104f1083ffbc63e44077f7d2f81eb00
BLAKE2b-256 0c41b2876f1f3c5099b517fe5a0e187aafa6ae69425714cb3dc0961f0702ac6a

See more details on using hashes here.

File details

Details for the file lusid_notifications_sdk-2.1.28-py3-none-any.whl.

File metadata

File hashes

Hashes for lusid_notifications_sdk-2.1.28-py3-none-any.whl
Algorithm Hash digest
SHA256 32eddd91387ac39be635b28fa925e04b80b3b4f7e9576136b3490b300eaecd4f
MD5 4a89b9bf93a32369093ba83e4ac37a45
BLAKE2b-256 d5b1f027a6321a9d0b01e0dbc7cdab0e47b40d4d2c5476e91cad43a13b988b4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page