mirror of
https://github.com/unslothai/unsloth
synced 2026-04-21 13:37:39 +00:00
* Rename cli/ to unsloth_cli/ to fix namespace collision with stringzilla stringzilla installs a namespace package at cli/ (cli/split.py, cli/wc.py) in site-packages without an __init__.py. When unsloth is installed as an editable package (pip install -e .), the entry point script does `from cli import app` which finds stringzilla's namespace cli/ first and fails with `ImportError: cannot import name 'app' from 'cli'`. Non-editable installs happened to work because unsloth's cli/__init__.py overwrites the namespace directory, but this is fragile and breaks if stringzilla is installed after unsloth. Renaming to unsloth_cli/ avoids the collision entirely and fixes both editable and non-editable install paths. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update stale cli/ references in comments and license files --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
22 lines
793 B
Python
22 lines
793 B
Python
# SPDX-License-Identifier: AGPL-3.0-only
|
|
# Copyright 2026-present the Unsloth AI Inc. team. All rights reserved. See /studio/LICENSE.AGPL-3.0
|
|
|
|
import typer
|
|
|
|
from unsloth_cli.commands.train import train
|
|
from unsloth_cli.commands.inference import inference
|
|
from unsloth_cli.commands.export import export, list_checkpoints
|
|
from unsloth_cli.commands.ui import ui
|
|
from unsloth_cli.commands.studio import studio_app
|
|
|
|
app = typer.Typer(
|
|
help = "Command-line interface for Unsloth training, inference, and export.",
|
|
context_settings = {"help_option_names": ["-h", "--help"]},
|
|
)
|
|
|
|
app.command()(train)
|
|
app.command()(inference)
|
|
app.command()(export)
|
|
app.command("list-checkpoints")(list_checkpoints)
|
|
app.command()(ui)
|
|
app.add_typer(studio_app, name = "studio", help = "Unsloth Studio commands.")
|