--- title: "Luminesce" slug: "luminesce-and-lumipy" updated: 2026-10-29T15:21:18Z published: 2026-10-29T15:21:18Z canonical: "support.lusid.com/luminesce-and-lumipy" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.lusid.com/llms.txt > Use this file to discover all available pages before exploring further. # Luminesce **Luminesce lets you query, combine and write back data from LUSID, your files, your databases and other services in one SQL statement, without copying it into a data warehouse first.** Read a CSV file from Drive, join it to your LUSID instruments, value the result and save it to your own database, all in one query. Luminesce checks your permissions on every provider it calls. Luminesce is a [data virtualisation](https://en.wikipedia.org/wiki/Data_virtualization) engine. Each data source is reached through a [provider](/v1/docs/what-are-a-data-provider-and-a-direct-provider), and Luminesce queries the data where it lives, so you never have to extract, transform and load it into a separate store first. You can use Luminesce with LUSID or on its own. To see how the pieces fit together, read [Understanding the Luminesce platform architecture](/v1/docs/understanding-the-luminesce-platform-architecture). For example, this query reads a file of trades from Drive and looks up each instrument in LUSID: ```sql @trades = use Drive.Csv --file=/trades/today.csv enduse; select t.Isin, t.Units, i.DisplayName from @trades t inner join Lusid.Instrument i on i.Isin = t.Isin; ``` > [!NOTE] > What’s new in Luminesce > > - **LumiCode**, a terminal tool for everything Luminesce: code completion, tables, grouping, charts, query history, failure diagnosis and Candela, all from the keyboard. See [LumiCode](/v1/docs/introduction-to-lumicode) and [LumiCode Commands](/v1/docs/lumicode-commands). > - **Server table variables**: cache a query’s results on the server with `@!name = select ...`, then reuse them in later queries, for up to 24 hours, without fetching the data again. Use `?=` to fetch the data only when the cached copy is missing or out of date. See [Variables](/v1/docs/understanding-the-luminesce-sql-query-syntax#variables). > - **Candela writes Luminesce SQL for you.** Its Luminesce agent turns a plain-English request into a query and checks it against the providers and columns in your domain. See [Understanding Candela’s system agents](/v1/docs/understanding-candela-s-system-agents). > - **Turn a query into a Candela tool** that your team can call from a conversation. See [How do I create a custom tool?](/v1/docs/how-do-i-create-a-custom-tool). > - **Save results straight to Drive**, start a background query from a Saved Query, follow links from result columns into LUSID and other sites, and group rows in the results grid. See the [Release notes](/v1/docs/release-notes) for every Luminesce change. In the [LUSID web app](https://www.lusid.com/app/home), you’ll find Luminesce under the **Data Virtualisation** menu, provided you have a suitable licence and access permissions: ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-1725611268800.png?sv=2026-02-06&spr=https&st=2026-11-03T04%3A17%3A58Z&se=2026-11-03T05%3A17%3A58Z&sr=c&sp=r&sig=sTuYupPJ%2B0Ecue1cngSDiPg8xhGs82EsWT5vOdZXYGA%3D) ## Choose how you work Write the same Luminesce SQL wherever suits you. See [What tools are available to write Luminesce queries?](/v1/docs/what-tools-are-available-to-write-luminesce-queries) for a comparison. | **In the web app** Write and run queries in the Query Editor, or build them by pointing and clicking with the [query designer](/v1/docs/how-do-i-use-the-luminesce-query-designer). | **In the terminal** [LumiCode](/v1/docs/introduction-to-lumicode) gives you code completion, charts, history and diagnostics without leaving the keyboard. | **With AI** Ask [Candela](/v1/docs/candela-ai) to write, check or improve a query for you. | | --- | --- | --- | | **In Excel, Power BI or Tableau** Connect your BI app with our [ODBC/JDBC drivers and Power BI Connector](/v1/docs/how-do-i-use-bi-apps-such-as-powerbi-tableau-or-excel-to-interact-with-luminesce). | **In Python** Use [Lumipy](/v1/docs/how-do-i-use-lumipy-to-interact-with-luminesce) to bring Luminesce into notebooks and scripts, or to [write your own providers](/v1/docs/how-do-i-use-lumipy-to-create-data-providers-in-python). | **From your own code** Call the [SqlBackground API](/v1/docs/executing-long-running-queries-using-the-sqlbackground-api) or the [SqlExecution API](/v1/docs/executing-queries-using-the-sqlexecution-api). | ## Get started - [Getting started with Luminesce: Retrieving a portfolio valuation](/v1/docs/getting-started-with-luminesce-retrieving-a-portfolio-valuation) - [How do I install LumiCode?](/v1/docs/how-do-i-install-lumicode) ## How-to guides - [How do I schedule a Luminesce query to run at a set time or on a regular basis?](/v1/docs/how-do-i-schedule-a-luminesce-sql-query) - [How do I configure Luminesce entity providers to read/write properties?](/v1/docs/how-do-i-configure-luminesce-entity-providers-to-readwrite-properties) - [How do I use Luminesce to read/write custom entities?](/v1/docs/how-do-i-use-luminesce-to-readwrite-custom-entities) - [How do I create multiple versions of a Luminesce provider?](/v1/docs/how-do-i-create-multiple-versions-of-a-luminesce-provider) - [How do I see dependencies for Luminesce providers and custom views?](/v1/docs/how-do-i-see-dependencies-for-luminesce-providers-and-custom-views) ## Providers supplied by FINBOURNE

These are the main families of provider we supply. To see every provider available to you, browse the catalog in the Query Editor, use /catalog in LumiCode, or query Sys.Registration.

| [LUSID investment data](/v1/docs/readwrite-lusid-investment-data-lusid) (`Lusid.*`) | [Drive files](/v1/docs/readwrite-to-drive-drive) (`Drive.*`) | [SFTP server files](/v1/docs/readwrite-sftp-server-files-sftp) (`Sftp.*`) | | --- | --- | --- | | [Local and network files](/v1/docs/readwrite-nas-local-files-localfs) (`LocalFs.*`) | [Google Cloud Storage files](/v1/docs/readwrite-files-to-google-cloud-services-gcsx) (`Gcs.*`) | [Your own SQL databases](/v1/docs/readwrite-to-sql-databases-sqldbmine) (`Sql.Db.*`) | | [Configuration Store](/v1/docs/readwrite-to-configuration-store-configstore) (`ConfigStore.*`) | [Scheduler](/v1/docs/readwrite-to-scheduler-scheduler) (`Scheduler.*`) | [Workflow Service](/v1/docs/readwrite-to-workflow-service-workflow) (`Workflow.*`) | | [Notification Service](/v1/docs/readwrite-to-notification-service-notification) (`Notification.*`) | [Integrations](/v1/docs/readwrite-integration-instances-integrationx) (`Integration.*`) | [Sending emails](/v1/docs/writing-to-emails-emailsend) (`Email.Send`) | | [Pivoting, splitting, parsing and more](/v1/docs/supporting-functionality-tools) (`Tools.*`) | [Saving a query as your own provider](/v1/docs/creating-custom-views-sysadminsetupview) (`Sys.Admin.SetupView`) | [Administering Luminesce itself](/v1/docs/administering-luminesce-sys) (`Sys.*`) | ## Luminesce SQL reference - [Understanding the Luminesce SQL query syntax](/v1/docs/understanding-the-luminesce-sql-query-syntax) - [Supported functions in Luminesce SQL queries](/v1/docs/supported-functions-in-luminesce-sql-queries) - [Luminesce SQL keywords](/v1/docs/luminesce-sql-keywords) - [LumiCode Commands](/v1/docs/lumicode-commands) ## Understanding Luminesce - [Understanding the Luminesce platform architecture](/v1/docs/understanding-the-luminesce-platform-architecture) - [What are a data provider and a direct provider?](/v1/docs/what-are-a-data-provider-and-a-direct-provider) - [What tools are available to write Luminesce queries?](/v1/docs/what-tools-are-available-to-write-luminesce-queries) - [Using Luminesce to write different kinds of property for LUSID entities](/v1/docs/using-luminesce-to-write-different-kinds-of-property-for-lusid-entities) ## Business intelligence apps - [How do I use BI apps such as Power BI, Tableau or Excel to interact with Luminesce?](/v1/docs/how-do-i-use-bi-apps-such-as-powerbi-tableau-or-excel-to-interact-with-luminesce) - [Installing the Power BI Connector to connect Power BI Desktop to Luminesce](/v1/docs/installing-the-power-bi-connector-to-connect-power-bi-desktop-to-luminesce) - [Installing the standalone Windows ODBC driver to connect a BI app to Luminesce](/v1/docs/installing-the-standalone-windows-odbc-driver-to-connect-a-bi-app-to-luminesce) - [Installing the Windows DBC server driver and ODBC/JDBC client drivers to connect BI apps to Luminesce](/v1/docs/installing-the-windows-dbc-server-driver-and-odbcjdbc-client-drivers-to-connect-bi-apps-to-luminesce) - [Enabling SSL to secure Windows DBC server and ODBC/JDBC client communications](/v1/docs/enabling-ssl-to-secure-windows-dbc-server-and-odbcjdbc-client-communications) - [Caching Luminesce query results from BI apps for faster execution](/v1/docs/caching-luminesce-query-results-from-bi-apps-for-faster-execution) - [Using query folding to optimise Luminesce queries in Power BI Desktop](/v1/docs/using-query-folding-to-optimise-luminesce-queries-in-power-bi-desktop) ## Security and administration - [Creating policies to control access to providers for different Luminesce users](/v1/docs/creating-policies-to-control-access-to-providers-for-different-luminesce-end-users) - [Managing certificates for Luminesce providers](/v1/docs/managing-certificates-for-luminesce-providers) - [Understanding network dependencies for LUSID and Luminesce](/v1/docs/understanding-network-dependencies) - [Administering Luminesce (](/v1/docs/administering-luminesce-sys)`Sys.*` [providers)](/v1/docs/administering-luminesce-sys)