prompture 0.0.51.dev2__tar.gz → 0.0.52.dev1__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 (150) hide show
  1. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/PKG-INFO +1 -1
  2. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/ROADMAP.md +61 -0
  3. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/_version.py +2 -2
  4. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture.egg-info/PKG-INFO +1 -1
  5. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/add-driver/SKILL.md +0 -0
  6. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/add-driver/references/driver-template.md +0 -0
  7. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/add-example/SKILL.md +0 -0
  8. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/add-field/SKILL.md +0 -0
  9. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/add-persona/SKILL.md +0 -0
  10. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/add-test/SKILL.md +0 -0
  11. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/add-tool/SKILL.md +0 -0
  12. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/run-tests/SKILL.md +0 -0
  13. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/scaffold-extraction/SKILL.md +0 -0
  14. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.claude/skills/update-pricing/SKILL.md +0 -0
  15. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.env.copy +0 -0
  16. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.github/FUNDING.yml +0 -0
  17. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.github/scripts/update_docs_version.py +0 -0
  18. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.github/scripts/update_wrapper_version.py +0 -0
  19. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.github/workflows/dev.yml +0 -0
  20. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.github/workflows/documentation.yml +0 -0
  21. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/.github/workflows/publish.yml +0 -0
  22. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/CLAUDE.md +0 -0
  23. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/LICENSE +0 -0
  24. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/MANIFEST.in +0 -0
  25. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/README.md +0 -0
  26. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/_static/custom.css +0 -0
  27. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/_templates/footer.html +0 -0
  28. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/api/core.rst +0 -0
  29. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/api/drivers.rst +0 -0
  30. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/api/field_definitions.rst +0 -0
  31. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/api/index.rst +0 -0
  32. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/api/runner.rst +0 -0
  33. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/api/tools.rst +0 -0
  34. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/api/validator.rst +0 -0
  35. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/conf.py +0 -0
  36. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/contributing.rst +0 -0
  37. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/examples.rst +0 -0
  38. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/field_definitions_reference.rst +0 -0
  39. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/index.rst +0 -0
  40. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/installation.rst +0 -0
  41. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/quickstart.rst +0 -0
  42. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/docs/source/toon_input_guide.rst +0 -0
  43. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/README.md +0 -0
  44. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/llm_to_json/README.md +0 -0
  45. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/llm_to_json/llm_to_json/__init__.py +0 -0
  46. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/llm_to_json/pyproject.toml +0 -0
  47. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/llm_to_json/test.py +0 -0
  48. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/llm_to_toon/README.md +0 -0
  49. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/llm_to_toon/llm_to_toon/__init__.py +0 -0
  50. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/llm_to_toon/pyproject.toml +0 -0
  51. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/packages/llm_to_toon/test.py +0 -0
  52. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/__init__.py +0 -0
  53. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/agent.py +0 -0
  54. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/agent_types.py +0 -0
  55. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/aio/__init__.py +0 -0
  56. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/analysis/__init__.py +0 -0
  57. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/analysis/analyzer.py +0 -0
  58. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/analysis/ast_visitors.py +0 -0
  59. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/analysis/risk_scoring.py +0 -0
  60. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/async_agent.py +0 -0
  61. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/async_conversation.py +0 -0
  62. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/async_core.py +0 -0
  63. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/async_driver.py +0 -0
  64. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/async_groups.py +0 -0
  65. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/cache.py +0 -0
  66. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/callbacks.py +0 -0
  67. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/cli.py +0 -0
  68. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/conversation.py +0 -0
  69. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/core.py +0 -0
  70. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/cost_mixin.py +0 -0
  71. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/discovery.py +0 -0
  72. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/driver.py +0 -0
  73. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/__init__.py +0 -0
  74. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/airllm_driver.py +0 -0
  75. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_airllm_driver.py +0 -0
  76. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_azure_driver.py +0 -0
  77. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_claude_driver.py +0 -0
  78. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_google_driver.py +0 -0
  79. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_grok_driver.py +0 -0
  80. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_groq_driver.py +0 -0
  81. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_hugging_driver.py +0 -0
  82. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_lmstudio_driver.py +0 -0
  83. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_local_http_driver.py +0 -0
  84. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_modelscope_driver.py +0 -0
  85. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_moonshot_driver.py +0 -0
  86. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_ollama_driver.py +0 -0
  87. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_openai_driver.py +0 -0
  88. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_openrouter_driver.py +0 -0
  89. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_registry.py +0 -0
  90. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/async_zai_driver.py +0 -0
  91. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/azure_config.py +0 -0
  92. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/azure_driver.py +0 -0
  93. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/claude_driver.py +0 -0
  94. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/google_driver.py +0 -0
  95. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/grok_driver.py +0 -0
  96. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/groq_driver.py +0 -0
  97. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/hugging_driver.py +0 -0
  98. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/lmstudio_driver.py +0 -0
  99. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/local_http_driver.py +0 -0
  100. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/modelscope_driver.py +0 -0
  101. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/moonshot_driver.py +0 -0
  102. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/ollama_driver.py +0 -0
  103. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/openai_driver.py +0 -0
  104. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/openrouter_driver.py +0 -0
  105. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/registry.py +0 -0
  106. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/vision_helpers.py +0 -0
  107. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/drivers/zai_driver.py +0 -0
  108. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/field_definitions.py +0 -0
  109. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/group_types.py +0 -0
  110. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/groups.py +0 -0
  111. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/history.py +0 -0
  112. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/image.py +0 -0
  113. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/ledger.py +0 -0
  114. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/logging.py +0 -0
  115. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/model_rates.py +0 -0
  116. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/persistence.py +0 -0
  117. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/persona.py +0 -0
  118. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/runner.py +0 -0
  119. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/sandbox/__init__.py +0 -0
  120. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/sandbox/exceptions.py +0 -0
  121. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/sandbox/resource_limits.py +0 -0
  122. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/sandbox/restrictions.py +0 -0
  123. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/sandbox/sandbox.py +0 -0
  124. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/__init__.py +0 -0
  125. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/generator.py +0 -0
  126. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/templates/Dockerfile.j2 +0 -0
  127. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/templates/README.md.j2 +0 -0
  128. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/templates/config.py.j2 +0 -0
  129. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/templates/env.example.j2 +0 -0
  130. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/templates/main.py.j2 +0 -0
  131. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/templates/models.py.j2 +0 -0
  132. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/scaffold/templates/requirements.txt.j2 +0 -0
  133. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/serialization.py +0 -0
  134. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/server.py +0 -0
  135. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/session.py +0 -0
  136. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/settings.py +0 -0
  137. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/simulated_tools.py +0 -0
  138. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/tools.py +0 -0
  139. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/tools_schema.py +0 -0
  140. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture/validator.py +0 -0
  141. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture.egg-info/SOURCES.txt +0 -0
  142. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture.egg-info/dependency_links.txt +0 -0
  143. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture.egg-info/entry_points.txt +0 -0
  144. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture.egg-info/requires.txt +0 -0
  145. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/prompture.egg-info/top_level.txt +0 -0
  146. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/pyproject.toml +0 -0
  147. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/requirements.txt +0 -0
  148. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/setup.cfg +0 -0
  149. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/test.py +0 -0
  150. {prompture-0.0.51.dev2 → prompture-0.0.52.dev1}/test_version_diagnosis.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prompture
3
- Version: 0.0.51.dev2
3
+ Version: 0.0.52.dev1
4
4
  Summary: Ask LLMs to return structured JSON and run cross-model tests. API-first.
5
5
  Author-email: Juan Denis <juan@vene.co>
6
6
  License-Expression: MIT
@@ -76,6 +76,67 @@
76
76
  - `serialization.py` (pure data transforms) and `persistence.py` (storage backends) modules
77
77
  - Full async support: mirrored on `AsyncConversation`
78
78
 
79
+ ### v0.0.38–v0.0.39: New Provider Drivers & Reasoning
80
+ - **Moonshot AI (Kimi) driver**: OpenAI-compatible API with vision, tool use, streaming; China endpoint support via `https://api.moonshot.cn/v1`
81
+ - **Z.ai (Zhipu GLM) driver**: Chinese LLM provider with GLM-4 models
82
+ - **ModelScope driver**: Alibaba Cloud AI models
83
+ - Async variants for all new drivers (`AsyncMoonshotDriver`, `AsyncZaiDriver`, `AsyncModelScopeDriver`)
84
+ - **Reasoning extraction**: `reasoning_content` field extracted from thinking models (Claude extended thinking, Moonshot kimi-thinking, DeepSeek R1)
85
+ - `last_reasoning` property on `Conversation` and `AsyncConversation` for accessing model's reasoning chain
86
+ - Reasoning support in Ollama and LM Studio drivers for local reasoning models
87
+ - Fallback pricing from OpenRouter for Moonshot models when models.dev data unavailable
88
+
89
+ ### v0.0.40–v0.0.41: Simulated Tools & Azure Multi-Backend
90
+ - **Simulated tool calling** (`simulated_tools.py`): Prompt-based tool use for drivers without native support
91
+ - `build_tool_prompt(tools)` generates tool descriptions for system prompt
92
+ - `parse_simulated_response(text)` extracts tool calls or final answers from JSON
93
+ - Enables tool use with any model via structured JSON response parsing
94
+ - **Azure multi-backend support** (`azure_config.py`):
95
+ - Per-model configuration: `register_azure_config("gpt-4o", {...})`
96
+ - Dynamic resolver: `set_azure_config_resolver(callback)`
97
+ - Backend classification: `classify_backend(model)` → `"openai"` | `"claude"` | `"mistral"`
98
+ - Routes Claude and Mistral models through Azure to their respective APIs
99
+ - Strict JSON schema preparation via `prepare_strict_schema()` for OpenAI-style `json_schema` mode
100
+ - `json_schema` response format support for Ollama and LM Studio drivers
101
+ - `shared_state` parameter and `inject_state()` method on group classes for explicit state management
102
+ - Tool use and streaming support added to Google Gemini drivers (sync and async)
103
+
104
+ ### v0.0.42–v0.0.43: Ledger, Discovery & Analysis
105
+ - **Persistent model usage ledger** (`ledger.py`):
106
+ - SQLite-backed tracking at `~/.prompture/usage/model_ledger.db`
107
+ - `record_model_usage(model, tokens, cost, status)` — fire-and-forget API
108
+ - `get_recently_used_models(limit)` — query recent usage
109
+ - Per-model stats: call count, total tokens, total cost, first/last used timestamps
110
+ - Thread-safe with internal locking
111
+ - **Model capability metadata**:
112
+ - `get_available_models(include_capabilities=True)` returns enriched dicts
113
+ - Capabilities include: context window, vision support, tool use, streaming, JSON mode
114
+ - `verified_only=True` filters to models with successful usage history
115
+ - Integration with models.dev live pricing cache
116
+ - **Code analysis module** (`prompture.analysis`):
117
+ - `analyze_python(source)` → `CodeAnalysis` with AST-based security assessment
118
+ - Feature extraction: imports, file ops, network calls, system calls, exec/eval usage
119
+ - Risk scoring: `RiskLevel.LOW`, `MEDIUM`, `HIGH`, `CRITICAL`
120
+ - `is_safe` determination based on configurable threshold
121
+ - **Python sandbox** (`prompture.sandbox`):
122
+ - `PythonSandbox` class for safe LLM-generated code execution
123
+ - Import restrictions via allowlist/blocklist with `ImportRestrictions`
124
+ - Path restrictions for file access with `PathRestrictions`
125
+ - Resource limits (timeout, memory) via `ResourceLimits`
126
+ - `SandboxResult` dataclass with output, error, return value, locals
127
+ - **History utilities** (`prompture.history`):
128
+ - `filter_steps(steps, step_type, tool_name, timestamp_range)` — filter AgentSteps
129
+ - `search_messages(messages, role, content_contains, has_tool_calls)` — search message history
130
+ - `get_tool_call_summary(result)` — summarize all tool calls with arguments and results
131
+ - `calculate_cost_breakdown(usage)` — detailed token/cost breakdown
132
+ - `export_result_json(result)` — serialize AgentResult to JSON
133
+
134
+ ### v1.0.0: Stable API Release
135
+ - Version bump to 1.0.0 indicating stable public API
136
+ - All core extraction, conversation, agent, and multi-agent features production-ready
137
+ - 15 provider drivers (sync + async): OpenAI, Claude, Google, Groq, Grok, Azure, Ollama, LM Studio, OpenRouter, HuggingFace, AirLLM, Local HTTP, Moonshot, Z.ai, ModelScope
138
+ - Comprehensive test coverage across all modules
139
+
79
140
  ---
80
141
 
81
142
  ## Upcoming
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.51.dev2'
32
- __version_tuple__ = version_tuple = (0, 0, 51, 'dev2')
31
+ __version__ = version = '0.0.52.dev1'
32
+ __version_tuple__ = version_tuple = (0, 0, 52, 'dev1')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prompture
3
- Version: 0.0.51.dev2
3
+ Version: 0.0.52.dev1
4
4
  Summary: Ask LLMs to return structured JSON and run cross-model tests. API-first.
5
5
  Author-email: Juan Denis <juan@vene.co>
6
6
  License-Expression: MIT
File without changes
File without changes