specsmith 0.3.0.dev128__tar.gz → 0.3.0.dev132__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.dev128/src/specsmith.egg-info → specsmith-0.3.0.dev132}/PKG-INFO +7 -3
  2. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/pyproject.toml +7 -2
  3. specsmith-0.3.0.dev132/src/specsmith/agent/optimizer.py +902 -0
  4. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/providers/__init__.py +12 -2
  5. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/providers/anthropic.py +36 -4
  6. specsmith-0.3.0.dev132/src/specsmith/agent/providers/mistral.py +175 -0
  7. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/runner.py +64 -16
  8. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/tools.py +300 -0
  9. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/cli.py +164 -0
  10. specsmith-0.3.0.dev132/src/specsmith/gui/__init__.py +9 -0
  11. specsmith-0.3.0.dev132/src/specsmith/gui/app.py +50 -0
  12. specsmith-0.3.0.dev132/src/specsmith/gui/main_window.py +317 -0
  13. specsmith-0.3.0.dev132/src/specsmith/gui/session_tab.py +346 -0
  14. specsmith-0.3.0.dev132/src/specsmith/gui/theme.py +369 -0
  15. specsmith-0.3.0.dev132/src/specsmith/gui/widgets/__init__.py +3 -0
  16. specsmith-0.3.0.dev132/src/specsmith/gui/widgets/chat_view.py +230 -0
  17. specsmith-0.3.0.dev132/src/specsmith/gui/widgets/input_bar.py +227 -0
  18. specsmith-0.3.0.dev132/src/specsmith/gui/widgets/provider_bar.py +150 -0
  19. specsmith-0.3.0.dev132/src/specsmith/gui/widgets/token_meter.py +132 -0
  20. specsmith-0.3.0.dev132/src/specsmith/gui/widgets/tool_panel.py +117 -0
  21. specsmith-0.3.0.dev132/src/specsmith/gui/widgets/update_checker.py +81 -0
  22. specsmith-0.3.0.dev132/src/specsmith/gui/worker.py +230 -0
  23. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132/src/specsmith.egg-info}/PKG-INFO +7 -3
  24. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith.egg-info/SOURCES.txt +16 -0
  25. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith.egg-info/requires.txt +7 -1
  26. specsmith-0.3.0.dev132/tests/test_optimizer.py +511 -0
  27. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/LICENSE +0 -0
  28. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/README.md +0 -0
  29. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/setup.cfg +0 -0
  30. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/__init__.py +0 -0
  31. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/belief.py +0 -0
  32. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/certainty.py +0 -0
  33. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/failure_graph.py +0 -0
  34. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/py.typed +0 -0
  35. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/recovery.py +0 -0
  36. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/session.py +0 -0
  37. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/stress_tester.py +0 -0
  38. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/epistemic/trace.py +0 -0
  39. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/__init__.py +0 -0
  40. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/__main__.py +0 -0
  41. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/__init__.py +0 -0
  42. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/core.py +0 -0
  43. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/hooks.py +0 -0
  44. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/profiles/epistemic-auditor.md +0 -0
  45. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/profiles/planner.md +0 -0
  46. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/profiles/verifier.md +0 -0
  47. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/providers/gemini.py +0 -0
  48. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/providers/ollama.py +0 -0
  49. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/providers/openai.py +0 -0
  50. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/agent/skills.py +0 -0
  51. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/architect.py +0 -0
  52. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/auditor.py +0 -0
  53. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/auth.py +0 -0
  54. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/commands/__init__.py +0 -0
  55. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/compressor.py +0 -0
  56. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/config.py +0 -0
  57. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/credit_analyzer.py +0 -0
  58. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/credits.py +0 -0
  59. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/differ.py +0 -0
  60. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/doctor.py +0 -0
  61. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/epistemic/__init__.py +0 -0
  62. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/epistemic/belief.py +0 -0
  63. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/epistemic/certainty.py +0 -0
  64. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/epistemic/failure_graph.py +0 -0
  65. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/epistemic/recovery.py +0 -0
  66. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/epistemic/stress_tester.py +0 -0
  67. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/executor.py +0 -0
  68. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/exporter.py +0 -0
  69. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/importer.py +0 -0
  70. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/__init__.py +0 -0
  71. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/aider.py +0 -0
  72. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/base.py +0 -0
  73. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/claude_code.py +0 -0
  74. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/copilot.py +0 -0
  75. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/cursor.py +0 -0
  76. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/gemini.py +0 -0
  77. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/warp.py +0 -0
  78. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/integrations/windsurf.py +0 -0
  79. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/ledger.py +0 -0
  80. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/patent.py +0 -0
  81. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/plugins.py +0 -0
  82. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/rate_limits.py +0 -0
  83. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/releaser.py +0 -0
  84. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/requirements.py +0 -0
  85. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/scaffolder.py +0 -0
  86. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/session.py +0 -0
  87. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/agents.md.j2 +0 -0
  88. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
  89. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
  90. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/community/contributing.md.j2 +0 -0
  91. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
  92. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
  93. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/community/license-MIT.j2 +0 -0
  94. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
  95. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/community/security.md.j2 +0 -0
  96. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
  97. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
  98. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
  99. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
  100. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
  101. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/docs/workflow.md.j2 +0 -0
  102. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/editorconfig.j2 +0 -0
  103. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/gitattributes.j2 +0 -0
  104. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/gitignore.j2 +0 -0
  105. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/go/go.mod.j2 +0 -0
  106. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/go/main.go.j2 +0 -0
  107. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
  108. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
  109. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
  110. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
  111. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
  112. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/roles.md.j2 +0 -0
  113. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/rules.md.j2 +0 -0
  114. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
  115. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/verification.md.j2 +0 -0
  116. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/governance/workflow.md.j2 +0 -0
  117. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/js/package.json.j2 +0 -0
  118. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/ledger.md.j2 +0 -0
  119. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/python/cli.py.j2 +0 -0
  120. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/python/init.py.j2 +0 -0
  121. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
  122. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/readme.md.j2 +0 -0
  123. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
  124. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/rust/main.rs.j2 +0 -0
  125. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
  126. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
  127. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
  128. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
  129. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
  130. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
  131. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
  132. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/tools.py +0 -0
  133. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/trace.py +0 -0
  134. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/updater.py +0 -0
  135. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/upgrader.py +0 -0
  136. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/validator.py +0 -0
  137. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/vcs/__init__.py +0 -0
  138. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/vcs/base.py +0 -0
  139. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/vcs/bitbucket.py +0 -0
  140. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/vcs/github.py +0 -0
  141. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/vcs/gitlab.py +0 -0
  142. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/vcs_commands.py +0 -0
  143. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith/workspace.py +0 -0
  144. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith.egg-info/dependency_links.txt +0 -0
  145. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith.egg-info/entry_points.txt +0 -0
  146. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/src/specsmith.egg-info/top_level.txt +0 -0
  147. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_auditor.py +0 -0
  148. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_cli.py +0 -0
  149. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_compressor.py +0 -0
  150. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_epistemic.py +0 -0
  151. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_importer.py +0 -0
  152. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_integrations.py +0 -0
  153. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_rate_limits.py +0 -0
  154. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_scaffolder.py +0 -0
  155. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_smoke.py +0 -0
  156. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_tools.py +0 -0
  157. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/tests/test_validator.py +0 -0
  158. {specsmith-0.3.0.dev128 → specsmith-0.3.0.dev132}/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.dev128
3
+ Version: 0.3.0.dev132
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
@@ -41,12 +41,16 @@ Requires-Dist: types-pyyaml>=6.0; extra == "dev"
41
41
  Provides-Extra: docs
42
42
  Requires-Dist: mkdocs>=1.6; extra == "docs"
43
43
  Requires-Dist: mkdocs-material>=9.5; extra == "docs"
44
- Provides-Extra: anthopic
45
- Requires-Dist: anthropic>=0.56; extra == "anthopic"
44
+ Provides-Extra: anthropic
45
+ Requires-Dist: anthropic>=0.56; extra == "anthropic"
46
46
  Provides-Extra: openai
47
47
  Requires-Dist: openai>=1.0; extra == "openai"
48
48
  Provides-Extra: gemini
49
49
  Requires-Dist: google-generativeai>=0.8; extra == "gemini"
50
+ Provides-Extra: mistral
51
+ Requires-Dist: openai>=1.0; extra == "mistral"
52
+ Provides-Extra: gui
53
+ Requires-Dist: PySide6>=6.6; extra == "gui"
50
54
  Provides-Extra: agent
51
55
  Requires-Dist: anthropic>=0.56; extra == "agent"
52
56
  Requires-Dist: openai>=1.0; extra == "agent"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "specsmith"
7
- version = "0.3.0.dev128"
7
+ version = "0.3.0.dev132"
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"
@@ -55,9 +55,11 @@ docs = [
55
55
  "mkdocs-material>=9.5",
56
56
  ]
57
57
  # LLM provider extras for specsmith run (agentic client)
58
- anthopic = ["anthropic>=0.56"]
58
+ anthropic = ["anthropic>=0.56"]
59
59
  openai = ["openai>=1.0"]
60
60
  gemini = ["google-generativeai>=0.8"]
61
+ mistral = ["openai>=1.0"] # Mistral uses the openai SDK pointed at api.mistral.ai
62
+ gui = ["PySide6>=6.6"]
61
63
  # Install all optional LLM providers
62
64
  agent = ["anthropic>=0.56", "openai>=1.0"]
63
65
  # Convenience bundle: everything
@@ -99,6 +101,9 @@ python_version = "3.10"
99
101
  strict = true
100
102
  warn_return_any = true
101
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"]
102
107
 
103
108
  [tool.pytest.ini_options]
104
109
  testpaths = ["tests"]