Git Product home page Git Product logo

luminesce-examples's Introduction

luminesce-examples (WIP)

This repo contains reference examples for Luminence.

This project is a WIP.

image info

branch status
master Build and test
master Daily build

Run using Docker

You can run with docker as follows.

Build the image:

docker build . -t luminesce-examples-runner

Run a container by passing auth credentials as environment variables:

docker run \
-e FBN_LUSID_API_URL=<API_URL> \
-e FBN_PASSWORD=<PASSWORD> \
-e FBN_APP_NAME=<APP_NAME> \
-e FBN_USERNAME=<USERNAME> \
-e FBN_CLIENT_SECRET=<CLIENT_SECRET> \
-e FBN_CLIENT_ID=<CLIENT_ID> \
-e FBN_TOKEN_URL=<TOKEN_URL> \
-e FBN_DRIVE_API_URL=<DRIVE_URL> \
-e FBN_LUMI_API_URL=<LUMI_URL> \
luminesce-examples-runner -start_dir=examples/drive

Running locally

You can run one or more of these examples locally by using the --secrets and --start_dir parameters.

For example, to run the Drive examples only:

python runner/run.py --secrets=secrets/secrets.json --start_dir=examples/drive

You can also choose to keep the sample Drive files created by the runner:

python runner/run.py --secrets=secrets/secrets.json --start_dir=examples/drive --keepfiles

List of examples

๐Ÿ’ก The files in a directory are numbered if they need to be run in order ๐Ÿ’ก

View management

Delete entities

Portfolios

Run valuation

Corporate actions source

Relationships

Returns

Transactions

Abor

Properties

Run a recon holdings in different scopes

Run a reconciliation

Reference portfolios

Holdings

Quotes

Instruments

Complex bonds

File orchestration

Insights

Statistical functions

System

For loops with cross apply

Drive

Pdf generation

Horizon

Cross sectional outliers

Reconcile instruments

Check for duplicates

Check for price outliers

Check for missing instrument fields

Basic data integrity

Automated testing

We run automated tests on the SQL files in this project via GitHub Actions. The configurtion for these tests live in the .github/workflows directory.

Many of our tests require setup data. To create this data, there is a process where the testing runner will search for a _data directory wherever it finds .sql files. Then, two things happen:

  1. If there are data files in the _data directory, the runner will upload these to a luminesce-examples folder in LUSID Drive
  2. If there is a setup.py file in this directory, the runner will run the setup.py file. We use this setup.py file to configure recipes and other configurations we don't want to setup via Luminesce.

Sample structure below:

upload_equity_instruments.sql
upload_bond_instruments.sql
_data
    eq_instruments.csv
    instruments.txt
    setup.py
โš ๏ธ This file is generated, any direct edits will be lost. For instructions on how to generate the file, see docgen.

luminesce-examples's People

Contributors

boristapile avatar charliecrockerfinbourne avatar daniel-ilyin avatar davidwassellfinbourne avatar dgbarclay avatar finbourne-bot avatar fox8090 avatar github-actions[bot] avatar kr0bfb avatar liberty-askew avatar matt-storey-finbourne avatar omar-oz avatar oscaryee19 avatar pms1969 avatar ryangarvey avatar slemasne avatar steco avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luminesce-examples's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.