Spaces:
Running
Running
| # Copyright 2026 The ODML Authors. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| load( | |
| "@org_tensorflow//tensorflow:pytype.default.bzl", | |
| "pytype_strict_binary", | |
| "pytype_strict_library", | |
| ) | |
| load("//:version.bzl", "VERSION") | |
| load("@custom_pip_deps//:requirements.bzl", "requirement") | |
| load("@rules_python//python:defs.bzl", "py_test") | |
| load("@rules_python//python:packaging.bzl", "py_package", "py_wheel") | |
| load("//:version.bzl", "VERSION") | |
| version = select({ | |
| "//python:dev_build": VERSION + ".dev$(DEV_VERSION)", | |
| "//conditions:default": VERSION, | |
| }) | |
| genrule( | |
| name = "version_py", | |
| outs = ["version.py"], | |
| cmd = "echo 'VERSION = \"'" + version + "'\"' > $@", | |
| ) | |
| pytype_strict_library( | |
| name = "model", | |
| srcs = ["model.py"], | |
| deps = [ | |
| "//python/litert_lm", | |
| requirement("click"), | |
| requirement("prompt_toolkit"), | |
| ], | |
| imports = [".."], | |
| ) | |
| pytype_strict_library( | |
| name = "help_formatter", | |
| srcs = ["help_formatter.py"], | |
| deps = [requirement("click")], | |
| imports = [".."], | |
| ) | |
| py_test( | |
| name = "help_formatter_test", | |
| srcs = ["help_formatter_test.py"], | |
| tags = ["nowindows"], | |
| deps = [ | |
| ":help_formatter", | |
| "@absl_py//absl/testing:absltest", | |
| requirement("click"), | |
| ], | |
| imports = [".."], | |
| ) | |
| pytype_strict_library( | |
| name = "venv_manager", | |
| srcs = ["venv_manager.py"], | |
| deps = [requirement("click")], | |
| imports = [".."], | |
| ) | |
| py_test( | |
| name = "venv_manager_test", | |
| srcs = ["venv_manager_test.py"], | |
| tags = ["nowindows"], | |
| deps = [ | |
| ":venv_manager", | |
| "@absl_py//absl/testing:absltest", | |
| ], | |
| imports = [".."], | |
| ) | |
| pytype_strict_library( | |
| name = "version", | |
| srcs = [":version_py"], | |
| ) | |
| pytype_strict_library( | |
| name = "main_lib", | |
| srcs = ["main.py"], | |
| deps = [ | |
| ":help_formatter", | |
| ":model", | |
| ":venv_manager", | |
| ":version", | |
| "//python/litert_lm", | |
| requirement("click"), | |
| requirement("huggingface_hub"), | |
| ], | |
| imports = [".."], | |
| ) | |
| py_test( | |
| name = "main_test", | |
| srcs = ["main_test.py"], | |
| tags = [ | |
| "nowindows", | |
| ], | |
| deps = [ | |
| ":main_lib", | |
| ":model", | |
| "@absl_py//absl/testing:absltest", | |
| requirement("click"), | |
| requirement("prompt_toolkit"), | |
| ], | |
| imports = [".."], | |
| ) | |
| pytype_strict_binary( | |
| name = "litert-lm", | |
| srcs = [ | |
| "main.py", | |
| ], | |
| main = "main.py", | |
| tags = [ | |
| "noios", | |
| "nomacos", | |
| "nowindows", | |
| ], | |
| deps = [ | |
| ":main_lib", | |
| ], | |
| imports = [".."], | |
| ) | |
| py_package( | |
| name = "package", | |
| packages = ["python.litert_lm_cli"], | |
| deps = [":litert-lm"], | |
| ) | |
| py_wheel( | |
| name = "wheel", | |
| abi = "none", | |
| distribution = select({ | |
| "//python:dev_build": "litert-lm-nightly", | |
| "//conditions:default": "litert-lm", | |
| }), | |
| platform = "any", | |
| python_tag = "py3", | |
| summary = "LiteRT-LM command line tool", | |
| description_file = "README.md", | |
| license = "Apache-2.0", | |
| homepage = "https://github.com/google-ai-edge/LiteRT-LM", | |
| classifiers = [ | |
| "Programming Language :: Python :: 3", | |
| "Programming Language :: Python :: 3.10", | |
| "Programming Language :: Python :: 3.11", | |
| "Programming Language :: Python :: 3.12", | |
| "Programming Language :: Python :: 3.13", | |
| "License :: OSI Approved :: Apache Software License", | |
| "Operating System :: OS Independent", | |
| ], | |
| strip_path_prefixes = ["python"], | |
| version = version, | |
| entry_points = { | |
| "console_scripts": [ | |
| "litert-lm = litert_lm_cli.main:main", | |
| ], | |
| }, | |
| requires = select({ | |
| "//python:dev_build": ["litert-lm-api-nightly"], | |
| "//conditions:default": ["litert-lm-api"], | |
| }) + [ | |
| "click", | |
| "huggingface_hub", | |
| "prompt_toolkit", | |
| ], | |
| deps = [":package"], | |
| ) | |