Skip to content
Open
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[![PyPI release](https://img.shields.io/pypi/v/winml-cli)](https://pypi.org/project/winml-cli/)
![License](https://img.shields.io/badge/license-MIT-green)

**Windows ML CLI** is a command line tool for building **portable, performant, and high-quality** AI models for Windows ML. It takes you from a source model — whether from Hugging Face or your own pipeline — to a hardware-optimized artifact in a reproducible workflow.
**WinML CLI** is a command line tool for building **portable, performant, and high-quality** AI models for Windows ML. It takes you from a source model — whether from Hugging Face or your own pipeline — to a hardware-optimized artifact in a reproducible workflow.

Purpose-built for Windows hardware diversity, the CLI handles conversion, graph optimization, and compilation across AMD, Intel, NVIDIA, and Qualcomm targets. The CLI fits naturally into CI/CD pipelines so teams can validate and ship models easily.

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ requires = [ "setuptools>=61", "wheel" ]
[project]
name = "winml-cli"
version = "0.1.0"
description = "Accelerate Model Deployment on WinML"
description = "Accelerate Model Deployment on Windows ML"
readme = "README.md"
keywords = [ "onnx", "winml" ]
license = { text = "MIT" }
Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# --------------------------------------------------------------------------
"""WinML CLI - Accelerate Model Deployment on WinML.
"""WinML CLI - Accelerate Model Deployment on Windows ML.

WinML CLI provides tools for converting PyTorch models to optimized ONNX format
with support for QNN (Qualcomm Neural Processing SDK) and OpenVINO backends.
Expand Down
6 changes: 3 additions & 3 deletions src/winml/modelkit/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ def format_commands(self, ctx: click.Context, formatter: click.HelpFormatter) ->
invoke_without_command=True,
context_settings={"help_option_names": ["-h", "--help"]},
)
@click.version_option(version=__version__, prog_name="winml")
@click.version_option(version=__version__, prog_name="WinML CLI")
@verbosity_options()
@click.option(
"--debug",
Expand All @@ -251,9 +251,9 @@ def format_commands(self, ctx: click.Context, formatter: click.HelpFormatter) ->
)
@click.pass_context
def main(ctx: click.Context, verbose: int, quiet: bool, debug: bool) -> None:
"""WinML CLI - Accelerate Model Deployment on WinML.
"""WinML CLI - Accelerate Model Deployment on Windows ML.

Universal ONNX export with various WinML execution providers support.
Universal ONNX export with various Windows ML execution providers support.
"""
# --debug is a backward-compat alias for -vv
if debug:
Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/commands/analyze.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# --------------------------------------------------------------------------
"""Analyze command for winml CLI.
"""Analyze command for WinML CLI.

Analyzes ONNX models for runtime support with Rich Live stacked bar
visualization, showing real-time per-node progress display.
Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/commands/compile.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# --------------------------------------------------------------------------
"""Compile command for winml CLI.
"""Compile command for WinML CLI.

This module provides the compile command that compiles ONNX models to
EP-specific formats (e.g., QNN EPContext).
Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/commands/export.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# --------------------------------------------------------------------------
"""Export command for winml CLI.
"""Export command for WinML CLI.

This module provides the export command that uses export_onnx() as the single
implementation path for HuggingFace to ONNX model conversion.
Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/commands/optimize.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# --------------------------------------------------------------------------
"""Optimize command for winml CLI.
"""Optimize command for WinML CLI.

This module provides the optimize command that uses the capability-driven
optimizer for ONNX model optimization with fusion and graph optimizations.
Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/commands/quantize.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# --------------------------------------------------------------------------
"""Quantize command for winml CLI.
"""Quantize command for WinML CLI.

This module provides the quantize command that inserts QDQ (Quantize-Dequantize)
nodes into ONNX models for quantization-aware inference.
Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/serve/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -721,7 +721,7 @@ async def get_logs(after: int = 0) -> dict[str, Any]:
"/v1/cli/{command}",
response_model=CliResponse,
tags=["cli"],
summary="Run any winml CLI command",
summary="Run any WinML CLI command",
)
async def cli_command(command: str, request: CliRequest) -> CliResponse:
"""Proxy to the CLI wrapper — available in all server modes."""
Expand Down
6 changes: 3 additions & 3 deletions src/winml/modelkit/serve/cli_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

"""Phase 0: CLI-as-API FastAPI application.

Wraps every winml CLI command as a REST endpoint using Click's CliRunner.
Wraps every WinML CLI command as a REST endpoint using Click's CliRunner.
Each request is stateless — the model loads, runs, and unloads within a
single CliRunner.invoke() call.

Expand Down Expand Up @@ -220,7 +220,7 @@ def _extract_json_from_stdout(stdout: str) -> dict[str, Any] | list[Any] | None:


def _invoke(command: str, args: dict[str, Any]) -> CliResponse:
"""Invoke a winml CLI command via CliRunner and return a CliResponse.
"""Invoke a WinML CLI command via CliRunner and return a CliResponse.

Applies the per-command JSON extraction strategy to populate ``result``.
"""
Expand Down Expand Up @@ -331,7 +331,7 @@ async def health() -> HealthResponse:
"/v1/cli/{command}",
response_model=CliResponse,
tags=["CLI"],
summary="Invoke a winml CLI command",
summary="Invoke a WinML CLI command",
responses={
200: {"description": "Command invoked (check exit_code for success/failure)"},
404: {"description": "Unknown command name"},
Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/serve/static/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ <h2>MCP Server</h2>
<code>GET /v1/resources</code> &mdash; Memory and request stats<br>
<code>GET /v1/models/{id}/stats</code> &mdash; Live latency stats for a model<br>
<code>GET /v1/logs</code> &mdash; Poll recent log lines<br>
<code>POST /v1/cli/{command}</code> &mdash; Run any winml CLI command
<code>POST /v1/cli/{command}</code> &mdash; Run any WinML CLI command
</div>
</div>

Expand Down
2 changes: 1 addition & 1 deletion src/winml/modelkit/utils/console.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Licensed under the MIT License.
# --------------------------------------------------------------------------

"""Shared console output utilities for winml CLI commands.
"""Shared console output utilities for WinML CLI commands.

Provides consistent Rich-based formatting for:
- Config command: headers, I/O specs, resolution summary
Expand Down
4 changes: 4 additions & 0 deletions tests/cli/test_help_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -212,3 +212,7 @@ def test_version_flag_executes(self) -> None:
result = _invoke("--version")
assert result.exit_code == 0
assert __version__ in result.output

def test_version_uses_canonical_product_name(self) -> None:
"""``winml --version`` must brand the product as 'WinML CLI' (issue #510)."""
assert "WinML CLI" in _invoke("--version").output
Loading