specsmith 0.3.0.dev129__tar.gz → 0.3.0.dev133__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 (158) hide show
  1. {specsmith-0.3.0.dev129/src/specsmith.egg-info → specsmith-0.3.0.dev133}/PKG-INFO +26 -4
  2. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/README.md +23 -3
  3. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/pyproject.toml +5 -1
  4. specsmith-0.3.0.dev133/src/specsmith/agent/optimizer.py +902 -0
  5. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/providers/anthropic.py +36 -4
  6. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/runner.py +59 -8
  7. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/cli.py +164 -0
  8. specsmith-0.3.0.dev133/src/specsmith/gui/__init__.py +9 -0
  9. specsmith-0.3.0.dev133/src/specsmith/gui/app.py +50 -0
  10. specsmith-0.3.0.dev133/src/specsmith/gui/main_window.py +317 -0
  11. specsmith-0.3.0.dev133/src/specsmith/gui/session_tab.py +346 -0
  12. specsmith-0.3.0.dev133/src/specsmith/gui/theme.py +369 -0
  13. specsmith-0.3.0.dev133/src/specsmith/gui/widgets/__init__.py +3 -0
  14. specsmith-0.3.0.dev133/src/specsmith/gui/widgets/chat_view.py +230 -0
  15. specsmith-0.3.0.dev133/src/specsmith/gui/widgets/input_bar.py +227 -0
  16. specsmith-0.3.0.dev133/src/specsmith/gui/widgets/provider_bar.py +150 -0
  17. specsmith-0.3.0.dev133/src/specsmith/gui/widgets/token_meter.py +132 -0
  18. specsmith-0.3.0.dev133/src/specsmith/gui/widgets/tool_panel.py +117 -0
  19. specsmith-0.3.0.dev133/src/specsmith/gui/widgets/update_checker.py +81 -0
  20. specsmith-0.3.0.dev133/src/specsmith/gui/worker.py +230 -0
  21. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/agents.md.j2 +13 -0
  22. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/updater.py +34 -8
  23. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133/src/specsmith.egg-info}/PKG-INFO +26 -4
  24. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith.egg-info/SOURCES.txt +15 -0
  25. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith.egg-info/requires.txt +3 -0
  26. specsmith-0.3.0.dev133/tests/test_optimizer.py +511 -0
  27. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/LICENSE +0 -0
  28. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/setup.cfg +0 -0
  29. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/__init__.py +0 -0
  30. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/belief.py +0 -0
  31. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/certainty.py +0 -0
  32. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/failure_graph.py +0 -0
  33. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/py.typed +0 -0
  34. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/recovery.py +0 -0
  35. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/session.py +0 -0
  36. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/stress_tester.py +0 -0
  37. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/epistemic/trace.py +0 -0
  38. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/__init__.py +0 -0
  39. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/__main__.py +0 -0
  40. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/__init__.py +0 -0
  41. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/core.py +0 -0
  42. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/hooks.py +0 -0
  43. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/profiles/epistemic-auditor.md +0 -0
  44. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/profiles/planner.md +0 -0
  45. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/profiles/verifier.md +0 -0
  46. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/providers/__init__.py +0 -0
  47. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/providers/gemini.py +0 -0
  48. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/providers/mistral.py +0 -0
  49. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/providers/ollama.py +0 -0
  50. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/providers/openai.py +0 -0
  51. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/skills.py +0 -0
  52. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/agent/tools.py +0 -0
  53. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/architect.py +0 -0
  54. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/auditor.py +0 -0
  55. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/auth.py +0 -0
  56. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/commands/__init__.py +0 -0
  57. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/compressor.py +0 -0
  58. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/config.py +0 -0
  59. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/credit_analyzer.py +0 -0
  60. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/credits.py +0 -0
  61. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/differ.py +0 -0
  62. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/doctor.py +0 -0
  63. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/epistemic/__init__.py +0 -0
  64. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/epistemic/belief.py +0 -0
  65. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/epistemic/certainty.py +0 -0
  66. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/epistemic/failure_graph.py +0 -0
  67. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/epistemic/recovery.py +0 -0
  68. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/epistemic/stress_tester.py +0 -0
  69. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/executor.py +0 -0
  70. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/exporter.py +0 -0
  71. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/importer.py +0 -0
  72. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/__init__.py +0 -0
  73. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/aider.py +0 -0
  74. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/base.py +0 -0
  75. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/claude_code.py +0 -0
  76. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/copilot.py +0 -0
  77. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/cursor.py +0 -0
  78. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/gemini.py +0 -0
  79. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/warp.py +0 -0
  80. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/integrations/windsurf.py +0 -0
  81. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/ledger.py +0 -0
  82. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/patent.py +0 -0
  83. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/plugins.py +0 -0
  84. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/rate_limits.py +0 -0
  85. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/releaser.py +0 -0
  86. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/requirements.py +0 -0
  87. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/scaffolder.py +0 -0
  88. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/session.py +0 -0
  89. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
  90. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
  91. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/community/contributing.md.j2 +0 -0
  92. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
  93. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
  94. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/community/license-MIT.j2 +0 -0
  95. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
  96. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/community/security.md.j2 +0 -0
  97. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
  98. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
  99. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
  100. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
  101. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
  102. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/docs/workflow.md.j2 +0 -0
  103. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/editorconfig.j2 +0 -0
  104. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/gitattributes.j2 +0 -0
  105. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/gitignore.j2 +0 -0
  106. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/go/go.mod.j2 +0 -0
  107. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/go/main.go.j2 +0 -0
  108. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
  109. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
  110. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
  111. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
  112. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
  113. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/roles.md.j2 +0 -0
  114. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/rules.md.j2 +0 -0
  115. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
  116. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/verification.md.j2 +0 -0
  117. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/governance/workflow.md.j2 +0 -0
  118. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/js/package.json.j2 +0 -0
  119. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/ledger.md.j2 +0 -0
  120. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/python/cli.py.j2 +0 -0
  121. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/python/init.py.j2 +0 -0
  122. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
  123. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/readme.md.j2 +0 -0
  124. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
  125. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/rust/main.rs.j2 +0 -0
  126. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
  127. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
  128. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
  129. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
  130. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
  131. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
  132. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
  133. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/tools.py +0 -0
  134. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/trace.py +0 -0
  135. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/upgrader.py +0 -0
  136. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/validator.py +0 -0
  137. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/vcs/__init__.py +0 -0
  138. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/vcs/base.py +0 -0
  139. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/vcs/bitbucket.py +0 -0
  140. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/vcs/github.py +0 -0
  141. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/vcs/gitlab.py +0 -0
  142. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/vcs_commands.py +0 -0
  143. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith/workspace.py +0 -0
  144. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith.egg-info/dependency_links.txt +0 -0
  145. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith.egg-info/entry_points.txt +0 -0
  146. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/src/specsmith.egg-info/top_level.txt +0 -0
  147. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_auditor.py +0 -0
  148. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_cli.py +0 -0
  149. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_compressor.py +0 -0
  150. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_epistemic.py +0 -0
  151. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_importer.py +0 -0
  152. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_integrations.py +0 -0
  153. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_rate_limits.py +0 -0
  154. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_scaffolder.py +0 -0
  155. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_smoke.py +0 -0
  156. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_tools.py +0 -0
  157. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_validator.py +0 -0
  158. {specsmith-0.3.0.dev129 → specsmith-0.3.0.dev133}/tests/test_vcs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specsmith
3
- Version: 0.3.0.dev129
3
+ Version: 0.3.0.dev133
4
4
  Summary: Applied Epistemic Engineering toolkit — forge epistemically-governed scaffolds, stress-test belief systems, and run AEE pipelines.
5
5
  Author: BitConcepts
6
6
  License-Expression: MIT
@@ -49,6 +49,8 @@ Provides-Extra: gemini
49
49
  Requires-Dist: google-generativeai>=0.8; extra == "gemini"
50
50
  Provides-Extra: mistral
51
51
  Requires-Dist: openai>=1.0; extra == "mistral"
52
+ Provides-Extra: gui
53
+ Requires-Dist: PySide6>=6.6; extra == "gui"
52
54
  Provides-Extra: agent
53
55
  Requires-Dist: anthropic>=0.56; extra == "agent"
54
56
  Requires-Dist: openai>=1.0; extra == "agent"
@@ -139,10 +141,30 @@ Every governed project follows: **propose → check → execute → verify → r
139
141
 
140
142
  ## Install
141
143
 
144
+ **Recommended — global install via [pipx](https://pipx.pypa.io) (isolated, no dependency conflicts):**
145
+
146
+ ```bash
147
+ pipx install specsmith # core CLI + epistemic library
148
+ pipx inject specsmith anthropic # + Claude support
149
+ pipx inject specsmith openai # + GPT / O-series support
150
+ pipx inject specsmith google-generativeai # + Gemini support
151
+ pipx inject specsmith PySide6 # + GUI (specsmith gui)
152
+ ```
153
+
154
+ **Or with pip (into your active environment):**
155
+
156
+ ```bash
157
+ pip install specsmith # core
158
+ pip install "specsmith[anthropic]" # + Claude
159
+ pip install "specsmith[openai]" # + GPT/O-series
160
+ pip install "specsmith[gui]" # + GUI
161
+ ```
162
+
163
+ **Update:**
164
+
142
165
  ```bash
143
- pip install specsmith # core + epistemic library
144
- pip install specsmith[anthropic] # + Claude support (specsmith run)
145
- pip install specsmith[openai] # + GPT/O-series support
166
+ pipx upgrade specsmith # pipx install
167
+ specsmith self-update # pip install
146
168
  ```
147
169
 
148
170
  ## Quick Start
@@ -76,10 +76,30 @@ Every governed project follows: **propose → check → execute → verify → r
76
76
 
77
77
  ## Install
78
78
 
79
+ **Recommended — global install via [pipx](https://pipx.pypa.io) (isolated, no dependency conflicts):**
80
+
81
+ ```bash
82
+ pipx install specsmith # core CLI + epistemic library
83
+ pipx inject specsmith anthropic # + Claude support
84
+ pipx inject specsmith openai # + GPT / O-series support
85
+ pipx inject specsmith google-generativeai # + Gemini support
86
+ pipx inject specsmith PySide6 # + GUI (specsmith gui)
87
+ ```
88
+
89
+ **Or with pip (into your active environment):**
90
+
91
+ ```bash
92
+ pip install specsmith # core
93
+ pip install "specsmith[anthropic]" # + Claude
94
+ pip install "specsmith[openai]" # + GPT/O-series
95
+ pip install "specsmith[gui]" # + GUI
96
+ ```
97
+
98
+ **Update:**
99
+
79
100
  ```bash
80
- pip install specsmith # core + epistemic library
81
- pip install specsmith[anthropic] # + Claude support (specsmith run)
82
- pip install specsmith[openai] # + GPT/O-series support
101
+ pipx upgrade specsmith # pipx install
102
+ specsmith self-update # pip install
83
103
  ```
84
104
 
85
105
  ## Quick Start
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "specsmith"
7
- version = "0.3.0.dev129"
7
+ version = "0.3.0.dev133"
8
8
  description = "Applied Epistemic Engineering toolkit — forge epistemically-governed scaffolds, stress-test belief systems, and run AEE pipelines."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -59,6 +59,7 @@ anthropic = ["anthropic>=0.56"]
59
59
  openai = ["openai>=1.0"]
60
60
  gemini = ["google-generativeai>=0.8"]
61
61
  mistral = ["openai>=1.0"] # Mistral uses the openai SDK pointed at api.mistral.ai
62
+ gui = ["PySide6>=6.6"]
62
63
  # Install all optional LLM providers
63
64
  agent = ["anthropic>=0.56", "openai>=1.0"]
64
65
  # Convenience bundle: everything
@@ -100,6 +101,9 @@ python_version = "3.10"
100
101
  strict = true
101
102
  warn_return_any = true
102
103
  warn_unused_configs = true
104
+ # GUI package requires PySide6, an optional extra not available in the mypy
105
+ # environment. Exclude it from type-checking to avoid false positives.
106
+ exclude = ["src/specsmith/gui"]
103
107
 
104
108
  [tool.pytest.ini_options]
105
109
  testpaths = ["tests"]