Skip to main content

Natural Language Processing Visualization Tool

Project description

## 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.

[TODO: 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 **open and extensible.**
Pynorama has a clean and simple architecture.
It makes little assumptions about your data source or data format.
Read in the [documentation](https://pynorama.readthedocs.io) 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 mongo 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:
```python
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:
```python
from pynorama import register_view

register_view(ExampleView('example'))
```

Finally, let Pynorama set up a *flask* server for you and start it:
```python
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](examples) and the [documentation](https://pynorama.readthedocs.io)!

## Acknowledgements

Pynorama was developed at [Man AHL](http://www.ahl.com/).

Original concept and implementation: [Alexander Wettig](https://github.com/CodeCreator)

Contributors from AHL Tech team:

* [Slavi Marinov](https://github.com/slavi)
* [Nikolai Matiushev](https://github.com/egao1980)

Contributions welcome!

## License

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

Changelog

### 1.0.0

* Initial public release


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynorama-0.4.2.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

pynorama-0.4.2-py2-none-any.whl (2.8 MB view details)

Uploaded Python 2

File details

Details for the file pynorama-0.4.2.tar.gz.

File metadata

  • Download URL: pynorama-0.4.2.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pynorama-0.4.2.tar.gz
Algorithm Hash digest
SHA256 d8a0a98b0bbaa83cc3a14b433338f6094d1b86dd57cdae8a724aa950a5b7552e
MD5 fa9575ff76b496748be1b06191bfa7c0
BLAKE2b-256 08fb6e3fcc28e1aceff6975aabcf8efc3484667df601d336d3118613f47137dc

See more details on using hashes here.

File details

Details for the file pynorama-0.4.2-py2-none-any.whl.

File metadata

File hashes

Hashes for pynorama-0.4.2-py2-none-any.whl
Algorithm Hash digest
SHA256 8823fd06fd02bc0be6fbed1b55eee10c39ca818ddaf2e295eb0c6ffc951f3c19
MD5 1d220c05f3db40978f5d7622f34ab18b
BLAKE2b-256 2451ce79faa6b201dca9bf27bcce8d0cbf87e75deebdfa5da5b2236559f4589f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page