pynorama

Natural Language Processing Visualization Tool


Keywords
ahl, visualization, NLP, data, discovery
License
LGPL-2.1
Install
pip install pynorama==0.4.2

Documentation

Pynorama

Pynorama is a tool for visualizing intricate datasets for which a simple table format is not suitable. It was created with Natural Language Processing applications in mind.

pynorama example screenshot

Pynorama lets you define views in Python that are rendered as interactive web applications, letting you browse, analyse and understand your data.

Pynorama is scalable and extensible. Pynorama has a clean and simple architecture. It makes little assumptions about your data source or data format. Read in the documentation about developing extensions.

Quickstart

Install Pynorama

For a minimal install run:

pip install pynorama

Using Pynorama

To create a view:

  • define a table describing your data records. Currently supported sources are pandas.DataFrame and MongoDB queries.
  • define different stages of your data pipeline.
  • return a particular records for a given stage.
  • configure the UI

In Python this would look similar to this:

from pynorama import View
from pynorama.table import PandasTable

class ExampleView(View):
    def __init__(self, name, description=''):
        super(ExampleView, self).__init__(name, description)
        setup_data()

    def get_pipeline(self):
        return {
            'raw_stage': {'viewer': 'raw'},
            'tokenized': {'viewer': 'json', 'parents': ['raw_stage']}
        }

    def get_record(self, key, stage):
        if stage == 'raw_stage':
            return get_html(key)
        else:
            return get_processed_data(key)

    def get_table(self):
        return PandasTable(get_dataframe())

Next, register the view with pynorama:

from pynorama import register_view

register_view(ExampleView('example'))

Finally, let Pynorama set up a Flask server for you and start it:

from pynorama import make_server

app = make_server()
app.run(host='localhost', port='5000')

Now just run your Python script! The view should be accessible at http://localhost:5000/view/example.

For more information check the examples and the documentation!

Acknowledgements

Pynorama was developed at Man AHL.

Original concept and implementation: Alexander Wettig

Contributors from AHL Tech team:

Contributions welcome!

License

Pynorama is licensed under the GNU LGPL v2.1. A copy of which is included in LICENSE