Code Monkey home page Code Monkey logo

eigendata's Introduction

logo

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.

  1. You can easily do a quick and dirty analysis without having to deal with the overhead of remembering basic python syntax
  2. 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.
  3. If the process needs to be "productionized" by an engineering they can start from a code-base based on standard python packages

Eigendata JupyerLab Extension

Eigendata renders a low-code interface below cells in a JupyterLab Notebook, providing fast access to common data transformations without needing to remember the syntax or the exact name of the method.

Open a JupyerLab notebook, and you will see

Besides these improvements, Eigendata provides options to simplify the JupyterLab experience for new users:

  • Intuitive shortcuts for the sidebars ⌘ / ⌘ \
  • When you close a tab, the kernel is shut down

All of these configurations can also be disabled through the advanced settings ⌘ ,

Install

You can try a free cloud instance here or install with pip

pip install eigendata

Eigendata Core: Framework for declarative GUIs

Eigendata is built on top of an extensible framework to render Python methods as GUIs.

To use your own custom transformations:

  1. You can add the JSON code to user transformations in the settings of the eigendata extension.
  2. 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 and transformationAuth 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:

logo

Requirements

  • JupyterLab >= 3.0
  • Pandas, Numpy, Fastdata (our own library with pandas utilities)

Uninstall

pip uninstall eigendata

eigendata's People

Contributors

molinsp avatar islamrustam avatar

Stargazers

Phillip Novess avatar

Watchers

 avatar

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.