📖 Introduction
Product managers, business analysts, operations managers, and other non-technical personas often need to analyze data or complete repetitive tasks in the context of a business process.
This is often done in spreadsheets in a way that is not scalable or robust. To overcome challenges found in spreadsheets, many have learned basic coding.
But for these "semi-technical" users, the cognitive overhead of remembering code syntax is often too high, hampering their productivity.
Eigendata empowers "semi-technical" users with a Python low-code tool that makes manipulating data as easy as spreadsheets, without any of the limitations.
- You can easily do a quick and dirty analysis without having to deal with the overhead of remembering basic python syntax
- If you need to automate the process, you can leverage the underlying code generated using the tool to turn the transformations into a repeatable process.
- If the process needs to be "productionized" by an engineering they can start from a code-base based on standard python packages
💻 JupyterLab extension
Eigendata is a JupyterLab extension that includes
- Formulabar: A low-code interface rendered below notebook cells, providing fast access to common data transformations with Pandas (can be hidden/shown with
Ctrl + E
) - Data visualizer: Side-bar that lets you inspect the loaded dataframes
Loading a CSV file using the formula bar
Finding data transformations using the formula bar
Getting user-friendly docs right from the notebook
Generating easy to read code
Inspect DataFrames
🛠 Installation
- Try online (very easy)
- Install as a python package (advanced)
- If you already have Jupyter Lab >3.0, you can install it with
pip install eigendata
- If you do not have Jupyter Lab installed
- Download & install miniconda
- Download conda environment configuration file
- Create a new environment with all dependencies
conda env create -f eigendata-jlab3.yaml
- If you already have Jupyter Lab >3.0, you can install it with
🧩 Extension framework
Eigendata is built on top of an extensible framework to render Python methods as GUIs.
To use your own custom transformations:
- You can add the JSON code to user transformations in the settings of the eigendata extension.
- If you want to share transformations across a team (e.g. common features), you can also provide a transformation sever URL that serves a file with the transformations. This can be set up with the
transformationServer
andtransformationAuth
in eigendata settings.
You can learn more about the transformation UI spec and how to create your own transformations in our transformation documentation.
Example transformation UI from a JSON definition:
"pandas.DataFrame.drop" : {
"form" : {
"required" : [
"columns"
],
"definitions" : {
"columns" : {
"type" : "array",
"uniqueItems" : true,
"items" : {
"type" : "string",
"enum" : []
}
}
},
"properties" : {
"columns" : {
"$ref" : "#/definitions/columns",
"description" : "Select the columns that you want to remove."
}
},
"title" : "Drop columns",
"description" : "Drop columns from the dataframe.",
"type" : "object",
"callerObject" : "DataFrame",
"returnType" : "DataFrame",
"function" : "drop"
}
}
And the UI rendered based on this definition:
❓FAQ
Magic Formula Bar is blank/does not appear
This can be due to an adblocker preventing Eigendata from loading the transformations (which are hosted on our servers). In case you are using Adguard, you will need to disable it to get Eigendata working. Alternatively, you can switch to a browser where you don't have an adblocker installed.