mirror of
https://github.com/linkedin/Liger-Kernel.git
synced 2026-10-12 02:17:47 +00:00
## Summary - bump the shared public version from `0.8.2` to `0.8.3` - update both `liger-kernel` and `liger-cute-kernels`, since the native package resolves its version from the root `pyproject.toml` - add `liger-kernel[lck]` as an optional install path - pin the extra to `liger-cute-kernels==0.8.3` so the Python and native distributions cannot drift across releases - document stable and editable `lck` extra installation ## Resulting installs ```bash pip install liger-kernel pip install "liger-kernel[lck]" ``` The second command installs the normal Liger dependencies plus the exactly matching standalone native wheel. ## Validation - root wheel: `liger_kernel-0.8.3-py3-none-any.whl` - root wheel metadata includes `Provides-Extra: lck` - root wheel metadata includes `liger-cute-kernels==0.8.3; extra == "lck"` - standalone LCK package metadata resolves to `0.8.3` - targeted LCK version tests pass - Ruff check and format checks pass for `setup.py` --------- Co-authored-by: jkolehma <[email protected]> Co-authored-by: Copilot <[email protected]>
80 lines
1.6 KiB
TOML
80 lines
1.6 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=42", "wheel", "setuptools-scm"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "liger_kernel"
|
|
version = "0.8.3"
|
|
description = "Efficient Triton kernels for LLM Training"
|
|
urls = { "Homepage" = "https://github.com/linkedin/Liger-Kernel" }
|
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
license = { file = "LICENSE" }
|
|
dynamic = ["dependencies", "optional-dependencies"]
|
|
|
|
[tool.setuptools]
|
|
package-dir = {"" = "src"}
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
include = ["liger_kernel*"]
|
|
namespaces = false
|
|
|
|
[tool.pytest.ini_options]
|
|
pythonpath = ["src", "."]
|
|
asyncio_mode = "auto"
|
|
log_cli = true
|
|
log_cli_level = "INFO"
|
|
python_files = "test_*.py"
|
|
testpaths = ["test/"]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
parallel = true
|
|
source = ["src/liger_kernel"]
|
|
# xdist uses subprocesses; "multiprocessing" is a safe concurrency choice
|
|
concurrency = ["multiprocessing"]
|
|
|
|
[tool.coverage.paths]
|
|
liger_kernel = [
|
|
"src/liger_kernel",
|
|
"*/site-packages/liger_kernel"
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
omit = ["test/*"]
|
|
show_missing = true
|
|
skip_covered = false
|
|
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
target-version = "py310"
|
|
respect-gitignore = true
|
|
src = ["src"]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", # pycodestyle errors
|
|
"F", # pyflakes
|
|
"I", # isort
|
|
]
|
|
ignore = ["E501", "B006", "E731", "A002", "E203"]
|
|
|
|
exclude = [
|
|
".git",
|
|
"__pycache__",
|
|
"benchmark_internal/others",
|
|
".venv",
|
|
]
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "double"
|
|
indent-style = "space"
|
|
skip-magic-trailing-comma = false
|
|
line-ending = "auto"
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["liger_kernel"]
|
|
force-single-line = true
|
|
lines-between-types = 1
|