Metadata-Version: 2.4
Name: muse-glimmer
Version: 0.1.0.dev1
Summary: Serve Muse Glimmer locally
License-Expression: Apache-2.0
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi<1,>=0.115
Requires-Dist: uvicorn<1,>=0.30
Requires-Dist: pydantic<3,>=2.9
Requires-Dist: transformers<5.19,>=5.18
Requires-Dist: jinja2<4,>=3.1
Requires-Dist: huggingface-hub<3,>=1.31
Requires-Dist: httpx<1,>=0.27
Requires-Dist: platformdirs<5,>=4
Provides-Extra: dev
Requires-Dist: pytest<10,>=8; extra == "dev"
Requires-Dist: build<2,>=1.2; extra == "dev"
Requires-Dist: setuptools>=77; extra == "dev"
Requires-Dist: wheel>=0.45; extra == "dev"
Requires-Dist: ruff>=0.9; extra == "dev"
Dynamic: license-file

# muse-glimmer

Serve Muse Glimmer locally. Development preview.

## Supported platforms

- macOS on Apple silicon

## Install and serve

You need Python 3.11+, Git, and Xcode with the Metal toolchain.
The first installation needs an internet connection.

```sh
pip install --pre muse-glimmer
muse-glimmer pull SocialLocalMobile/Muse-Glimmer-30B-ExecuTorch-PTE
muse-glimmer serve
```

Use `pull --variant <name>` to choose a specific folder, or `serve --model <path>` for a local model.

The server runs at `http://127.0.0.1:8000`. Press **Ctrl+C** to stop.
The terminal shows a live HUD.

## Run Muse (coding agent) with the local model

With Muse installed, run this from your project directory:

```sh
muse-glimmer serve --launch muse
```

Muse uses the local model through its OpenRouter provider. No API key is needed.
Exiting Muse also stops the server.

## Smoke test

With the server running, open another terminal:

```sh
curl --fail-with-body http://127.0.0.1:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "muse-glimmer-30B",
    "session_id": "demo",
    "messages": [
      {"role": "system", "content": "Reasoning strength: low"},
      {"role": "user", "content": "Say hello."}
    ],
    "max_tokens": 512,
    "temperature": 0.7
  }'
```

A successful response contains an assistant message in `choices[0].message.content`.
Requests appear under `demo` in the HUD; change `session_id` for another session.

## Configuration

[default_config.toml](default_config.toml) documents all settings and defaults.
To override them, pass a TOML file explicitly:

```sh
muse-glimmer serve --config ./config.toml
```

Run `muse-glimmer serve --help` for command-line options.
