This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a commit to branch tirx/standalone-package-cleanup
in repository https://gitbox.apache.org/repos/asf/tvm.git

commit 3a7bc102bfb65bc072c48a9149a451a09d8495ec
Author: Tianqi Chen <[email protected]>
AuthorDate: Thu Oct 15 01:20:54 2026 +0000

    [REFACTOR][Packaging] Package TIRx with an independent version and 
dependency boundary
---
 LICENSE                               |  20 ++---
 pyproject.toml                        |  79 ++++++++-----------
 LICENSE => tirx/LICENSE               |  23 +-----
 tirx/NOTICE                           |   5 ++
 pyproject.toml => tirx/pyproject.toml | 141 +++++++---------------------------
 5 files changed, 73 insertions(+), 195 deletions(-)

diff --git a/LICENSE b/LICENSE
index 94abb3512b..627aef16ea 100644
--- a/LICENSE
+++ b/LICENSE
@@ -201,10 +201,8 @@
    limitations under the License.
 
 
------------------------------------------------------------------------------------
-This product bundles various third-party components under other open source 
licenses.
-This section summarizes those components and their licenses. See licenses/
-and 3rdparty/tvm-ffi/licenses/ for text of these licenses.
-
+This product bundles the following third-party components. See licenses/ and 
the
+respective component directories for their licenses.
 
 Apache Software Foundation License 2.0
 --------------------------------------
@@ -212,18 +210,14 @@ Apache Software Foundation License 2.0
 3rdparty/OpenCL-Headers
 3rdparty/cutlass_fpA_intB_gemm
 3rdparty/tensorrt_llm
-3rdparty/tvm-ffi/3rdparty/dlpack
-
-
-MIT License
------------
-
-3rdparty/compiler-rt/builtin_fp16.h
-
 
 BSD 3-Clause "New" or "Revised" License
 ---------------------------------------
 
 3rdparty/cutlass
 3rdparty/libflash_attn
-3rdparty/tvm-ffi/3rdparty/libbacktrace
+
+MIT License
+-----------
+
+src/runtime/extra/contrib/vllm
diff --git a/pyproject.toml b/pyproject.toml
index 5c7512032f..02badac363 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -16,11 +16,11 @@
 # under the License.
 
 [build-system]
-# mlc-z3-static ships the PIC static libz3 + headers consumed by USE_Z3=ON.
+# The parent links against the separately installed core package.
 requires = [
   "scikit-build-core>=0.11",
   "setuptools-scm>=8",
-  "mlc-z3-static>=4.16.0",
+  "apache-tvm-tirx==0.1.0a0",
 ]
 build-backend = "scikit_build_core.build"
 
@@ -49,13 +49,7 @@ classifiers = [
   "Topic :: Scientific/Engineering :: Artificial Intelligence",
   "Topic :: Software Development :: Libraries :: Python Modules",
 ]
-dependencies = [
-  "apache-tvm-ffi>=0.1.14.post1",
-  "apache-tvm-ffi-orcjit==0.1.2",
-  "ml_dtypes",
-  "numpy",
-  "typing_extensions",
-]
+dependencies = ["apache-tvm-tirx==0.1.0a0"]
 
 [project.optional-dependencies]
 torch = ["torch"]
@@ -104,51 +98,41 @@ metadata.version.provider = 
"scikit_build_core.metadata.setuptools_scm"
 
 # Source distribution configuration
 sdist.include = [
-  # Build files
   "/CMakeLists.txt",
   "/pyproject.toml",
-  "/cmake/**/*",
-
-  # Source code
-  "/src/**/*.cc",
-  "/src/**/*.h",
-  "/include/**/*.h",
-
-  # Python source
-  "/python/tvm/**/*.py",
-  "/python/tvm/**/*.pyi",
-
-  # Documentation and metadata
-  "/docs/**/*",
+  "/cmake/**",
+  "/src/**",
+  "/include/**",
+  "/python/**",
+  "/licenses/**",
   "/LICENSE",
-  "/README.md",
   "/NOTICE",
-
-  # Tests
-  "/tests/**/*",
-]
-
-sdist.exclude = [
-  "**/.git",
-  "**/.github",
-  "**/__pycache__",
-  "**/*.pyc",
-  "build",
-  "dist",
-  "**/3rdparty/*/docs",
-  "**/3rdparty/*/media",
-  "**/3rdparty/*/examples",
-  "**/3rdparty/*/test",
+  "/tests/**",
+  "/README.md",
+  "/apps/**",
+  "/web/**",
+  "/3rdparty/OpenCL-Headers/**",
+  "/3rdparty/cutlass/**",
+  "/3rdparty/cutlass_fpA_intB_gemm/**",
+  "/3rdparty/libflash_attn/**",
+  "/3rdparty/tensorrt_llm/**",
+  "!**/.git",
+  "!**/.git/**",
+  "!**/__pycache__/**",
+  "!**/*.pyc",
+  "!**/.pytest_cache/**",
+  "!**/build/**",
+  "!**/node_modules/**",
 ]
+sdist.exclude = ["**"]
 
 # Logging
 logging.level = "INFO"
 
 [tool.scikit-build.cmake.define]
 TVM_BUILD_PYTHON_MODULE = "ON"
+TVM_USE_INSTALLED_TIRX = "ON"
 USE_CUDA = "OFF"
-# Statically link Z3 from the mlc-z3-static build dependency by default.
-USE_Z3 = "AUTO"
 BUILD_TESTING = "OFF"
 
 [tool.setuptools_scm]
@@ -176,6 +160,8 @@ markers = [
 [tool.ruff]
 include = [
   "python/**/*.py",
+  "tirx/python/**/*.py",
+  "tirx/tests/**/*.py",
   "tests/**/*.py",
   "docs/**/*.py",
   "apps/**/*.py",
@@ -217,9 +203,10 @@ unfixable = []
 "python/tvm/relax/transform/legalize_ops/nn.py" = ["E501"]
 # TIRx parser and lowering tests intentionally retain unused IR bindings.
 "tests/python/tirx/**/*.py" = ["F841"]
+"tirx/tests/python/tirx/**/*.py" = ["F841"]
 
 [tool.ruff.lint.isort]
-known-first-party = ["tvm"]
+known-first-party = ["tvm", "tvm_tirx"]
 
 [tool.ruff.format]
 quote-style = "double"
@@ -237,7 +224,7 @@ test-requires = ["pytest", "numpy"]
 test-command = "pytest -vvs {project}/tests/python/all-platform-minimal-test"
 
 [tool.cibuildwheel.linux]
-repair-wheel-command = "auditwheel repair --exclude libtvm_ffi.so --exclude 
libtvm_runtime_cuda.so --exclude 'libcuda.so.*' --exclude 'libcudart.so.*' 
--exclude 'libnvrtc.so.*' --exclude 'libnvrtc-builtins.so.*' -w {dest_dir} 
{wheel}"
+repair-wheel-command = "auditwheel repair --exclude libtvm_tirx.so --exclude 
libtvm_runtime.so --exclude libtvm_ffi.so --exclude libtvm_runtime_cuda.so 
--exclude 'libcuda.so.*' --exclude 'libcudart.so.*' --exclude 'libnvrtc.so.*' 
--exclude 'libnvrtc-builtins.so.*' -w {dest_dir} {wheel}"
 
 [tool.cibuildwheel.macos]
 # delocate breaks libtvm_runtime.dylib's ad-hoc signature (it links the 
excluded
@@ -245,7 +232,7 @@ repair-wheel-command = "auditwheel repair --exclude 
libtvm_ffi.so --exclude libt
 repair-wheel-command = '''
 set -euo pipefail
 DELOCATE_TMP_DIR="$(mktemp -d)"
-delocate-wheel --ignore-missing-dependencies --exclude libtvm_ffi.dylib 
--require-archs {delocate_archs} -w "$DELOCATE_TMP_DIR" -v {wheel}
+delocate-wheel --ignore-missing-dependencies --exclude libtvm_tirx.dylib 
--exclude libtvm_runtime.dylib --exclude libtvm_ffi.dylib --require-archs 
{delocate_archs} -w "$DELOCATE_TMP_DIR" -v {wheel}
 python -m pip install -q wheel
 TMP_DIR="$(mktemp -d)"
 python -m wheel unpack "$DELOCATE_TMP_DIR"/*.whl -d "$TMP_DIR"
@@ -256,4 +243,4 @@ rm -rf "$DELOCATE_TMP_DIR" "$TMP_DIR"
 
 [tool.cibuildwheel.windows]
 before-build = 'python -m pip install "delvewheel>=1.12.0"'
-repair-wheel-command = 'delvewheel repair --analyze-existing --ignore-existing 
--exclude "*tvm_ffi*.dll" --exclude tvm_runtime_cuda.dll --exclude nvcuda.dll 
--exclude cudart64_13.dll --exclude nvrtc64_130_0.dll -w {dest_dir} {wheel}'
+repair-wheel-command = 'delvewheel repair --analyze-existing --ignore-existing 
--exclude "*tvm_ffi*.dll" --exclude tvm_tirx.dll --exclude tvm_runtime.dll 
--exclude tvm_runtime_cuda.dll --exclude nvcuda.dll --exclude cudart64_13.dll 
--exclude nvrtc64_130_0.dll -w {dest_dir} {wheel}'
diff --git a/LICENSE b/tirx/LICENSE
similarity index 95%
copy from LICENSE
copy to tirx/LICENSE
index 94abb3512b..d959613f68 100644
--- a/LICENSE
+++ b/tirx/LICENSE
@@ -201,29 +201,10 @@
    limitations under the License.
 
 
------------------------------------------------------------------------------------
-This product bundles various third-party components under other open source 
licenses.
-This section summarizes those components and their licenses. See licenses/
-and 3rdparty/tvm-ffi/licenses/ for text of these licenses.
-
-
-Apache Software Foundation License 2.0
---------------------------------------
-
-3rdparty/OpenCL-Headers
-3rdparty/cutlass_fpA_intB_gemm
-3rdparty/tensorrt_llm
-3rdparty/tvm-ffi/3rdparty/dlpack
-
+This product bundles the following third-party component. See licenses/ for its
+license text. External dependencies are distributed under their own licenses.
 
 MIT License
 -----------
 
 3rdparty/compiler-rt/builtin_fp16.h
-
-
-BSD 3-Clause "New" or "Revised" License
----------------------------------------
-
-3rdparty/cutlass
-3rdparty/libflash_attn
-3rdparty/tvm-ffi/3rdparty/libbacktrace
diff --git a/tirx/NOTICE b/tirx/NOTICE
new file mode 100644
index 0000000000..35d3709888
--- /dev/null
+++ b/tirx/NOTICE
@@ -0,0 +1,5 @@
+Apache TVM
+Copyright 2019-2023 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
diff --git a/pyproject.toml b/tirx/pyproject.toml
similarity index 57%
copy from pyproject.toml
copy to tirx/pyproject.toml
index 5c7512032f..c07ec984de 100644
--- a/pyproject.toml
+++ b/tirx/pyproject.toml
@@ -19,18 +19,15 @@
 # mlc-z3-static ships the PIC static libz3 + headers consumed by USE_Z3=ON.
 requires = [
   "scikit-build-core>=0.11",
-  "setuptools-scm>=8",
   "mlc-z3-static>=4.16.0",
+  "apache-tvm-ffi>=0.1.14.post1",
 ]
 build-backend = "scikit_build_core.build"
 
 [project]
-name = "apache-tvm"
-# The version is derived from the most recent Git tag by setuptools_scm at 
build
-# time (see [tool.setuptools_scm]); no manual version stamping is required.
-dynamic = ["version"]
-description = "Apache TVM: An End-to-End Deep Learning Compiler Stack"
-readme = "README.md"
+name = "apache-tvm-tirx"
+version = "0.1.0a0"
+description = "TVM TIRx compiler and runtime"
 license = "Apache-2.0"
 license-files = ["LICENSE"]
 requires-python = ">=3.10"
@@ -55,15 +52,14 @@ dependencies = [
   "ml_dtypes",
   "numpy",
   "typing_extensions",
+  "packaging",
 ]
 
 [project.optional-dependencies]
 torch = ["torch"]
 cuda = ["cuda-bindings"]
-meta-schedule = ["xgboost"]
 popen-pool = ["psutil", "cloudpickle"]
-rpc = ["tornado", "psutil", "cloudpickle"]
-all = ["xgboost", "psutil", "cloudpickle", "tornado"]
+all = ["psutil", "cloudpickle"]
 
 [project.urls]
 Homepage = "https://tvm.apache.org/";
@@ -75,6 +71,8 @@ Repository = "https://github.com/apache/tvm";
 torch = ["torch"]
 popen-pool = ["psutil", "cloudpickle"]
 test = [
+  "scipy",
+  "z3-solver",
   "pytest",
   "pytest-xdist",
   "pytest-cov",
@@ -95,51 +93,31 @@ wheel.py-api = "py3"
 build-dir = "build"
 
 # Wheel configuration
-wheel.packages = ["python/tvm"]
-wheel.install-dir = "tvm"
-
-# Derive the project version from the Git tag via setuptools_scm
-# (configured under [tool.setuptools_scm]).
-metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
+wheel.packages = ["python/tvm_tirx"]
+wheel.install-dir = "tvm_tirx"
 
 # Source distribution configuration
 sdist.include = [
-  # Build files
   "/CMakeLists.txt",
   "/pyproject.toml",
-  "/cmake/**/*",
-
-  # Source code
-  "/src/**/*.cc",
-  "/src/**/*.h",
-  "/include/**/*.h",
-
-  # Python source
-  "/python/tvm/**/*.py",
-  "/python/tvm/**/*.pyi",
-
-  # Documentation and metadata
-  "/docs/**/*",
+  "/cmake/**",
+  "/src/**",
+  "/include/**",
+  "/python/**",
+  "/licenses/**",
   "/LICENSE",
-  "/README.md",
   "/NOTICE",
-
-  # Tests
-  "/tests/**/*",
-]
-
-sdist.exclude = [
-  "**/.git",
-  "**/.github",
-  "**/__pycache__",
-  "**/*.pyc",
-  "build",
-  "dist",
-  "**/3rdparty/*/docs",
-  "**/3rdparty/*/media",
-  "**/3rdparty/*/examples",
-  "**/3rdparty/*/test",
+  "/tests/**",
+  "/3rdparty/compiler-rt/builtin_fp16.h",
+  "!**/.git",
+  "!**/.git/**",
+  "!**/__pycache__/**",
+  "!**/*.pyc",
+  "!**/.pytest_cache/**",
+  "!**/build/**",
+  "!**/node_modules/**",
 ]
+sdist.exclude = ["**"]
 
 # Logging
 logging.level = "INFO"
@@ -151,17 +129,6 @@ USE_CUDA = "OFF"
 USE_Z3 = "AUTO"
 BUILD_TESTING = "OFF"
 
-[tool.setuptools_scm]
-# Version comes from the most recent Git tag (vMAJOR.MINOR.devN or 
vMAJOR.MINOR.PATCH).
-# guess-next-dev reproduces the previous version.py behaviour for 
vMAJOR.MINOR.devN
-# tags (e.g. v0.26.dev0 + N commits -> 0.26.devN). local_scheme = 
"no-local-version"
-# drops the +g<hash> local segment: PyPI rejects local versions on upload, and
-# this matches the public version the old version.py stamped.
-version_file = "python/tvm/_version.py"
-version_scheme = "guess-next-dev"
-local_scheme = "no-local-version"
-fallback_version = "0.28.dev0"
-
 [tool.pytest.ini_options]
 testpaths = ["tests"]
 addopts = "-v --tb=short"
@@ -173,68 +140,12 @@ markers = [
   "cuda_arch(*arches, device='cuda0'): Require one of the exact CUDA runtime 
architectures",
 ]
 
-[tool.ruff]
-include = [
-  "python/**/*.py",
-  "tests/**/*.py",
-  "docs/**/*.py",
-  "apps/**/*.py",
-  "ci/**/*.py",
-  "conftest.py",
-  "jvm/**/*.py",
-  "web/tests/**/*.py",
-]
-line-length = 100
-indent-width = 4
-target-version = "py310"
-exclude = ["3rdparty", "build", "dist", ".venv", ".ruff_cache", "node_modules"]
-
-[tool.ruff.lint]
-select = [
-  "E",   # pycodestyle errors, 
https://docs.astral.sh/ruff/rules/#pycodestyle-e-w
-  "F",   # pyflakes, https://docs.astral.sh/ruff/rules/#pyflakes-f
-  "I",   # isort, https://docs.astral.sh/ruff/rules/#isort-i
-  "UP",  # pyupgrade, https://docs.astral.sh/ruff/rules/#pyupgrade-up
-  "RUF", # ruff, https://docs.astral.sh/ruff/rules/#ruff-specific-rules-ruf
-]
-ignore = [
-  # pyupgrade (style preference or low-value)
-  "UP028", # yield-in-for-loop — sometimes clearer to keep
-  "UP030", # format-literals — minor
-  "UP031", # printf-string-formatting — style preference
-  # ruff (preview rules, not yet stable)
-  "RUF043", # pytest-raises-ambiguous-pattern
-  "RUF059", # unused-unpacked-variable
-]
-fixable = ["ALL"]
-unfixable = []
-
-[tool.ruff.lint.per-file-ignores]
-"__init__.py" = ["E402", "F401", "F403", "F405"]
-"python/tvm/relax/op/nn/nn.py" = ["E501"]
-"docs/how_to/tutorials/mix_python_and_tvm_with_pymodule.py" = ["RUF003"]
-"python/tvm/relax/frontend/tflite/tflite_frontend.py" = ["E501"]
-"python/tvm/relax/transform/legalize_ops/nn.py" = ["E501"]
-# TIRx parser and lowering tests intentionally retain unused IR bindings.
-"tests/python/tirx/**/*.py" = ["F841"]
-
-[tool.ruff.lint.isort]
-known-first-party = ["tvm"]
-
-[tool.ruff.format]
-quote-style = "double"
-indent-style = "space"
-skip-magic-trailing-comma = false
-line-ending = "auto"
-docstring-code-format = false
-docstring-code-line-length = "dynamic"
-
 [tool.cibuildwheel]
 # Skip win32, i686 (32-bit), and musllinux wheels.
 skip = "*-win32 *-manylinux_i686 *-musllinux*"
 build-verbosity = 1
 test-requires = ["pytest", "numpy"]
-test-command = "pytest -vvs {project}/tests/python/all-platform-minimal-test"
+test-command = "python -I -c \"import importlib.util; assert 
importlib.util.find_spec('tvm') is None\" && python -I -m pytest -vvs 
{package}/tests/python/all-platform-minimal-test 
{package}/tests/python/runtime/test_runtime_tensor.py 
{package}/tests/python/ir/test_ir_type.py 
{package}/tests/python/script/test_ir_builder.py 
{package}/tests/python/codegen/llvm/test_llvm.py::test_llvm_vadd_pipeline 
{package}/tests/python/codegen/gpu_common/test_allreduce.py::test_allreduce_sum_compile"
 
 [tool.cibuildwheel.linux]
 repair-wheel-command = "auditwheel repair --exclude libtvm_ffi.so --exclude 
libtvm_runtime_cuda.so --exclude 'libcuda.so.*' --exclude 'libcudart.so.*' 
--exclude 'libnvrtc.so.*' --exclude 'libnvrtc-builtins.so.*' -w {dest_dir} 
{wheel}"

Reply via email to