Files
Liger-Kernel/pyproject.toml
T
d5df610cbf Bump Liger packages to 0.8.3 (#1471)
## 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]>
2026-09-16 16:17:49 +00:00

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