renderers 0.1.12.dev10__tar.gz → 0.1.12.dev11__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 (88) hide show
  1. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/PKG-INFO +1 -1
  2. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/_version.py +2 -2
  3. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/client.py +3 -2
  4. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_client.py +1 -0
  5. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/.github/workflows/publish-dev.yml +0 -0
  6. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/.github/workflows/publish.yml +0 -0
  7. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/.github/workflows/style.yml +0 -0
  8. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/.github/workflows/test.yml +0 -0
  9. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/.gitignore +0 -0
  10. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/.pre-commit-config.yaml +0 -0
  11. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/LICENSE +0 -0
  12. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/README.md +0 -0
  13. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/docs/renderer-config.md +0 -0
  14. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/examples/README.md +0 -0
  15. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/examples/sglang/multiturn_generate_sglang.py +0 -0
  16. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/examples/sglang/online_multiturn_sglang.py +0 -0
  17. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/examples/tinker/multiturn_generate_tinker.py +0 -0
  18. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/examples/transformers/multiturn_generate_transformers.py +0 -0
  19. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/examples/vllm/multiturn_generate_vllm.py +0 -0
  20. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/pyproject.toml +0 -0
  21. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/__init__.py +0 -0
  22. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/base.py +0 -0
  23. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/configs.py +0 -0
  24. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/deepseek_r1.py +0 -0
  25. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/deepseek_v3.py +0 -0
  26. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/deepseek_v4.py +0 -0
  27. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/default.py +0 -0
  28. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/gemma4.py +0 -0
  29. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/glm45.py +0 -0
  30. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/glm5.py +0 -0
  31. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/gpt_oss.py +0 -0
  32. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/hy3.py +0 -0
  33. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/inkling.py +0 -0
  34. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/kimi_k2.py +0 -0
  35. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/kimi_k25.py +0 -0
  36. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/laguna_s21.py +0 -0
  37. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/laguna_xs2.py +0 -0
  38. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/llama_3.py +0 -0
  39. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/minimax_m2.py +0 -0
  40. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/nemotron3.py +0 -0
  41. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/parsers.py +0 -0
  42. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/parsing.py +0 -0
  43. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/prime_qwen3.py +0 -0
  44. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/qwen3.py +0 -0
  45. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/qwen35.py +0 -0
  46. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/qwen36.py +0 -0
  47. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/qwen38.py +0 -0
  48. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/qwen3_vl.py +0 -0
  49. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/renderers/reasoning.py +0 -0
  50. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/conftest.py +0 -0
  51. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/parity.py +0 -0
  52. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/reference_rendering.py +0 -0
  53. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_bridge.py +0 -0
  54. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_build_helpers.py +0 -0
  55. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_deepseek_r1.py +0 -0
  56. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_deepseek_v4.py +0 -0
  57. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_disabled_thinking_stability.py +0 -0
  58. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_gemma4.py +0 -0
  59. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_glm_tool_name_validation.py +0 -0
  60. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_hy3.py +0 -0
  61. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_incremental.py +0 -0
  62. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_inkling.py +0 -0
  63. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_is_content.py +0 -0
  64. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_kimi_k25_tool_schema.py +0 -0
  65. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_laguna_m1.py +0 -0
  66. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_laguna_xs21.py +0 -0
  67. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_llama_3.py +0 -0
  68. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_load_tokenizer.py +0 -0
  69. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_message_indices.py +0 -0
  70. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_message_tool_names.py +0 -0
  71. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_multimodal.py +0 -0
  72. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_nemotron35_vlm.py +0 -0
  73. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_nemotron3_ultra.py +0 -0
  74. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_offsetless_tokenizers.py +0 -0
  75. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_parity.py +0 -0
  76. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_parse_response.py +0 -0
  77. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_parse_response_robustness.py +0 -0
  78. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_parsers.py +0 -0
  79. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_preserve_thinking.py +0 -0
  80. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_qwen35_size_coverage.py +0 -0
  81. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_qwen38.py +0 -0
  82. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_reasoning_boundaries.py +0 -0
  83. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_renderer_config.py +0 -0
  84. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_roundtrip.py +0 -0
  85. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_sampled_mask.py +0 -0
  86. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_tokens_per_message.py +0 -0
  87. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/tests/test_tool_arg_type_preservation.py +0 -0
  88. {renderers-0.1.12.dev10 → renderers-0.1.12.dev11}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: renderers
3
- Version: 0.1.12.dev10
3
+ Version: 0.1.12.dev11
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.12.dev10'
22
- __version_tuple__ = version_tuple = (0, 1, 12, 'dev10')
21
+ __version__ = version = '0.1.12.dev11'
22
+ __version_tuple__ = version_tuple = (0, 1, 12, 'dev11')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -224,8 +224,8 @@ async def generate(
224
224
  mm_placeholders, kwargs_data) before POSTing. The serializer imports
225
225
  ``vllm.*`` lazily so text-only consumers never pay for the import.
226
226
  With ``process_multimodal=False``, rendering skips image processing and
227
- the request carries ``content_parts`` instead; vLLM must return the
228
- expanded prompt as ``prompt_token_ids``.
227
+ the request carries ``content_parts`` with ``return_token_ids=true``;
228
+ vLLM returns the expanded prompt and multimodal placeholder ranges.
229
229
 
230
230
  ``max_prompt_len`` controls the pre-flight overflow check. When the
231
231
  rendered prompt is strictly longer than the cap, the request is never
@@ -325,6 +325,7 @@ async def generate(
325
325
  )
326
326
  if content_parts:
327
327
  body["content_parts"] = content_parts
328
+ body["return_token_ids"] = True
328
329
  if features is not None:
329
330
  body["features"] = features
330
331
  if cache_salt is not None:
@@ -240,6 +240,7 @@ def test_generate_process_multimodal_false_sends_content_parts():
240
240
 
241
241
  body = client.calls[0]["body"]
242
242
  assert body["content_parts"] == [{"type": "image_url", "url": image_url}]
243
+ assert body["return_token_ids"] is True
243
244
  assert "features" not in body
244
245
  assert result["renderer_prompt_ids"] == [1, 2, 3]
245
246
  assert result["prompt_ids"] == [1, 2, 2, 3]