renderers 0.1.13.dev5__tar.gz → 0.1.13.dev7__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 (97) hide show
  1. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/PKG-INFO +1 -1
  2. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/_version.py +2 -2
  3. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/client.py +6 -3
  4. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/.github/workflows/publish-dev.yml +0 -0
  5. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/.github/workflows/publish.yml +0 -0
  6. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/.github/workflows/style.yml +0 -0
  7. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/.github/workflows/test.yml +0 -0
  8. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/.gitignore +0 -0
  9. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/.pre-commit-config.yaml +0 -0
  10. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/LICENSE +0 -0
  11. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/README.md +0 -0
  12. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/docs/renderer-config.md +0 -0
  13. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/examples/README.md +0 -0
  14. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/examples/sglang/multiturn_generate_sglang.py +0 -0
  15. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/examples/sglang/online_multiturn_sglang.py +0 -0
  16. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/examples/tinker/multiturn_generate_tinker.py +0 -0
  17. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/examples/transformers/multiturn_generate_transformers.py +0 -0
  18. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/examples/vllm/multiturn_generate_vllm.py +0 -0
  19. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/pyproject.toml +0 -0
  20. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/__init__.py +0 -0
  21. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/base.py +0 -0
  22. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/configs.py +0 -0
  23. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/custom.py +0 -0
  24. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/deepseek_r1.py +0 -0
  25. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/deepseek_v3.py +0 -0
  26. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/deepseek_v4.py +0 -0
  27. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/default.py +0 -0
  28. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/gemma4.py +0 -0
  29. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/glm45.py +0 -0
  30. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/glm5.py +0 -0
  31. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/gpt_oss.py +0 -0
  32. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/hy3.py +0 -0
  33. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/inkling.py +0 -0
  34. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/kimi_k2.py +0 -0
  35. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/kimi_k25.py +0 -0
  36. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/laguna_s21.py +0 -0
  37. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/laguna_xs2.py +0 -0
  38. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/llama_3.py +0 -0
  39. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/minimax_m2.py +0 -0
  40. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/nemotron3.py +0 -0
  41. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/parsers.py +0 -0
  42. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/parsing.py +0 -0
  43. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/prime_qwen3.py +0 -0
  44. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/qwen3.py +0 -0
  45. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/qwen35.py +0 -0
  46. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/qwen36.py +0 -0
  47. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/qwen38.py +0 -0
  48. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/qwen3_vl.py +0 -0
  49. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/reasoning.py +0 -0
  50. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/renderers/tagged.py +0 -0
  51. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/audit_prefix_stability.py +0 -0
  52. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/conftest.py +0 -0
  53. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/fixtures/prefix_stability.json +0 -0
  54. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/parity.py +0 -0
  55. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/reference_continuations.py +0 -0
  56. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/reference_rendering.py +0 -0
  57. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/replay.py +0 -0
  58. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_bridge.py +0 -0
  59. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_build_helpers.py +0 -0
  60. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_client.py +0 -0
  61. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_custom.py +0 -0
  62. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_deepseek_r1.py +0 -0
  63. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_deepseek_v4.py +0 -0
  64. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_disabled_thinking_stability.py +0 -0
  65. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_gemma4.py +0 -0
  66. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_glm53_flash.py +0 -0
  67. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_glm_tool_name_validation.py +0 -0
  68. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_hy3.py +0 -0
  69. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_incremental.py +0 -0
  70. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_inkling.py +0 -0
  71. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_is_content.py +0 -0
  72. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_kimi_k25_tool_schema.py +0 -0
  73. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_laguna_m1.py +0 -0
  74. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_laguna_xs21.py +0 -0
  75. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_llama_3.py +0 -0
  76. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_load_tokenizer.py +0 -0
  77. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_message_indices.py +0 -0
  78. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_message_tool_names.py +0 -0
  79. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_multimodal.py +0 -0
  80. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_nemotron35_vlm.py +0 -0
  81. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_nemotron3_ultra.py +0 -0
  82. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_offsetless_tokenizers.py +0 -0
  83. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_parity.py +0 -0
  84. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_parse_response.py +0 -0
  85. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_parse_response_robustness.py +0 -0
  86. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_parsers.py +0 -0
  87. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_preserve_thinking.py +0 -0
  88. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_qwen35_size_coverage.py +0 -0
  89. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_qwen38.py +0 -0
  90. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_reasoning_boundaries.py +0 -0
  91. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_renderer_config.py +0 -0
  92. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_roundtrip.py +0 -0
  93. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_sampled_mask.py +0 -0
  94. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_tagged_rollout.py +0 -0
  95. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_tokens_per_message.py +0 -0
  96. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/tests/test_tool_arg_type_preservation.py +0 -0
  97. {renderers-0.1.13.dev5 → renderers-0.1.13.dev7}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: renderers
3
- Version: 0.1.13.dev5
3
+ Version: 0.1.13.dev7
4
4
  Summary: Chat template renderers — deterministic message-to-token conversion for LLM training
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.1.13.dev5'
22
- __version_tuple__ = version_tuple = (0, 1, 13, 'dev5')
21
+ __version__ = version = '0.1.13.dev7'
22
+ __version_tuple__ = version_tuple = (0, 1, 13, 'dev7')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -261,9 +261,11 @@ async def generate(
261
261
  Returns a dict with: request_id, prompt_ids, renderer_prompt_ids,
262
262
  mm_placeholders, completion_ids, completion_logprobs, content,
263
263
  reasoning_content, tool_calls, finish_reason, routed_experts,
264
- multi_modal_data, prompt_attribution. ``renderer_prompt_ids`` is the
265
- unexpanded logical prompt when ``process_multimodal=False`` and ``None``
266
- otherwise.
264
+ weight_versions, multi_modal_data, prompt_attribution.
265
+ ``renderer_prompt_ids`` is the unexpanded logical prompt when
266
+ ``process_multimodal=False`` and ``None`` otherwise. ``weight_versions``
267
+ is vLLM's (>= 0.32) list of ``{version, start, end}`` spans over
268
+ completion-token indexes, or ``None`` when the engine labels none.
267
269
 
268
270
  ``prompt_attribution`` is the renderer's :class:`RenderedTokens` for
269
271
  the prompt — either the one this call computed via
@@ -431,6 +433,7 @@ async def generate(
431
433
  "reasoning_complete": parsed.reasoning_complete,
432
434
  "routed_experts": routed_experts,
433
435
  "sampling_mask": sampling_mask,
436
+ "weight_versions": choice.get("weight_versions"),
434
437
  # The mm sidecar consumed on the request side, surfaced back so
435
438
  # callers can persist it on the trajectory step for downstream
436
439
  # multi-turn bridging and training-sample construction.
File without changes
File without changes