Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions ktransformers/__init__.py → ktransformers.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Top-level Python package for KTransformers.
"""Top-level Python module for KTransformers.

The runtime kernels live in kt-kernel. Optional SFT support is activated
via pip install "ktransformers[sft]" which adds transformers-kt and
Expand All @@ -13,12 +13,13 @@

def _read_repo_version() -> str:
ns: dict[str, str] = {}
exec((Path(__file__).resolve().parents[1] / 'version.py').read_text(), ns)
return ns['__version__']
version_file = Path(__file__).resolve().with_name("version.py")
exec(version_file.read_text(), ns)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

It is recommended to specify an encoding (e.g., encoding="utf-8") when calling read_text(). This ensures consistent behavior across different platforms and locales, especially on Windows where the default system encoding might not be UTF-8, potentially leading to issues if the file contains non-ASCII characters.

Suggested change
exec(version_file.read_text(), ns)
exec(version_file.read_text(encoding="utf-8"), ns)

return ns["__version__"]


try:
__version__ = version('ktransformers')
__version__ = version("ktransformers")
except PackageNotFoundError:
__version__ = _read_repo_version()

Expand All @@ -31,4 +32,4 @@ def has_sft_support() -> bool:
return True


__all__ = ['__version__', 'has_sft_support']
__all__ = ["__version__", "has_sft_support"]
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ classifiers = [
Homepage = "https://github.com/kvcache-ai/ktransformers"

[tool.setuptools]
# Ship a minimal top-level Python package so the distribution is importable.
packages = ["ktransformers"]
# Ship a minimal top-level Python module so the distribution is importable
# without keeping a parallel source package directory at the repository root.
py-modules = ["ktransformers"]
Loading