![Unit tests](https://github.com/github/docs/actions/workflows/test.yml/badge.svg)
[![PyPI version](https://badge.fury.io/py/storynavigator.svg?branch=master&kill_cache=1)](https://badge.fury.io/py/storynavigator)
[![Read the Docs](https://readthedocs.org/projects/orange-story-navigator/badge/?version=latest)](https://orange-story-navigator.readthedocs.io/en/latest/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10994947.svg)](https://doi.org/10.5281/zenodo.10994947)
<img src="orangecontrib/storynavigation/widgets/icons/storynavigator_logo.png" alt="setting_icon" width="300" height="auto">
[Orange3](https://github.com/biolab/orange3) Story Navigator
=======================
Orange3-Story-Navigator is an add-on for the [Orange data mining software package](https://orangedatamining.com/). It
provides quantitative textual story analysis features based on principles in [narrative psychology](https://web.lemoyne.edu/~hevern/narpsych/nr-basic.html). The aim of the Story Navigator is to support human analysis of stories represented in digital texts, with a focus on identifying and describing the following components of the narrative (see [[1]](http://www.communicationcache.com/uploads/1/0/8/8/10887248/kenneth_burke_-_a_grammar_of_motives_1945.pdf), [[2]](https://www.semanticscholar.org/paper/Qualitative-Research-in-Clinical-and-Health-Murray-Sools/8db3916fcd1593086f0a62d78d15eacc2d3236e6) and [[3]](https://www.tandfonline.com/doi/abs/10.1080/13645579.2020.1723205?journalCode=tsrm20) for definitions and theory):
1. Setting
2. Main agent
3. Means
4. Acts and events
5. Purpose
6. Breach
[1] Burke, K. (1969). The grammar of motives. Prentice Hall, New York. Originally published in 1945.
[2] M. Murray and A. Sools, P. Rohleder, A.C. Lyons (Eds.), Qualitative research in clinical and health psychology, Palgrave MacMillan, Houndmills Basingstoke (2015), pp. 133-154
[3] Andrade, S. B., & Andersen, D. (2020). Digital story grammar: a quantitative methodology for narrative analysis. International Journal of Social Research Methodology, 23(4), 405-421.
## Installation
This section is for those who want to install the Story Navigator purely for analysing stories with **no** plan to develop or extend the add-on.
#### Method 1
> Requirements:
>
> 1. [Orange3](https://github.com/biolab/orange3)
> 2. [Orange3-text](https://github.com/biolab/orange3-text)
> 3. [Orange3-network](https://github.com/biolab/orange3-network)
>
> Steps:
>
> 1. First install [Orange](https://orangedatamining.com/). Instructions are [here](https://orangedatamining.com/download)
> 2. Fire up Orange, navigate to the Orange add-on installer which is available in the Options -> Add-ons menu. **Note:** the add-on requires [Orange3-text](https://github.com/biolab/orange3-text) and [Orange3-network](https://github.com/biolab/orange3-network) so first install these libraries before installing ``storynavigator``.
> 3. Click on the ``Add more...`` button on the top right of the window
> 4. Type in ``storynavigator`` in the textbox and click on the ``Add`` button
> 5. Click on the ``OK`` button
> 6. The ``storynavigator`` add-on should install and Orange may ask you to restart it to view the new add-ons. Click on the ``OK`` button to do so.
#### Method 2
> Requirements: [Python 3.9.12+](https://www.python.org/downloads/)
>
> Step: ``pip install storynavigator``
## User documentation
Available [here](https://orange-story-navigator.readthedocs.io/en/latest/)
## Development
This section is for those who want to build the add-on from source and extend, customise, or fix bugs in it.
**Note:** Mac M1 (Apple silicon) users may encounter problems with building ``storynavigator`` using certain Python 3.8.x or 3.9.x versions and / or actually building or running these specific Python versions at all on your Mac. If you encounter such issues, it is recommended to install [Rosetta 2](https://osxdaily.com/2020/12/04/how-install-rosetta-2-apple-silicon-mac/) and always run the terminal using Rosetta 2 (see how to do the latter [here](https://www.courier.com/blog/tips-and-tricks-to-setup-your-apple-m1-for-development/)) for development tasks.
Requirements:
1. A tool for checking out a [Git](https://git-scm.com/) repository
2. Python 3.9.12+
Steps to build and test from source:
1. Get a copy of the code
```git clone git@github.com:navigating-stories/orange-story-navigator.git```
2. Change into the ```orange-story-navigator/``` directory
```cd orange-story-navigator```
3. Create and activate a new Python virtual environment using [virtualenv](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)
4. Run the following command
```pip install -r requirements.txt```
5. If Step 4. completed with no errors, run this command
```pip install -e .```
> This command installs the widget and registers it with your Orange3 installation. If you encountered an error during Step 4, file an [issue](https://github.com/navigating-stories/orange-story-navigator/issues) with the details and skip the remaining steps.
6. Run ```orange-canvas``` or ```python -m Orange.canvas```
The Orange3 application should shortly start up with a splash screen
## Testing
Run tests with `pytest`.
For coverage:
```python
coverage run -m pytest
coverage report
# or
coverage html
```
## Collaborators
The Story Navigator is maintained by the [Netherlands eScience Center](https://www.esciencecenter.nl/) in collaboration with the [Faculty of Behavioural, Management and Social Sciences (BMS)](https://www.utwente.nl/en/bms/) at the [University of Twente](https://www.utwente.nl/en/).
Raw data
{
"_id": null,
"home_page": null,
"name": "storynavigator",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "orange3 add-on, story analysis, narrative theory, natural language processing, text mining, story networks, character networks",
"author": "Kody Moodley",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/02/6c/0226e21c586193d2249041cb4a035e0b2a31137ffc8e58e68764f121ed1e/storynavigator-0.0.32.tar.gz",
"platform": null,
"description": "![Unit tests](https://github.com/github/docs/actions/workflows/test.yml/badge.svg)\n[![PyPI version](https://badge.fury.io/py/storynavigator.svg?branch=master&kill_cache=1)](https://badge.fury.io/py/storynavigator)\n[![Read the Docs](https://readthedocs.org/projects/orange-story-navigator/badge/?version=latest)](https://orange-story-navigator.readthedocs.io/en/latest/)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10994947.svg)](https://doi.org/10.5281/zenodo.10994947)\n\n<img src=\"orangecontrib/storynavigation/widgets/icons/storynavigator_logo.png\" alt=\"setting_icon\" width=\"300\" height=\"auto\">\n\n[Orange3](https://github.com/biolab/orange3) Story Navigator\n=======================\n\nOrange3-Story-Navigator is an add-on for the [Orange data mining software package](https://orangedatamining.com/). It\nprovides quantitative textual story analysis features based on principles in [narrative psychology](https://web.lemoyne.edu/~hevern/narpsych/nr-basic.html). The aim of the Story Navigator is to support human analysis of stories represented in digital texts, with a focus on identifying and describing the following components of the narrative (see [[1]](http://www.communicationcache.com/uploads/1/0/8/8/10887248/kenneth_burke_-_a_grammar_of_motives_1945.pdf), [[2]](https://www.semanticscholar.org/paper/Qualitative-Research-in-Clinical-and-Health-Murray-Sools/8db3916fcd1593086f0a62d78d15eacc2d3236e6) and [[3]](https://www.tandfonline.com/doi/abs/10.1080/13645579.2020.1723205?journalCode=tsrm20) for definitions and theory):\n\n1. Setting\n2. Main agent\n3. Means\n4. Acts and events\n5. Purpose\n6. Breach\n\n[1] Burke, K. (1969). The grammar of motives. Prentice Hall, New York. Originally published in 1945.\n\n[2] M. Murray and A. Sools, P. Rohleder, A.C. Lyons (Eds.), Qualitative research in clinical and health psychology, Palgrave MacMillan, Houndmills Basingstoke (2015), pp. 133-154\n\n[3] Andrade, S. B., & Andersen, D. (2020). Digital story grammar: a quantitative methodology for narrative analysis. International Journal of Social Research Methodology, 23(4), 405-421.\n\n## Installation\n\nThis section is for those who want to install the Story Navigator purely for analysing stories with **no** plan to develop or extend the add-on.\n\n#### Method 1\n\n> Requirements:\n>\n> 1. [Orange3](https://github.com/biolab/orange3)\n> 2. [Orange3-text](https://github.com/biolab/orange3-text)\n> 3. [Orange3-network](https://github.com/biolab/orange3-network)\n>\n> Steps:\n>\n> 1. First install [Orange](https://orangedatamining.com/). Instructions are [here](https://orangedatamining.com/download)\n> 2. Fire up Orange, navigate to the Orange add-on installer which is available in the Options -> Add-ons menu. **Note:** the add-on requires [Orange3-text](https://github.com/biolab/orange3-text) and [Orange3-network](https://github.com/biolab/orange3-network) so first install these libraries before installing ``storynavigator``.\n> 3. Click on the ``Add more...`` button on the top right of the window\n> 4. Type in ``storynavigator`` in the textbox and click on the ``Add`` button\n> 5. Click on the ``OK`` button\n> 6. The ``storynavigator`` add-on should install and Orange may ask you to restart it to view the new add-ons. Click on the ``OK`` button to do so.\n\n#### Method 2\n\n> Requirements: [Python 3.9.12+](https://www.python.org/downloads/)\n> \n> Step: ``pip install storynavigator``\n\n## User documentation\nAvailable [here](https://orange-story-navigator.readthedocs.io/en/latest/)\n\n## Development\n\nThis section is for those who want to build the add-on from source and extend, customise, or fix bugs in it.\n**Note:** Mac M1 (Apple silicon) users may encounter problems with building ``storynavigator`` using certain Python 3.8.x or 3.9.x versions and / or actually building or running these specific Python versions at all on your Mac. If you encounter such issues, it is recommended to install [Rosetta 2](https://osxdaily.com/2020/12/04/how-install-rosetta-2-apple-silicon-mac/) and always run the terminal using Rosetta 2 (see how to do the latter [here](https://www.courier.com/blog/tips-and-tricks-to-setup-your-apple-m1-for-development/)) for development tasks.\n\nRequirements:\n\n1. A tool for checking out a [Git](https://git-scm.com/) repository\n2. Python 3.9.12+\n\nSteps to build and test from source:\n\n1. Get a copy of the code\n \n ```git clone git@github.com:navigating-stories/orange-story-navigator.git```\n\n2. Change into the ```orange-story-navigator/``` directory\n \n ```cd orange-story-navigator```\n\n3. Create and activate a new Python virtual environment using [virtualenv](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)\n\n4. Run the following command\n\n ```pip install -r requirements.txt```\n\n5. If Step 4. completed with no errors, run this command\n\n ```pip install -e .```\n\n> This command installs the widget and registers it with your Orange3 installation. If you encountered an error during Step 4, file an [issue](https://github.com/navigating-stories/orange-story-navigator/issues) with the details and skip the remaining steps.\n\n6. Run ```orange-canvas``` or ```python -m Orange.canvas```\n\nThe Orange3 application should shortly start up with a splash screen\n\n## Testing\n\nRun tests with `pytest`.\n\nFor coverage:\n\n```python\ncoverage run -m pytest\ncoverage report\n# or\ncoverage html\n```\n\n## Collaborators\nThe Story Navigator is maintained by the [Netherlands eScience Center](https://www.esciencecenter.nl/) in collaboration with the [Faculty of Behavioural, Management and Social Sciences (BMS)](https://www.utwente.nl/en/bms/) at the [University of Twente](https://www.utwente.nl/en/).\n",
"bugtrack_url": null,
"license": "GPL 3.0 or later",
"summary": "Narrative analysis add-on for the Orange 3 data mining software package.",
"version": "0.0.32",
"project_urls": {
"changelog": "https://github.com/navigating-stories/orange-story-navigator/releases",
"documentation": "https://orange-story-navigator.readthedocs.io",
"homepage": "https://github.com/navigating-stories/orange-story-navigator",
"issues": "https://github.com/navigating-stories/orange-story-navigator/issues"
},
"split_keywords": [
"orange3 add-on",
" story analysis",
" narrative theory",
" natural language processing",
" text mining",
" story networks",
" character networks"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e45124bdc3813d232794404d7bbc6c737958a1f82b7e61cc16f99458a2ae7d75",
"md5": "3a74dd0b92cf6f590d31ccb33c698ae1",
"sha256": "d880a313443fd11271587a913ab28b5e5e6df9afb62ef3636430499d66c732ac"
},
"downloads": -1,
"filename": "storynavigator-0.0.32-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3a74dd0b92cf6f590d31ccb33c698ae1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 442260,
"upload_time": "2024-10-10T07:57:33",
"upload_time_iso_8601": "2024-10-10T07:57:33.718373Z",
"url": "https://files.pythonhosted.org/packages/e4/51/24bdc3813d232794404d7bbc6c737958a1f82b7e61cc16f99458a2ae7d75/storynavigator-0.0.32-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "026c0226e21c586193d2249041cb4a035e0b2a31137ffc8e58e68764f121ed1e",
"md5": "b4d514678d5f2c4b40bf989176cf0c15",
"sha256": "f60444eba4f583691217a1a664ebc1a10b98fd971477a143dc31f00c442e9fae"
},
"downloads": -1,
"filename": "storynavigator-0.0.32.tar.gz",
"has_sig": false,
"md5_digest": "b4d514678d5f2c4b40bf989176cf0c15",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 1570861,
"upload_time": "2024-10-10T07:57:35",
"upload_time_iso_8601": "2024-10-10T07:57:35.938743Z",
"url": "https://files.pythonhosted.org/packages/02/6c/0226e21c586193d2249041cb4a035e0b2a31137ffc8e58e68764f121ed1e/storynavigator-0.0.32.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-10 07:57:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "navigating-stories",
"github_project": "orange-story-navigator",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "beautifulsoup4",
"specs": [
[
"==",
"4.12.3"
]
]
},
{
"name": "graphviz",
"specs": [
[
"==",
"0.20.3"
]
]
},
{
"name": "nltk",
"specs": [
[
"==",
"3.9.1"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.2.2"
]
]
},
{
"name": "pydot",
"specs": [
[
"==",
"3.0.1"
]
]
},
{
"name": "PyQt6",
"specs": [
[
"==",
"6.7.1"
]
]
},
{
"name": "PyQtWebEngine",
"specs": [
[
"==",
"5.15.7"
]
]
},
{
"name": "pytest",
"specs": [
[
"==",
"8.3.2"
]
]
},
{
"name": "scipy",
"specs": [
[
"==",
"1.12.0"
]
]
},
{
"name": "spacy",
"specs": [
[
"==",
"3.7.6"
]
]
},
{
"name": "textblob",
"specs": [
[
"==",
"0.18.0.post0"
]
]
},
{
"name": "textblob-nl",
"specs": [
[
"==",
"0.0.1"
]
]
},
{
"name": "thefuzz",
"specs": [
[
"==",
"0.22.1"
]
]
},
{
"name": "torch",
"specs": [
[
"==",
"2.4.1"
]
]
},
{
"name": "transformers",
"specs": [
[
"==",
"4.44.2"
]
]
},
{
"name": "Orange3",
"specs": [
[
"==",
"3.37.0"
]
]
},
{
"name": "Orange3-Network",
"specs": [
[
"==",
"1.9.0"
]
]
},
{
"name": "Orange3-Text",
"specs": [
[
"==",
"1.16.1"
]
]
},
{
"name": "DHTMLParser3",
"specs": [
[
"==",
"3.0.17"
]
]
},
{
"name": "transformers",
"specs": [
[
"==",
"4.44.2"
]
]
},
{
"name": "torch",
"specs": [
[
"==",
"2.4.1"
]
]
},
{
"name": "pytest",
"specs": [
[
"==",
"8.3.2"
]
]
},
{
"name": "openTSNE",
"specs": [
[
"==",
"1.0.2"
]
]
},
{
"name": "pyqtgraph",
"specs": [
[
"==",
"0.13.7"
]
]
},
{
"name": "orange-canvas-core",
"specs": [
[
"==",
"0.2.2"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.9.2"
]
]
},
{
"name": "scikit-learn",
"specs": [
[
"==",
"1.4.2"
]
]
},
{
"name": "python-louvain",
"specs": [
[
"==",
"0.16"
]
]
},
{
"name": "shapely",
"specs": [
[
"==",
"2.0.6"
]
]
}
],
"lcname": "storynavigator"
}