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.
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/NOTICE +30 -15
- exegete-0.14.2a0/PKG-INFO +633 -0
- exegete-0.14.2a0/README.md +597 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/pyproject.toml +7 -4
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/database.py +38 -25
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/env_settings.py +20 -1
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/memo_privacy.py +7 -6
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/names.py +11 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/new_project.py +16 -13
- exegete-0.14.2a0/src/exegete/path_identity.py +83 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/project_settings.py +132 -10
- exegete-0.14.2a0/src/exegete/release.py +27 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/server.py +880 -363
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/state_folder.py +6 -6
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/transition.py +448 -74
- exegete-0.14.2a0/src/exegete/updates.py +1342 -0
- exegete-0.14.2a0/src/exegete.egg-info/PKG-INFO +633 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/SOURCES.txt +3 -0
- exegete-0.14.1a0.dev1/PKG-INFO +0 -515
- exegete-0.14.1a0.dev1/README.md +0 -479
- exegete-0.14.1a0.dev1/src/exegete.egg-info/PKG-INFO +0 -515
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/COPYING.LESSER +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/MANIFEST.in +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/legal/GPL-3.0.txt +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/setup.cfg +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/__init__.py +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/coder_comparison.py +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/cursors.py +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/preview_tokens.py +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/pseudonymise.py +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/refi_export.py +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete/sessions.py +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/dependency_links.txt +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/entry_points.txt +0 -0
- {exegete-0.14.1a0.dev1 → exegete-0.14.2a0}/src/exegete.egg-info/requires.txt +0 -0
- {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
|
|
5
|
-
|
|
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
|
|
37
|
-
|
|
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)
|
|
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
|
-
|
|
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 (
|
|
654
|
-
lines
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
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
|
|