semvec/pypi-packages huggingface dataset:
glm-mcp 0.3.0
MCP server for ZhipuAI GLM — chat and text embeddings
Requires Python: >=3.10

# glm-mcp

MCP server for [ZhipuAI GLM](https://open.bigmodel.cn/) — exposes chat and text embeddings to Claude Code (and any MCP-compatible client) via the OpenAI-compatible API.

## Tools

| Tool | Description |
|------|-------------|
| `glm_chat` | Text completion — default model `glm-4-flash`, pass `model=` to use any GLM chat model (e.g. `glm-5`) |
| `glm_embed` | Text embeddings — default model `embedding-3`, pass `model=` to override |

## Quick Start

### Install via uvx (recommended)

```bash
uvx glm-mcp
```

### Add to Claude Code

Add to `~/.claude.json`:

```json
{
  "mcpServers": {
    "glm-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["glm-mcp"],
      "env": {
        "GLM_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

Get your API key at <https://open.bigmodel.cn/>.

### Run from source

```bash
git clone https://github.com/sky-zhang01/glm-mcp
cd glm-mcp
uv sync
GLM_API_KEY=your_key uv run glm-mcp
```

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `GLM_API_KEY` | Yes | — | ZhipuAI API key |
| `GLM_BASE_URL` | No | `https://open.bigmodel.cn/api/paas/v4/` | API endpoint override |

## Token Usage Logging

Each tool call appends a JSON line to `~/.glm-mcp/usage.jsonl`:

```json
{"timestamp": "...", "tool": "glm_chat", "model": "glm-4-flash", "input_tokens": 13, "output_tokens": 15}
```

## Development

```bash
uv sync --dev
uv run pytest --cov=glm_mcp --cov-report=term-missing
```

## License

MIT
ifxusb010 0.1.7
Python API for Infineon USB010 dongle. Allows Python users to control the USB010 dongle.
Requires Python: >=3.12

# ifxusb010

Python API for Infineon USB010 dongle. Allows Python users to control the USB010 dongle.

## Installation

```bash
pip install ifxusb010
```

---

## Quick Start

```python
import ifxusb010

# connect USB010 dongle
mydongle = ifxusb010.dongle()
```

---

## dongle() method
### `scan_I2C(start_address, end_address, debug, enable_8bit_mode)`

scan I2C bus to find devices

| parameter | type | default | description |
|------|------|--------|------|
| `start_address` | int | `0x20` | start address (8-bit) |
| `end_address` | int | `0xFE` | end address (8-bit) |
| `debug` | bool | `False` | print more info for debug |
| `enable_8bit_mode` | bool | `True` | `True` return 8-bits address，`False` return 7-bits address |

**return type：** `list` , example [ 0x40 , 0x58 , 0x60 ]  

```python
mydongle = ifxusb010.dongle()
devices = mydongle.search_I2C(start_address=0x40,end_address=0x60)

```

---
Device read and write command 
```python
import ifxusb010
from ifxusb010 import mckinley,rainier 

#init usb010 dongle
mydongle = ifxusb010.dongle()

#scan I2C bus
devices=mydongle.scan_I2C()

#init Infineon XDPE152xx chip and device address devices[0]
mydevice =mckinley.xdpe152xx(devices[0],mydongle)

# read OTP checksum from XDPE152xx, you can check programming guide to get more information.
mydevice.device_write([0xFD,0x04,0x00,0x00,0x00,0x00])
mydevice.device_write([0xFE,0x2D])

read_device_result=mydevice.device_read([0xFD],5,result_reverse=True)
# the return type is dict,
# the dict format is {'transactionErrorCode': 0, 'readData': [num1,num2,num3,num4,...]}
# transactionErrorCode = 0 -> successful , 1-> error.

print(f"read result={read_device_result['readData'][0:4]}")
>> read result=[115, 233, 87, 249]
```
---
## Mckinley method
### mckinley.get_device_otp_checksum()

Example:
```python
import ifxusb010
from ifxusb010 import mckinley 


mydongle = ifxusb010.dongle()

mydevice =mckinley.xdpe152xx(0x40,mydongle)
mydevice.get_device_otp_checksum()
print(f"device_checksum={mydevice.device_otp_checksum}")
>> device_checksum=0x73e957f9
```
casambi-web-controller 0.2.0
Using BLE to control a Casambi-based home lighting system via a web interface.
Requires Python: >=3.12

# Casambi Web Controller

Using BLE to control a Casambi-based home lighting system via a web interface.

## Prerequisites
- Python 3.12 or higher.

## Installation
```bash
python -m venv venv
source venv/bin/activate
pip install casambi-web-controller
```

## Execution
```bash
casambi-srv
```

## API Endpoints

### 1. Acquire device inventory
- **URL:** `/api/lights`
- **Method:** `GET`
- **Description:** Returns a list of all available devices and their current dimmer values.
- **Example:** `http://localhost:8000/api/lights`

### 2. Verify device status
- **URL:** `/api/status`
- **Method:** `GET`
- **Parameters:** `name` (string) for the specific device name.
- **Description:** Retrieves the status of a specified luminaire.
- **Example:** `http://localhost:8000/api/status?name=Entry Hall`

### 3. Configure brightness
- **URL:** `/api/set`
- **Method:** `GET`
- **Parameters:** `name` (string) for the device name and `dimmer` (integer) for the brightness level from 0 to 255.
- **Description:** Configures the brightness level for the specified device.
- **Example:** `http://localhost:8000/api/set?name=Entry Hall&dimmer=128`
pineai-cli 0.2.0
Unified CLI for Pine AI — voice calls & assistant tasks from your terminal
Requires Python: >=3.10
Keywords: assistant, cli, customer-service, phone, pine, pine-ai, voice

# Pine CLI

Unified command-line interface for [Pine AI](https://www.19pine.ai) — voice calls and assistant tasks from your terminal.

## Install

```bash
pip install pineai-cli
```

Or install from source:

```bash
cd pine-cli
pip install -e .
```

## Quick Start

```bash
# Authenticate (shared credentials for voice & assistant)
pine auth login

# Make a voice call
pine voice call \
  --to "+14155551234" \
  --name "Dr. Smith Office" \
  --context "I'm a patient needing a follow-up" \
  --objective "Schedule an appointment for next week"

# Check call status
pine voice status <call-id>

# Start an assistant chat
pine chat

# Send a one-shot message
pine send "Negotiate my Comcast bill down"

# List sessions
pine sessions list

# Start a task
pine task start <session-id>
```

## Commands

### Authentication

| Command | Description |
|---------|-------------|
| `pine auth login` | Log in with email verification |
| `pine auth status` | Show current auth status |
| `pine auth logout` | Clear saved credentials |

### Voice Calls

| Command | Description |
|---------|-------------|
| `pine voice call` | Make a phone call via Pine AI voice agent |
| `pine voice status <id>` | Check call status / get result |

**Voice call options:**

```
--to           Phone number (E.164 format, required)
--name         Callee name (required)
--context      Background context (required)
--objective    Call goal (required)
--instructions Detailed strategy
--caller       negotiator | communicator
--voice        male | female
--max-duration 1-120 minutes
--summary      Enable LLM summary
--wait         Wait for completion (default: yes)
--no-wait      Fire and forget
--json         JSON output
```

### Assistant

| Command | Description |
|---------|-------------|
| `pine chat [session-id]` | Interactive REPL chat |
| `pine send <message>` | One-shot message |
| `pine sessions list` | List sessions |
| `pine sessions get <id>` | Get session details |
| `pine sessions create` | Create new session |
| `pine sessions delete <id>` | Delete session |
| `pine task start <id>` | Start task execution |
| `pine task stop <id>` | Stop a running task |

## Configuration

Credentials are stored at `~/.pine/config.json` after `pine auth login`. Both voice and assistant commands share the same authentication.

## Dependencies

- [pine-voice](https://pypi.org/project/pine-voice/) — Pine AI Voice SDK
- [pine-assistant](https://pypi.org/project/pine-assistant/) — Pine AI Assistant SDK
- [click](https://click.palletsprojects.com/) — CLI framework
- [rich](https://rich.readthedocs.io/) — Terminal formatting

## License

MIT — see [LICENSE](LICENSE).