narRaters 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. narraters-0.1.0/.env.example +7 -0
  2. narraters-0.1.0/.gitignore +86 -0
  3. narraters-0.1.0/LICENSE +104 -0
  4. narraters-0.1.0/PKG-INFO +657 -0
  5. narraters-0.1.0/README.md +501 -0
  6. narraters-0.1.0/SETUP_API.md +60 -0
  7. narraters-0.1.0/helpers/__init__.py +1 -0
  8. narraters-0.1.0/helpers/analysis_recall_metrics.py +288 -0
  9. narraters-0.1.0/helpers/anthropic_ids.py +36 -0
  10. narraters-0.1.0/helpers/capture_tutorial_screenshots.py +132 -0
  11. narraters-0.1.0/helpers/disk_space.py +136 -0
  12. narraters-0.1.0/helpers/feedback_links.py +7 -0
  13. narraters-0.1.0/helpers/gemma_environment.py +195 -0
  14. narraters-0.1.0/helpers/ollama_gemma_e4b.py +169 -0
  15. narraters-0.1.0/helpers/plot_bar_metrics_comparison.py +174 -0
  16. narraters-0.1.0/helpers/plot_matrix_comparison.py +280 -0
  17. narraters-0.1.0/helpers/resource_preflight.py +306 -0
  18. narraters-0.1.0/helpers/software_paths.py +26 -0
  19. narraters-0.1.0/helpers/step_types.py +127 -0
  20. narraters-0.1.0/helpers/test_bar_metrics_all_rated.py +144 -0
  21. narraters-0.1.0/helpers/test_bar_metrics_temperature.py +137 -0
  22. narraters-0.1.0/helpers/test_matrix_comparison_multi_story.py +134 -0
  23. narraters-0.1.0/helpers/test_matrix_comparison_temperature.py +129 -0
  24. narraters-0.1.0/helpers/test_recall_rater_all_stories.py +384 -0
  25. narraters-0.1.0/helpers/test_recall_rater_prompt_versions.py +312 -0
  26. narraters-0.1.0/helpers/test_recall_rater_single_subject.py +21 -0
  27. narraters-0.1.0/helpers/test_recall_rater_temperature.py +231 -0
  28. narraters-0.1.0/helpers/test_recall_rater_unrated.py +367 -0
  29. narraters-0.1.0/helpers/test_story_event_segment.py +82 -0
  30. narraters-0.1.0/helpers/util_software_env.py +23 -0
  31. narraters-0.1.0/helpers/utils_recall_data.py +120 -0
  32. narraters-0.1.0/pyproject.toml +104 -0
  33. narraters-0.1.0/scripts/1_audio-transcribe.py +282 -0
  34. narraters-0.1.0/scripts/2_story-event-segment.py +1483 -0
  35. narraters-0.1.0/scripts/3_spell-grammar-correct.py +1138 -0
  36. narraters-0.1.0/scripts/4_parse-texts.py +771 -0
  37. narraters-0.1.0/scripts/5_recall-rater.py +1455 -0
  38. narraters-0.1.0/scripts/6_causal-rater.py +1016 -0
  39. narraters-0.1.0/scripts/finish_windows_setup.bat +47 -0
  40. narraters-0.1.0/scripts/project_python.sh +26 -0
  41. narraters-0.1.0/scripts/prompt/README.md +32 -0
  42. narraters-0.1.0/scripts/prompt/causal_rating.txt +15 -0
  43. narraters-0.1.0/scripts/prompt/event_segment.txt +1 -0
  44. narraters-0.1.0/scripts/prompt/recall_parse_clause.txt +34 -0
  45. narraters-0.1.0/scripts/prompt/recall_rating.txt +16 -0
  46. narraters-0.1.0/scripts/prompt/spell_gram.txt +1 -0
  47. narraters-0.1.0/scripts/run_event_segment.sh +36 -0
  48. narraters-0.1.0/scripts/run_recall_rater.sh +22 -0
  49. narraters-0.1.0/scripts/setup_api_key.sh +53 -0
  50. narraters-0.1.0/scripts/setup_project_venv.sh +37 -0
  51. narraters-0.1.0/server/START_HERE.command +116 -0
  52. narraters-0.1.0/server/test-server.sh +118 -0
  53. narraters-0.1.0/server/web-interface.py +6934 -0
  54. narraters-0.1.0/src/narraters/__init__.py +33 -0
  55. narraters-0.1.0/src/narraters/cli.py +400 -0
  56. narraters-0.1.0/src/narraters/paths.py +89 -0
  57. narraters-0.1.0/src/narraters/runtime_install.py +319 -0
  58. narraters-0.1.0/static/app-icon.png +0 -0
  59. narraters-0.1.0/static/theme-manager.js +152 -0
  60. narraters-0.1.0/templates/index.html +5055 -0
  61. narraters-0.1.0/templates/pipeline-config.html +2594 -0
  62. narraters-0.1.0/templates/subject.html +6503 -0
@@ -0,0 +1,7 @@
1
+ # Hugging Face (free): sign up at https://huggingface.co/join
2
+ # Create an access token (read): https://huggingface.co/settings/tokens
3
+ #
4
+ # Copy this file to .env and set your token (the real .env file is gitignored):
5
+ # cp .env.example .env
6
+ #
7
+ HF_TOKEN=
@@ -0,0 +1,86 @@
1
+ # Local secrets (never commit)
2
+ .env
3
+ .env.*
4
+ !.env.example
5
+
6
+ # User authentication data (contains encrypted passwords)
7
+ server/users.json
8
+ manage/user_records.json
9
+
10
+ # User-specific runtime state
11
+ pipeline_config.json
12
+ ~/.narraters/
13
+
14
+ # Subject data — ignore by default; whitelisted example files (pieman_edited, the_siren) are committed
15
+ data/**
16
+ !data/**/
17
+ !data/**/.gitkeep
18
+ !data/1_story_audio/pieman_edited.wav
19
+ !data/2_story_transcript/pieman_edited.txt
20
+ !data/2_story_transcript/the_siren.txt
21
+ !data/3_story_events/pieman_edited_events.xlsx
22
+ !data/3_story_events/the_siren_events.xlsx
23
+ !data/4_recall_audio/the_siren_sub-01.mp4
24
+ !data/4_recall_audio/the_siren_sub-02.mp4
25
+ !data/5_recall_texts/the_siren_sub-01.txt
26
+ !data/5_recall_texts/the_siren_sub-02.txt
27
+ output/**
28
+ !output/**/
29
+ !output/**/.gitkeep
30
+ !output/story_audio-transcribed/pieman_edited.txt
31
+ !output/recall_audio-transcribed/the_siren_sub-01.txt
32
+ !output/recall_audio-transcribed/the_siren_sub-02.txt
33
+ !output/recall_corrected/the_siren_sub-01.txt
34
+ !output/recall_corrected/the_siren_sub-02.txt
35
+ !output/recall_parsed/the_siren_sub-01_parsed.xlsx
36
+ !output/recall_parsed/the_siren_sub-02_parsed.xlsx
37
+ !output/recall_rated/the_siren_sub-02_rate-recall-test_mode.xlsx
38
+ !output/causal_rated/pieman_edited_causal-linguistic.xlsx
39
+ !output/causal_rated/the_siren_causal-linguistic.xlsx
40
+
41
+ # Python cache & build artifacts
42
+ __pycache__/
43
+ *.py[cod]
44
+ *$py.class
45
+ *.so
46
+ *.egg-info/
47
+ build/
48
+ /dist/
49
+ .pytest_cache/
50
+ .coverage
51
+ .ipynb_checkpoints/
52
+
53
+ # Virtual environments
54
+ venv/
55
+ env/
56
+ ENV/
57
+ .venv/
58
+
59
+ # IDE
60
+ .vscode/
61
+ .idea/
62
+ .cursor/
63
+ *.swp
64
+ *.swo
65
+
66
+ # Private maintainer / internal documentation (not published on GitHub)
67
+ developer/
68
+
69
+ # Coding-agent context (keep local; do not publish)
70
+ /CLAUDE.md
71
+ CLAUDE.local.md
72
+
73
+ # OS
74
+ .DS_Store
75
+ Thumbs.db
76
+
77
+ # Built artifacts — regenerate on demand
78
+ # narRater.app (rebuild: bash packaging/macos/build_app_bundle.sh)
79
+ # narRater_Tutorial.pdf (rebuild: python generate_tutorial_pdf.py)
80
+ # tutorial_screenshots/ (rebuild: python helpers/capture_tutorial_screenshots.py)
81
+ tutorial_screenshots/
82
+ narRater.app/
83
+ narRaters_installer.app/
84
+ # Old DMG filename (replaced by narRaters-macos-installer.dmg at repo root)
85
+ /narRaters_installer.dmg
86
+ narRater_Tutorial.pdf
@@ -0,0 +1,104 @@
1
+ NarRaters Research and Non-Commercial License
2
+
3
+ Copyright (c) 2026 Xian Li ("Licensor"). All rights reserved.
4
+
5
+ This license governs the narRaters software and accompanying documentation
6
+ (collectively, the "Software"). The Software was developed to support research
7
+ and scientific work, not for commercial or for-profit exploitation.
8
+
9
+ ----------------------------------------------------------------------
10
+ 1. PERMITTED FREE USE (NO SEPARATE AGREEMENT REQUIRED)
11
+
12
+ Subject to section 4, Licensor grants you a non-exclusive, worldwide,
13
+ royalty-free license to use, copy, modify, merge, and distribute the Software,
14
+ including to prepare derivative works based on the Software, solely for:
15
+
16
+ (a) Non-commercial academic, scientific, or scholarly research;
17
+
18
+ (b) Teaching, learning, or evaluation in a non-profit educational
19
+ institution or public research organization;
20
+
21
+ (c) Personal, non-profit, or hobby use that is not intended to generate
22
+ revenue or commercial advantage for you or any third party; and
23
+
24
+ (d) Use by registered charities, non-profit organizations, or government
25
+ entities acting in a non-commercial capacity,
26
+
27
+ provided that you retain the copyright notice in section 4 and do not remove
28
+ or alter any required notices in the Software.
29
+
30
+ Uses under this section are referred to as "Permitted Non-Commercial Use."
31
+
32
+ ----------------------------------------------------------------------
33
+ 2. COMMERCIAL AND FOR-PROFIT USE REQUIRES WRITTEN PERMISSION
34
+
35
+ Any use of the Software that is not Permitted Non-Commercial Use is not
36
+ licensed here. Without limitation, the following require prior written
37
+ permission from Licensor (a "Commercial License") before you may use, copy,
38
+ modify, distribute, or offer services based on the Software:
39
+
40
+ (a) Use in connection with a business, consultancy, or other for-profit
41
+ activity;
42
+
43
+ (b) Use on behalf of a for-profit company or other commercial entity;
44
+
45
+ (c) Hosting, SaaS, or providing the Software (or substantial functionality
46
+ derived from it) to paying customers or for advertising or data-monetization
47
+ revenue; or
48
+
49
+ (d) Any other use primarily intended for commercial advantage or private
50
+ monetary compensation.
51
+
52
+ To request a Commercial License, contact Licensor at the email address listed
53
+ in the project README or repository metadata. Commercial License terms may
54
+ include fees, royalties, revenue sharing, or other reasonable compensation
55
+ reflecting the commercial value derived from the Software and Licensor's
56
+ rights—consistent with the fact that the Software was offered without charge
57
+ for research and non-profit purposes.
58
+
59
+ Nothing in this license grants any right to use the Software for commercial or
60
+ for-profit purposes without a separate written Commercial License from Licensor.
61
+
62
+ ----------------------------------------------------------------------
63
+ 3. RESERVATION OF RIGHTS; UNAUTHORIZED COMMERCIAL USE
64
+
65
+ Except for the express rights in section 1, no license is granted under
66
+ copyright, patent, or other intellectual property law. Licensor reserves all
67
+ rights not expressly granted.
68
+
69
+ If you use the Software outside Permitted Non-Commercial Use without a valid
70
+ Commercial License, your use is not authorized. Licensor may pursue all remedies
71
+ available at law or in equity, which may include injunctive relief and damages
72
+ or other monetary recovery to the extent permitted by applicable law, including
73
+ reasonable compensation reflecting unauthorized commercial benefit.
74
+
75
+ ----------------------------------------------------------------------
76
+ 4. NOTICES
77
+
78
+ You must retain the above copyright notice and this license text in all copies
79
+ or substantial portions of the Software. You must not misrepresent the origin
80
+ of the Software.
81
+
82
+ ----------------------------------------------------------------------
83
+ 5. DISCLAIMER OF WARRANTY; LIMITATION OF LIABILITY
84
+
85
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
86
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
87
+ FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
88
+
89
+ IN NO EVENT SHALL THE LICENSOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
90
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM,
91
+ OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
92
+ SOFTWARE, EXCEPT TO THE EXTENT LIABILITY CANNOT BE EXCLUDED OR LIMITED UNDER
93
+ APPLICABLE LAW.
94
+
95
+ ----------------------------------------------------------------------
96
+ 6. GENERAL
97
+
98
+ If any provision of this license is held unenforceable, the remaining
99
+ provisions remain in effect. This license is governed by the laws applicable at
100
+ Licensor's principal place of business, without regard to conflict-of-law
101
+ rules, except where preempted by the laws of your jurisdiction regarding
102
+ consumer or mandatory rights.
103
+
104
+ For licensing questions, contact: xianl.cogneuro@gmail.com