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.
- narraters-0.1.0/.env.example +7 -0
- narraters-0.1.0/.gitignore +86 -0
- narraters-0.1.0/LICENSE +104 -0
- narraters-0.1.0/PKG-INFO +657 -0
- narraters-0.1.0/README.md +501 -0
- narraters-0.1.0/SETUP_API.md +60 -0
- narraters-0.1.0/helpers/__init__.py +1 -0
- narraters-0.1.0/helpers/analysis_recall_metrics.py +288 -0
- narraters-0.1.0/helpers/anthropic_ids.py +36 -0
- narraters-0.1.0/helpers/capture_tutorial_screenshots.py +132 -0
- narraters-0.1.0/helpers/disk_space.py +136 -0
- narraters-0.1.0/helpers/feedback_links.py +7 -0
- narraters-0.1.0/helpers/gemma_environment.py +195 -0
- narraters-0.1.0/helpers/ollama_gemma_e4b.py +169 -0
- narraters-0.1.0/helpers/plot_bar_metrics_comparison.py +174 -0
- narraters-0.1.0/helpers/plot_matrix_comparison.py +280 -0
- narraters-0.1.0/helpers/resource_preflight.py +306 -0
- narraters-0.1.0/helpers/software_paths.py +26 -0
- narraters-0.1.0/helpers/step_types.py +127 -0
- narraters-0.1.0/helpers/test_bar_metrics_all_rated.py +144 -0
- narraters-0.1.0/helpers/test_bar_metrics_temperature.py +137 -0
- narraters-0.1.0/helpers/test_matrix_comparison_multi_story.py +134 -0
- narraters-0.1.0/helpers/test_matrix_comparison_temperature.py +129 -0
- narraters-0.1.0/helpers/test_recall_rater_all_stories.py +384 -0
- narraters-0.1.0/helpers/test_recall_rater_prompt_versions.py +312 -0
- narraters-0.1.0/helpers/test_recall_rater_single_subject.py +21 -0
- narraters-0.1.0/helpers/test_recall_rater_temperature.py +231 -0
- narraters-0.1.0/helpers/test_recall_rater_unrated.py +367 -0
- narraters-0.1.0/helpers/test_story_event_segment.py +82 -0
- narraters-0.1.0/helpers/util_software_env.py +23 -0
- narraters-0.1.0/helpers/utils_recall_data.py +120 -0
- narraters-0.1.0/pyproject.toml +104 -0
- narraters-0.1.0/scripts/1_audio-transcribe.py +282 -0
- narraters-0.1.0/scripts/2_story-event-segment.py +1483 -0
- narraters-0.1.0/scripts/3_spell-grammar-correct.py +1138 -0
- narraters-0.1.0/scripts/4_parse-texts.py +771 -0
- narraters-0.1.0/scripts/5_recall-rater.py +1455 -0
- narraters-0.1.0/scripts/6_causal-rater.py +1016 -0
- narraters-0.1.0/scripts/finish_windows_setup.bat +47 -0
- narraters-0.1.0/scripts/project_python.sh +26 -0
- narraters-0.1.0/scripts/prompt/README.md +32 -0
- narraters-0.1.0/scripts/prompt/causal_rating.txt +15 -0
- narraters-0.1.0/scripts/prompt/event_segment.txt +1 -0
- narraters-0.1.0/scripts/prompt/recall_parse_clause.txt +34 -0
- narraters-0.1.0/scripts/prompt/recall_rating.txt +16 -0
- narraters-0.1.0/scripts/prompt/spell_gram.txt +1 -0
- narraters-0.1.0/scripts/run_event_segment.sh +36 -0
- narraters-0.1.0/scripts/run_recall_rater.sh +22 -0
- narraters-0.1.0/scripts/setup_api_key.sh +53 -0
- narraters-0.1.0/scripts/setup_project_venv.sh +37 -0
- narraters-0.1.0/server/START_HERE.command +116 -0
- narraters-0.1.0/server/test-server.sh +118 -0
- narraters-0.1.0/server/web-interface.py +6934 -0
- narraters-0.1.0/src/narraters/__init__.py +33 -0
- narraters-0.1.0/src/narraters/cli.py +400 -0
- narraters-0.1.0/src/narraters/paths.py +89 -0
- narraters-0.1.0/src/narraters/runtime_install.py +319 -0
- narraters-0.1.0/static/app-icon.png +0 -0
- narraters-0.1.0/static/theme-manager.js +152 -0
- narraters-0.1.0/templates/index.html +5055 -0
- narraters-0.1.0/templates/pipeline-config.html +2594 -0
- narraters-0.1.0/templates/subject.html +6503 -0
|
@@ -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
|
narraters-0.1.0/LICENSE
ADDED
|
@@ -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
|