semvec/pypi-packages huggingface dataset:
ruuid4 0.2.0
A tiny, fast UUID4 generator powered by Rust.
Requires Python: >=3.8

# ruuid4

## Installation
```bash
pip install ruuid4
```

🔗 **Source:**
https://github.com/jashan7305/ruuid4

`ruuid4` is a tiny, fast UUID generator implemented in rust and exposed to python using PyO3.

## Features
- Generates RFC-4122 compliant UUID values (v1, v3, v4, v5, v6, v7, v8)
- Powered by Rust’s `uuid` crate
- Zero dependencies for Python users

## Functions
- `uuid1()` : Returns a UUIDv1 string (time-based using a random multicast Node ID).
- `uuid3(namespace, name)` : Returns a UUIDv3 string (MD5 hash-based).
- `uuid4()` : Returns a UUIDv4 string (random).
- `uuid5(namespace, name)` : Returns a UUIDv5 string (SHA-1 hash-based).
- `uuid6()` : Returns a UUIDv6 string (sortable, Gregorian time-based).
- `uuid7()` : Returns a UUIDv7 string (sortable, Unix Epoch time-based).
- `uuid8(data)` : Returns a UUIDv8 string (custom, requires exactly 16 bytes).
- `uuid4_bulk(count)` : Returns a list of UUIDv4 strings (optimized for bulk generation).

## Example

```python
import ruuid4

print(ruuid4.uuid4())
```
iflow-mcp_dingding_mcp_v2 0.1.0
DingTalk MCP Server V2 - A Model Control Protocol server for DingTalk integration
Requires Python: >=3.10

# DingTalk MCP Server V2

这是一个基于 MCP (Model Control Protocol) 的钉钉机器人服务器实现。它提供了与钉钉进行交互的各种功能，包括发送消息、获取会话信息、用户信息和日历事件等。

## 功能特性

- 发送消息到钉钉会话
- 获取钉钉会话信息
- 获取钉钉用户信息
- 查询用户日历事件
- 支持多种消息类型（文本、Markdown、链接等）

## 环境要求

- Python 3.10+
- MCP 0.1.0+
- aiohttp 3.9.1+

## 环境变量配置

使用前需要设置以下环境变量：

- `DINGTALK_APP_KEY`: 钉钉应用的 AppKey
- `DINGTALK_APP_SECRET`: 钉钉应用的 AppSecret

## 在 Claude 客户端中使用

1. 在你的 `claude_desktop_config.json` 中添加以下配置：
```json
{
  "mcpServers": {
    "dingding": {
      "command": "sh",
      "args": [
        "-c",
        "docker ps -a | grep mcp-dingding-v2 | awk '{print $1}' | xargs -r docker rm -f > /dev/null 2>&1; docker pull ghcr.io/wllcnm/mcp-dingding-v2:latest > /dev/null 2>&1; docker run -i --rm --name mcp-dingding-v2 -e DINGTALK_APP_KEY=你的AppKey -e DINGTALK_APP_SECRET=你的AppSecret ghcr.io/wllcnm/mcp-dingding-v2:latest"
      ]
    }
  }
}
```

2. 重启 Claude 客户端

注意：上面的启动命令会：
1. 查找并删除所有旧的 mcp-dingding-v2 容器
2. 从 GitHub 拉取最新的镜像
3. 使用 `--name` 参数给容器指定固定名称
4. 使用 `--rm` 参数在容器停止时自动删除

命令说明：
- `docker ps -a | grep mcp-dingding-v2 | awk '{print $1}' | xargs -r docker rm -f`: 删除所有旧容器
- `docker pull ghcr.io/wllcnm/mcp-dingding-v2:latest`: 拉取最新镜像
- `docker run -i --rm --name mcp-dingding-v2 ...`: 运行新容器
- `> /dev/null 2>&1`: 隐藏不必要的输出信息

## 本地开发

### 安装

```bash
pip install -r requirements.txt
```

### 运行

直接运行服务器：
```bash
python src/server.py
```

使用 Docker 运行：
```bash
# 清理旧容器
docker ps -a | grep mcp-dingding-v2 | awk '{print $1}' | xargs -r docker rm -f

# 构建并运行新容器
docker build -t dingding-mcp-v2 .
docker run -i --rm --name mcp-dingding-v2 \
  -e DINGTALK_APP_KEY=your_app_key \
  -e DINGTALK_APP_SECRET=your_app_secret \
  dingding-mcp-v2
```

## API 工具

### 1. send_message
发送消息到钉钉会话
- 参数：
  - conversation_id: 会话 ID
  - message: 消息内容
  - msg_type: 消息类型（可选，默认为 text）

### 2. get_conversation_info
获取钉钉会话信息
- 参数：
  - conversation_id: 会话 ID

### 3. get_user_info
获取钉钉用户信息
- 参数：
  - user_id: 用户 ID

### 4. get_calendar_list
查询用户的日历事件列表
- 参数：
  - userid: 用户 ID（必填）
  - start_time: 开始时间的时间戳（毫秒，可选）
  - end_time: 结束时间的时间戳（毫秒，可选）
  - max_results: 最大返回结果数（可选，默认 50）
  - next_token: 分页 token（可选）
- 返回：
  - events: 日历事件列表
    - summary: 事件标题
    - start_time: 开始时间
    - end_time: 结束时间
    - location: 地点
    - organizer: 组织者
    - description: 描述
    - status: 状态
    - attendees: 参与者列表
  - next_token: 下一页的 token
  - total: 本次返回的事件数量

## 使用示例

在 Claude 中，你可以这样使用工具：

```json
{
  "tool": "send_message",
  "arguments": {
    "conversation_id": "你的会话ID",
    "message": "Hello, DingTalk!",
    "msg_type": "text"
  }
}
```

查询日历示例：
```json
{
  "tool": "get_calendar_list",
  "arguments": {
    "userid": "用户ID",
    "start_time": 1704067200000,  // 2024-01-01 00:00:00
    "end_time": 1704153600000,    // 2024-01-02 00:00:00
    "max_results": 10
  }
}
```

## 注意事项

1. 安全性
   - 请妥善保管你的钉钉 API 凭证
   - 不要在公共场合分享你的配置文件
   - 建议使用环境变量而不是硬编码凭证

2. 故障排除
   - 检查 API 凭证是否正确
   - 确保网络连接正常
   - 查看日志输出了解详细错误信息

## 许可证

MIT
maxpylang 0.1.1
Python API for making MaxMSP patches.
Requires Python: >=3.9

# MaxPyLang

[![CI](https://github.com/Barnard-PL-Labs/MaxPy-Lang/actions/workflows/ci.yml/badge.svg)](https://github.com/Barnard-PL-Labs/MaxPy-Lang/actions/workflows/ci.yml)

MaxPyLang is a Python package for metaprogramming of MaxMSP that uses Python to generate and edit Max patches. MaxPyLang allows users to move freely between text-based Python programming and visual programming in Max, making it much easier to implement dynamic patches, random patches, mass-placement and mass-connection of objects, and other easily text-programmed techniques.

## Installation

```bash
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install maxpylang
```

## Documentation
- [Full Documentation](https://barnard-pl-labs.github.io/MaxPyLang/)
- [API Reference](https://barnard-pl-labs.github.io/MaxPyLang/API/API.html)
- [Examples](https://github.com/Barnard-PL-Labs/MaxPyLang/tree/main/examples)
- [Tutorials](https://barnard-pl-labs.github.io/MaxPyLang/tutorial.html)

## Quick Start

See this example in [examples/hello_world](./examples/hello_world).
To run this, `python3 examples/hello_world/main.py` will create a Max patch file `hello_world.maxpat` that contains a simple audio oscillator connected to the DAC.
You can then open this patch in MaxMSP and click the DAC to hear a 440 Hz tone.

```python
import maxpylang as mp

patch = mp.MaxPatch()
osc = patch.place("cycle~ 440")[0]
dac = patch.place("ezdac~")[0]
patch.connect([osc.outs[0], dac.ins[0]])
patch.save("hello_world.maxpat")
```

## Citation

MaxPy was published as a [demo paper](examples/NIME2023/MaxPy-NIME-2023-Paper.pdf) for NIME 2023.
The package name was updated to MaxPyLang in 2025 to avoid confusion with other similarly named packages.

## Video Demos 
### [Basics](https://www.youtube.com/watch?v=F8Fpe0Udc4M)      
[![Introduction to MaxPy](https://img.youtube.com/vi/F8Fpe0Udc4M/0.jpg)](https://www.youtube.com/watch?v=F8Fpe0Udc4M)     
Mark demonstrates the basics of installing MaxPy, creating patches, and placing objects.   
<br>
### [Variable-Oscillator Synth](https://www.youtube.com/watch?v=nxusu32kkxs)       
[![Variable-Oscillator Synth Explanation](https://img.youtube.com/vi/nxusu32kkxs/0.jpg)](https://www.youtube.com/watch?v=nxusu32kkxs)      
Ranger explains a MaxPy script that dynamically generates an additive synth with a variable number of oscillators. The code for this synth is under [examples/variable-osc-synth](examples/variable-osc-synth). 
<br>
### [Replace() function]((https://youtu.be/RgYRqXn8Z6o))       
[![Using Replace() function with MaxPy](https://img.youtube.com/vi/RgYRqXn8Z6o/0.jpg)](https://youtu.be/RgYRqXn8Z6o)      
Satch explains using the replace() function to selectively replace objects in a loaded patch to sonify stock data. The code for this is under [examples/stocksonification_v1](examples/stocksonification_v1).