Reference#
AI#
Agent#
Agents are actors responsible for taking a user query and
SourceAgent renders a form that allows a user to upload or
ChatAgent provides general information about available data
LumenBaseAgent Agent
AnalystAgent Agent
The TableListAgent lists all available tables and lets the user pick one.
The DocumentListAgent lists all available documents provided by the user.
SQLAgent Agent
Responsible for creating and executing queries against a dbt Semantic Layer
BaseViewAgent Agent
AnalysisAgent Agent
hvPlotAgent Agent
VegaLiteAgent Agent
Coordinator#
A Coordinator is responsible for coordinating the actions
DependencyResolver is a type of Coordinator that chooses the agent
The Planner develops a plan to solve the user query step-by-step
Tool#
A Tool can be invoked by another Actor to provide additional
A Tool can be invoked by another Actor to provide additional
FunctionTool wraps arbitrary functions and makes them available as a tool
The DocumentLookup tool creates a vector store of all available documents
TableLookup tool that creates a vector store of all available tables
DbtslLookup tool that creates a vector store of all available dbt semantic layers
Extended version of TableLookup that performs an iterative table selection process.
UI#
UI provides a baseclass and high-level entrypoint to start chatting with your data.
ChatUI provides a high-level entrypoint to start chatting with your data
ExplorerUI provides a high-level entrypoint to start chatting with your data
Spec#
Config#
Config provides high-level configuration options for the
Variable#
Variable components declare values that can be referenced from other components.
Constant declares a constant value that can be referenced.
EnvVariable fetches an environment variable that can be referenced.
Widget variables dynamically reflect the current widget value.
Parameter variables reflect the current value of a parameter.
URLQuery variables reflect the value of a URL query parameter.
Cookie variables reflect the value of a cookie in the request.
UserInfo variables reflect a value in the user info returned by an OAuth provider.
Header variables reflect the value of a request header.
Pipeline#
Pipeline encapsulates filters and transformations applied to a
Source#
Source components provide allow querying all kinds of data.
RESTSource allows querying REST endpoints conforming to the Lumen REST specification.
InMemorySource can be used to work with in-memory data.
FileSource loads CSV, Excel and Parquet files using pandas and dask read_* functions.
The BaseSQLSource implements the additional API required by
WebsiteSource queries whether a website responds with a 400 status code.
PanelSessionSource queries the session_info endpoint of a Panel application.
JoinedSource performs a join on tables from one or more sources.
DerivedSource applies filtering and transforms to tables from other sources.
The JSONSource is very similar to the FileSource but loads json files.
DuckDBSource provides a simple wrapper around the DuckDB SQL
An IntakeSource loads data from an Intake catalog.
IntakeSQLSource extends the IntakeSource with support for SQL data.
Filter#
Filter components supply the filter values used by Source components to query data. .
The ConstantFilter allows requesting a constant value from the
The FacetFilter allows faceting the data along some dimension to
ParamFilter reflects the value of a parameter declared on a View.
WidgetFilter generates a Widget from the table schema provided by a Source.
BinFilter is a special WidgetFilter that allows selecting from a set of bins.
DateFilter is a WidgetFilter specialized to select calendar dates.
DatetimeFilter is a WidgetFilter specialized to filter by datetimes.
Transform#
Transform components implement transforms of DataFrame objects.
Filter transform implement the filtering behavior of Filter components.
HistoryTransform accumulates a history of the queried data.
Aggregate one or more columns or indexes, see pandas.DataFrame.groupby.
Sort on one or more columns, see pandas.DataFrame.sort_values.
Query applies the pandas.DataFrame.query method.
Columns selects a subset of columns.
Astype transforms the type of one or more columns.
Stack applies pandas.DataFrame.stack to the declared level.
Unstack applies pandas.DataFrame.unstack to the declared level.
Iloc allows selecting the data with integer indexing, see pandas.DataFrame.iloc.
Sample returns a random sample of items.
Compute turns a dask.dataframe.DataFrame into a pandas.DataFrame.
Pivot applies pandas.DataFrame.pivot given an index, columns, and values.
PivotTable applies pandas.pivot_table` to the data.
Melt applies the pandas.melt operation given the id_vars and value_vars.
SetIndex promotes DataFrame columns to indexes, see pandas.DataFrame.set_index.
ResetIndex resets DataFrame indexes to columns or drops them, see pandas.DataFrame.reset_index
Rename renames columns or indexes, see pandas.DataFrame.rename.
Set the name of the axis for the index or columns,
Counts non-nan values in each column of the DataFrame and returns
Sums numeric values in each column of the DataFrame and returns a
Applies an eval assignment expression to a DataFrame. The
DropNA drops rows with any missing values.
Corr computes pairwise correlation of columns, excluding NA/null values.
project_lnglat projects the given longitude/latitude columns to Web Mercator.
Format SQL expressions with parameterized replacements.
Performs a Group-By and aggregation
Performs a LIMIT SQL operation on the query.
SQLDistinct Transform
SQLCount Transform
SQLMinMax Transform
SQLColumns Transform
SQLFilter Transform
SQLOverride Transform
Samples rows from a SQL query using TABLESAMPLE or similar functionality,
Class to exclude the source and separator.
SQLSelectFrom Transform
View#
View components provide a visual representation for the data returned
Panel views provide a way to declaratively wrap a Panel component.
StringView renders the latest value of the field as a HTML string.
IndicatorView renders the latest field value as a Panel Indicator.
hvOverlayView allows overlaying a list of layers consisting of
Table renders data using the powerful Panel Tabulator component.
DownloadView renders a button that allows downloading data as CSV, Excel, and parquet files.
PerspectiveView renders data into a Perspective widget.
VegaLite provides a declarative way to render vega-lite charts.
AltairView provides a declarative way to render Altair charts.
A View that renders a ydata_profiling ProfileReport.
Renders the data using the GraphicWalker panel extension.
hvPlotUIView displays provides a component for exploring datasets interactively.
hvPlotView renders the queried data as a bokeh plot generated with hvPlot.
Layout#
Layout renders one or more :class:lumen.views.base.View components
Auth#
An AuthPlugin is given the auth specfication and can apply arbitrary
An AuthPlugin is given the auth specfication and can apply arbitrary
The YamlAuthMapperPlugin uses a Yaml file to map auth keys
Defaults#
Defaults to apply to the component classes.