Metadata-Version: 2.4
Name: montage-cli
Version: 0.1.0
Summary: Python launcher package for the Montage CLI
Author: Montage
License-Expression: LicenseRef-Proprietary
Project-URL: Homepage, https://montage.sh
Project-URL: Documentation, https://montage.sh/docs/cli
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# montage-cli (Python)

Python distribution channel for the `montage` command.

This package is a launcher. It delegates execution to a Montage CLI binary so the command behavior stays identical across npm, pip/pipx, and conda installs.

## Install (planned release channel)

```bash
pipx install montage-cli
# or
pip install montage-cli
```

## Development usage in this repository

Until signed binaries are wired into release CI, local development can point to the Node CLI build:

```bash
cd montage-app
npm run build:cli
MONTAGE_CLI_NODE_ENTRY="$PWD/packages/cli/dist/cli.js" python3 -m montage_cli --help
```

Or point directly to a binary:

```bash
MONTAGE_CLI_BIN=/absolute/path/to/montage python3 -m montage_cli status
```

## Runtime resolution order

1. `MONTAGE_CLI_BIN` (explicit binary override)
2. Bundled platform binary inside this package (`montage_cli/bin/<platform-arch>/`)
3. `MONTAGE_CLI_NODE_ENTRY` fallback for local development

If none are available, the launcher exits with a clear setup message.

## Current platform note

`windows-arm64` is intentionally excluded until release binaries are published for that target.

## Building a release wheel with bundled binaries

Release CI should:
1. Build SEA artifacts per supported target.
2. Download them into an `artifacts/` directory with target subdirectories.
3. Run:

```bash
cd packages/python-cli
python3 -m pip install --upgrade build
./scripts/build_wheel_with_binaries.sh ../artifacts
```
