Skip to content

integrates several data analysis libraries into a single project with ihaskell frontend

License

Notifications You must be signed in to change notification settings

DataHaskell/data-glue

Repository files navigation

Binder

Haskell Data-Glue

Data-glue integrates several data analysis libraries into a single project with iHaskell frontend. It aims to provide a directly usable data science environment and ensure compatibility among all the gathered libraries.

Data-Glue contains:

  • Data structures

    • foldl v1.4.2 Hackage foldl foldl
      Composable, streaming, and efficient left folds.
    • Frames v0.4.0 Hackage Frames Frames
      Data frames For working with tabular data files.
    • vinyl v0.8.1 Hackage vinyl vinyl
      Extensible Records.
  • QuasiQuoter

    • PyF v0.6.1.0 Hackage PyF PyF
      Quasiquotations for a python like interpolated string formater.
    • string-qq v0.0.2 Hackage string-qq string-qq
      QuasiQuoter for non-interpolated strings, texts and bytestrings.
  • Interoperability

    • inline-r v0.9.2 Hackage inline-r inline-r
      Seamlessly call R from Haskell and vice versa.
  • Visualisation

    • ihaskell v0.9.1.0 Hackage ihaskell ihaskell
      A Haskell backend kernel for the IPython project.
      • ihaskell-aeson v0.3.0.1 Hackage ihaskell-aeson ihaskell-aeson
        IHaskell display instances for Aeson.
      • ihaskell-blaze v0.3.0.1 Hackage ihaskell-blaze ihaskell-blaze
        IHaskell display instances for blaze-html types.
      • ihaskell-charts v0.3.0.1 Hackage ihaskell-charts ihaskell-charts
        IHaskell display instances for charts types.
      • ihaskell-diagrams v0.3.2.1 Hackage ihaskell-diagrams ihaskell-diagrams
        IHaskell display instances for diagram types.
      • ihaskell-gnuplot v0.1.0.1 Hackage ihaskell-gnuplot ihaskell-gnuplot
        IHaskell display instance for Gnuplot (from gnuplot package).
      • ihaskell-hatex v0.2.1.1 Hackage ihaskell-hatex ihaskell-hatex
        IHaskell display instances for hatex.
      • ihaskell-inline-r v0.1.1.0 Hackage ihaskell-inline-r ihaskell-inline-r
        Embed R quasiquotes and plots in IHaskell notebooks.
      • ihaskell-juicypixels v1.1.0.1 Hackage ihaskell-juicypixels ihaskell-juicypixels
        IHaskell display instances of the image types of the JuicyPixels package.
      • ihaskell-magic v0.3.0.1 Hackage ihaskell-magic ihaskell-magic
        IHaskell display instances for bytestrings.
      • ihaskell-plot v0.3.0.1 Hackage ihaskell-plot ihaskell-plot
        IHaskell display instance for Plot (from plot package).
      • ihaskell-widgets v0.2.3.2 Hackage ihaskell-widgets ihaskell-widgets
        IPython standard widgets for IHaskell.
    • hvega v0.1.0.0 Hackage hvega hvega
      Create Vega and Vega-Lite visualizations.

How to use Data-glue

Using Docker

Data-glue can be easily tested using the provided Dockerfile.

System install

Data-glue has several system dependencies, which are: python3-pip libgmp-dev libmagic-dev libtinfo-dev libzmq3-dev libcairo2-dev libpango1.0-dev These dependencies can be installed using your default package manager, like apt, yum, nix, etc.

You have to install Jupyterlab, the environment in which Data-glue will live.

pip3 install jupyterlab==0.33
jupyter labextension install ihaskell_jupyterlab````

You can now clone the project:

git clone https://github.com/DataHaskell/data-glue.git

Then build the project and install the kernel to Jupyter:

stack setup
stack build && stack install
stack exec -- ihaskell install --stack

Now, you can launch an instance of JupyterLab with the Data-glue kernel with:

stack exec jupyter lab

Tutorials

This contains some interactive tutorials that show how Haskell can be used for typical data science workflows.

Datasets

The datasets used in the tutorials came from https://archive.ics.uci.edu/ml/datasets.html and https://vincentarelbundock.github.io/Rdatasets/datasets.html.

About

integrates several data analysis libraries into a single project with ihaskell frontend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published