Metadata-Version: 2.1
Name: gf-kernel
Version: 1.0.0
Summary: Simple example kernel for GF
Home-page: https://github.com/UniFormal/gf_kernel
Author: Kai Amann
Author-email: kai.amann@fau.de
License: UNKNOWN
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
Requires-Dist: ipykernel (>=5.1.0)
Requires-Dist: ipython (>=7.2.0)
Requires-Dist: ipywidgets (>=7.4.2)
Requires-Dist: jupyter (>=1.0.0)
Requires-Dist: jupyter-client (>=5.2.4)

GF Kernel
===========

`gf_kernel` is a [GF](https://www.grammaticalframework.org/) kernel for [Jupyter](https://jupyter.org/).

Prerequisites
-------------
If you haven't installed GF already, get it from the official [download website](https://www.grammaticalframework.org/download/index.html).


For graph visualization GF uses [graphviz](http://www.graphviz.org/), so please make sure you have it installed:

    sudo apt install graphviz

or under Mac OS X with [homebrew](https://brew.sh):

    brew install graphviz

Installation
------------

You can either install the kernel from the source repository: 

    git clone https://github.com/kwarc/gf_kernel
    cd gf_kernel
    pip install .

or install it directly from pip:

    pip install gf-kernel

Afterwards, install the kernel module with:

    python -m gf_kernel.install


Usage
-----
You're now ready to go and can start a Jupyter notebook with:

    jupyter notebook

Select the `gf_kernel` as kernel in your notebook.
The kernel supports all of the GF shell commands.
Output files produced by these commands will be placed into the current directory.

The kernel can also be used to define new grammars, which are immediately imported for usage upon defining.
If you would like to have line numbers for editing your code you can use the Juypter shortcut <kbd>Esc</kbd>+<kbd>L</kbd> to enable them. 

In addition to the GF shell commands the kernel supports the following commands:
- `view` : show the graph(s) generated by the specified GF shell command
- `help` : shows the help message
- `export` : saves the specified grammar in the current diretory
- `clean` : removes all `.dot`, `.png` and `.gfo` files from the current directory

Please refer to the tutorial notebook to see how exactly they are used.

This package requires Python 3.


