forked from PrimeIntellect-ai/renderers
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
78 lines (70 loc) · 2.46 KB
/
Copy pathpyproject.toml
File metadata and controls
78 lines (70 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[project]
name = "renderers"
# Derived from git tags by hatch-vcs (see [tool.hatch.version] below).
# Untagged commits get PEP 440 dev versions like ``0.1.8.dev3+g4c877be4``
# so any commit is uniquely installable; tagged commits get clean
# release versions like ``0.1.8``.
dynamic = ["version"]
description = "Chat template renderers — deterministic message-to-token conversion for LLM training"
readme = "README.md"
requires-python = ">=3.10,<3.14"
dependencies = [
"numpy",
"openai>=1.108.1",
"tiktoken",
"jinja2",
"transformers>=4.50.0",
# Used by GptOssRenderer to render and parse harmony tokens. Vendoring
# OpenAI's reference implementation keeps us byte-identical with vLLM
# (which also uses it) and saves us mirroring a 330-line Jinja template.
"openai-harmony>=0.0.8",
]
[tool.hatch.version]
source = "vcs"
# Tags look like ``renderers-v0.1.8`` (prefix matches the publish.yml
# release contract); strip the prefix to get a PEP 440 version. The
# regex accepts any PEP 440-valid suffix after the prefix so we can
# tag pre-releases like ``renderers-v0.2.0rc1`` later if needed.
tag-pattern = '^renderers-v(?P<version>.+)$'
# Used when building from a context without VCS metadata (e.g. an
# sdist consumed by a downstream that doesn't ship .git). Real
# builds from a checkout get the resolved version; this fallback
# only fires when the resolver has nothing to go on.
fallback-version = "0.0.0"
[tool.hatch.build.hooks.vcs]
# Write the resolved version to a Python file so it can be inspected
# at runtime via ``renderers.__version__`` without re-parsing the
# wheel metadata.
version-file = "renderers/_version.py"
[tool.hatch.build.targets.wheel]
packages = ["renderers"]
[dependency-groups]
dev = [
"pillow>=12.2.0",
"pre-commit",
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"ruff",
"torch>=2.11.0",
"torchvision>=0.26.0",
"ty>=0.0.1a29,<0.0.22",
]
[tool.uv]
exclude-newer = "7 days"
[tool.ty.environment]
python-version = "3.13"
[tool.ty.rules]
# Pre-existing diagnostics in v0.1.5 source — downgrade to advisory so CI
# surfaces them without blocking. Tighten back to error as we clean up.
unknown-argument = "warn"
redundant-cast = "ignore"
unresolved-import = "warn"
invalid-argument-type = "warn"
unresolved-attribute = "warn"
invalid-key = "warn"
unsupported-operator = "warn"
invalid-return-type = "warn"
invalid-assignment = "warn"