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
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
Release history Release notifications | RSS feed
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8a0a98b0bbaa83cc3a14b433338f6094d1b86dd57cdae8a724aa950a5b7552e |
|
MD5 | fa9575ff76b496748be1b06191bfa7c0 |
|
BLAKE2b-256 | 08fb6e3fcc28e1aceff6975aabcf8efc3484667df601d336d3118613f47137dc |
File details
Details for the file pynorama-0.4.2-py2-none-any.whl
.
File metadata
- Download URL: pynorama-0.4.2-py2-none-any.whl
- Upload date:
- Size: 2.8 MB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8823fd06fd02bc0be6fbed1b55eee10c39ca818ddaf2e295eb0c6ffc951f3c19 |
|
MD5 | 1d220c05f3db40978f5d7622f34ab18b |
|
BLAKE2b-256 | 2451ce79faa6b201dca9bf27bcce8d0cbf87e75deebdfa5da5b2236559f4589f |