exegete 0.14.1a0.dev1__tar.gz → 0.14.2a0__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 (36) hide show
  1. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/NOTICE +30 -15
  2. exegete-0.14.2a0/PKG-INFO +633 -0
  3. exegete-0.14.2a0/README.md +597 -0
  4. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/pyproject.toml +7 -4
  5. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/database.py +38 -25
  6. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/env_settings.py +20 -1
  7. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/memo_privacy.py +7 -6
  8. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/names.py +11 -0
  9. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/new_project.py +16 -13
  10. exegete-0.14.2a0/src/exegete/path_identity.py +83 -0
  11. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/project_settings.py +132 -10
  12. exegete-0.14.2a0/src/exegete/release.py +27 -0
  13. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/server.py +880 -363
  14. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/state_folder.py +6 -6
  15. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/transition.py +448 -74
  16. exegete-0.14.2a0/src/exegete/updates.py +1342 -0
  17. exegete-0.14.2a0/src/exegete.egg-info/PKG-INFO +633 -0
  18. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/SOURCES.txt +3 -0
  19. exegete-0.14.1a0.dev1/PKG-INFO +0 -515
  20. exegete-0.14.1a0.dev1/README.md +0 -479
  21. exegete-0.14.1a0.dev1/src/exegete.egg-info/PKG-INFO +0 -515
  22. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/COPYING.LESSER +0 -0
  23. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/MANIFEST.in +0 -0
  24. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/legal/GPL-3.0.txt +0 -0
  25. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/setup.cfg +0 -0
  26. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/__init__.py +0 -0
  27. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/coder_comparison.py +0 -0
  28. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/cursors.py +0 -0
  29. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/preview_tokens.py +0 -0
  30. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/pseudonymise.py +0 -0
  31. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/refi_export.py +0 -0
  32. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/sessions.py +0 -0
  33. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/dependency_links.txt +0 -0
  34. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/entry_points.txt +0 -0
  35. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/requires.txt +0 -0
  36. {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/top_level.txt +0 -0
@@ -1,8 +1,9 @@
1
1
  Exegete
2
2
  =======
3
3
 
4
- A Model Context Protocol server for QualCoder qualitative data analysis
5
- projects.
4
+ A qualitative analysis application you use in conversation with an AI
5
+ assistant, compatible with QualCoder. It runs as a Model Context Protocol
6
+ server.
6
7
 
7
8
  Copyright (C) 2025-2026 Niccolò Tempini
8
9
 
@@ -33,8 +34,8 @@ LGPL-3.0-or-later, whatever those releases declared.
33
34
  Code derived from QualCoder
34
35
  ===========================
35
36
 
36
- Exegete is a separate program that reads and writes the project
37
- files of QualCoder (https://github.com/ccbogel/QualCoder). It does not
37
+ Exegete is a separate program that reads and writes projects in the
38
+ file format of QualCoder (https://github.com/ccbogel/QualCoder). It does not
38
39
  include QualCoder, but it contains a small number of routines and values
39
40
  taken from QualCoder so that its results match QualCoder's exactly, and
40
41
  it restates facts of QualCoder's file format so that projects stay
@@ -55,8 +56,8 @@ How to read an entry. "Here" is the file in this repository and the
55
56
  functions, classes or names that carry the item. "From" is the
56
57
  QualCoder file and lines, under src/qualcoder/ in QualCoder's master
57
58
  branch at commit 9bddf17f86aa457aff72c3a38dbc10a37f296ad2 unless marked
58
- 3.8.2 (the release tag) or given as at the root of QualCoder's
59
- repository. "Author", where given, is what QualCoder's file header or
59
+ 3.8.2 (the release tag), given as at the 4.0 tag (the release of 2
60
+ October 2026), or given as at the root of QualCoder's repository. "Author", where given, is what QualCoder's file header or
60
61
  git history records for those lines; how a git identity maps to a
61
62
  person is for the QualCoder project to confirm. "Why" is the reason the
62
63
  item was copied.
@@ -151,16 +152,30 @@ Routines in the package
151
152
  Why: a memo merged here reads exactly as one merged in QualCoder:
152
153
  the same labels, field order and joining of the two memos.
153
154
 
154
- 11. QualCoder 4.0's methodology vocabulary (closely ported)
155
+ 11. QualCoder 4.0's methodology vocabulary (closely ported), and the
156
+ order and ideas of four sections of the assistant's brief (followed
157
+ in this project's own words)
155
158
  Here: src/exegete/server.py, METHODOLOGY_VOCABULARY and
156
159
  explain_ai_coding_tools.
157
- From: ai_prompts/_agent.md, lines 81-88.
160
+ Here: src/exegete/server.py, BRIEF_FULL.
161
+ From: ai_prompts/_agent.md, lines 81-88; for the brief, the same
162
+ file on QualCoder's main branch at commit 67cbb8e (last changed at
163
+ bb71301, 1 September 2026), lines 5-10 (its principles), 46-58
164
+ (when to ask and when to act), 60-79 (reaching the data) and 92-110
165
+ (tone and proactiveness).
158
166
  Author: kaixxx (a git identity in QualCoder's history, which
159
167
  ai_memo.py's header gives as Kai Dröge's).
160
168
  Why: to offer the model QualCoder 4.0's four-way methodological gate
161
169
  (allow, allow_with_caveat, reframe_and_ask, refuse) in QualCoder's
162
170
  terms; the four labels are QualCoder's and their definitions a close
163
- paraphrase of its prompt.
171
+ paraphrase of its prompt. The brief's sections 2 (principles), 12
172
+ (when to ask and when to act), 10 (finding one's way in the data)
173
+ and 13 (reporting to the researcher) follow those four sections of
174
+ QualCoder's brief for its own assistant, in order and in idea, in
175
+ this project's own words: no run of more than four words is shared
176
+ with QualCoder's file, and where this program differs by design (the
177
+ approval of each item, working only through the tools) the brief
178
+ says so.
164
179
 
165
180
  12. QualCoder's journal-name loop (closely ported)
166
181
  Here: src/exegete/server.py, _pseudonymise_journal_attempt.
@@ -650,12 +665,12 @@ QualCoder projects.
650
665
  Here: tests/fixtures/qc40_new_project.json.
651
666
  Here: tests/test_v014_create_project_format.py,
652
667
  TestTheOracleItself.test_the_fixture_is_four_point_zero_s_project.
653
- From: the project QualCoder 4.0's own New Project (__main__.py,
654
- lines 1745-1896) wrote at the verified commit, recorded as facts
655
- (objects, columns, indexes, header fields, first rows and what the
656
- views return); it holds no QualCoder source text. The test pins
657
- the fixture's counts and its project row, whose about value
658
- QualCoder takes from app.py, line 108.
668
+ From: the project QualCoder 4.0's own New Project (at the 4.0 tag,
669
+ __main__.py, lines 2141-2330) wrote, recorded as facts (objects,
670
+ columns, indexes, header fields, first rows and what the views
671
+ return); it holds no QualCoder source text. The test pins the
672
+ fixture's counts and its project row, whose about value QualCoder
673
+ takes from app.py, line 119 at the same tag.
659
674
  Why: the format tests compare every project this server creates
660
675
  with it.
661
676