semvec/pypi-packages huggingface dataset:
hogwarts-android-mcp 0.1.3
android adb mcp tool
Requires Python: >=3.10

# hogwarts-android-mcp

hogwarts-android-mcp，支持android自动化的mcp工具，基于adb。
霍格沃兹测试开发学社学员体验版，本工具为教学演示版本。

## 使用

```bash
# 安装
pip install hogwarts-android-mcp
pip install hogwarts-agent

# 启动mcp
hogwarts-android-mcp --port 8931

# 运行agent
hogwarts-agent --llm.model deepseek-chat --llm.base_url https://api.deepseek.com/v1 --llm.key $DEEPSEEK_TOKEN  -p '打开百度 搜索霍格沃兹测试开发学社 打开搜索结果中的第一条链接' --mcp.name playwright --mcp.url http://localhost:8931/sse
```

## 参数说明

```text
$ hogwarts-android-mcp -h
usage: hogwarts-android-mcp [-h] [--element_black_list list[str]]
                            [--element_white_list list[str]]
                            [--attribute_black_list list[str]]
                            [--attribute_white_list list[str]] [--udid str]
                            [--adb_port int] [--adb_host str] [-p int]
                            [--host str]

hogwarts-android-agent 0.1.0, 支持自定义 mcp 的 playwright agent。
霍格沃兹测试开发学社学员体验版，本工具为教学演示版本。

如需企业版本可联络。
- [商务合作](https://ceshiren.com/t/topic/34688#h-5)
- [霍格沃兹测试开发学社](https://testing-studio.com)
- [测吧（北京）科技有限公司](https://ceba.ceshiren.com)
- [测试人交流社区](https://ceshiren.com)

示例
# 启动 mcp
hogwarts-android-agent -p 8010
# 使用
hogwarts-ai-agent --llm.model deepseek-chat --llm.base_url https://api.deepseek.com/v1 --llm.key $DEEPSEEK_TOKEN  -p '打开百度 搜索霍格沃兹测试开发学社 打开搜索结果中的第一条链接' --mcp.name playwright --mcp.url http://localhost:8010/sse

options:
  -h, --help            show this help message and exit
  --element_black_list list[str]
                        xpath, exclude element or attribute (default factory:
                        list)
  --element_white_list list[str]
                        xpath, only include element or attribute (default
                        factory: list)
  --attribute_black_list list[str]
                        attribute black list (default: [])
  --attribute_white_list list[str]
                        attribute white list (default: ['package', 'text',
                        'selected', 'class', 'resource-id', 'content-desc',
                        'bounds'])
  --udid str            android udid (default: null)
  --adb_port int        adb port (default: 5037)
  --adb_host str        remote adb (default: 127.0.0.1)
  -p int, --port int    listen port 监听端口 (default: 8000)
  --host str            listen host 监听主机 (default: 127.0.0.1)

```

## 霍格沃兹测试开发学社

- [测试人社区](https://ceshiren.com)
- [霍格沃兹测试开发学社](https://testing-studio.com)
- [测吧（北京）科技有限公司](https://ceba.ceshiren.com)
- [商务合作](https://ceshiren.com/t/topic/34688#h-5)
python-openstackmcp-server 1.0.0
A MCP server providing OpenStack services for MCP clients
Requires Python: >=3.10

# python-openstackmcp-server

Openstack mcp server is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro) server that provides an interface for AI assistants to interact with OpenStack services.

```mermaid
flowchart LR
    AI[AI Assistant] <-->|MCP Protocol| Server[OpenStack MCP Server]
    Server <-->|OpenStack SDK| SDK[OpenStack SDK]
    SDK <-->|REST API| Cloud[OpenStack Cloud]
```

# Table of Contents
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Quick Start with Claude Desktop](#quick-start-with-claude-desktop)
  - [Requirements](#requirements)
  - [Using python](#using-python)
  - [Using uvx](#using-uvx)
  - [Contributing](#contributing)
  - [License](#license)

# Features
- **MCP Protocol Support**: Implements the Model Context Protocol for AI assistants.
- **Compute Tools**: Manage OpenStack compute resources (servers, flavors).
- **Image Tools**: Manage OpenStack images.
- **Identity Tools**: Handle OpenStack identity and authentication.
- **Network Tools**: Manage OpenStack networking resources.
- **Block Storage Tools**: Manage OpenStack block storage resources.

# Quick Start with Claude Desktop

Get started quickly with the OpenStack MCP server using Claude Desktop

## Requirements
- Python 3.10 or higher
- OpenStack credentials configured in `clouds.yaml` file
- Claude Desktop installed

1. **Create or update your `clouds.yaml` file with your OpenStack credentials.**
   
   Example `clouds.yaml`:
   ```yaml
   clouds:
     openstack:
       auth:
         auth_url: https://your-openstack-auth-url.com
         username: your-username
         password: your-password
         project_name: your-project-name
         user_domain_name: Default
         project_domain_name: Default
       region_name: your-region
       interface: public
       identity_api_version: 3
   ```

2. **Create or update your Claude Desktop configuration file**:
   - **macOS**: Edit `$HOME/Library/Application Support/Claude/claude_desktop_config.json`
   - **Windows**: Edit `%APPDATA%\Claude\claude_desktop_config.json`
   - **Linux**: Edit `$HOME/.config/Claude/claude_desktop_config.json`
   
### Using python
 
   ```json
   {
     "mcpServers": {
       "openstack-mcp-server": {
         "command": "/path/to/your/python",
         "args": [
           "python-openstackmcp-server"
         ],
         "env" : {
           "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
         }
       }
     }
   }
   ```

### Using uvx
  
   ```json
   {
     "mcpServers": {
       "openstack-mcp-server": {
         "command": "uvx",
         "args": [
           "python-openstackmcp-server"
         ],
         "env" : {
           "OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
         }
       }
     }
   }
   ```

# Contributing
Contributions are welcome! Please see the [CONTRIBUTING](CONTRIBUTING.rst) file for details on how to contribute to this project.

# License
This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.
mashrur-facebook-scraper 2.0.5
Professional-grade Facebook data extraction tool - Cython compiled for code protection
Requires Python: >=3.7

# Mashrur Facebook Scraper - Ultra Simple

**Made by Mashrur Rahman**

## Ultra Simple - Just 5 Parameters

```python
from mashrur_facebook_scraper import scrape_facebook_posts

posts = scrape_facebook_posts("email", "password", "page_url", num_posts, "output_file.json")
```

## Installation

```bash
pip install mashrur-facebook-scraper
```

## Usage

### Create your scraper file:

```python
from mashrur_facebook_scraper import scrape_facebook_posts

posts = scrape_facebook_posts(
    "your_email@example.com",
    "your_password",
    "https://www.facebook.com/indianexpress",
    5,
    "my_data.json"
)

print(f"Scraped {len(posts)} posts!")
```

### Function Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `email` | str | Your Facebook email |
| `password` | str | Your Facebook password |
| `page_url` | str | Facebook page URL |
| `num_posts` | int | Number of posts |
| `output_filename` | str | Output JSON filename |

## Output Format

The scraper generates clean JSON data with the following structure:

```json
[
  {
    "post_id": "123456789",
    "url": "https://facebook.com/posts/123456789",
    "content": "Post content text here...",
    "user_username_raw": "Page Name",
    "date_posted": "2025-01-15T10:30:00Z",
    "likes": 1250,
    "num_comments": 45,
    "num_shares": 12,
    "media_urls": ["https://facebook.com/image1.jpg"],
    "hashtags": ["#example", "#hashtag"],
    "post_type": "Post",
    "is_sponsored": false
  }
]
```

## Advanced Examples

### Batch Processing Multiple Pages
```python
from mashrur_facebook_scraper import scrape_facebook_posts

pages = [
    "https://www.facebook.com/cnn",
    "https://www.facebook.com/bbc",
    "https://www.facebook.com/reuters"
]

for page in pages:
    page_name = page.split('/')[-1]
    filename = f"{page_name}_posts.json"

    posts = scrape_facebook_posts(
        email="your_email@example.com",
        password="your_password",
        page_url=page,
        num_posts=20,
        output_filename=filename
    )

    print(f"Scraped {len(posts)} posts from {page_name}")
```

### Error Handling
```python
from mashrur_facebook_scraper import scrape_facebook_posts

try:
    posts = scrape_facebook_posts(
        email="your_email@example.com",
        password="your_password",
        page_url="https://www.facebook.com/invalidpage",
        num_posts=10
    )
except ValueError as e:
    print(f"Input error: {e}")
except Exception as e:
    print(f"Scraping error: {e}")
```

## Requirements

- Python 3.7 or higher
- Chrome browser installed
- Valid Facebook credentials
- Stable internet connection

## Support

- **Email**: mashrur950@gmail.com

## License

Proprietary - All rights reserved to Mashrur Rahman
kmotions 0.3.8
Keyframe motions for Kbot
Requires Python: >=3.11

# kmotions

Keyframe-based motion sequences for KBOT robot arms.

## Usage

```python
from kmotions.motions import MOTIONS

motion = MOTIONS["wave"](dt=0.01)
while (frame := motion.get_next_motion_frame()) is not None:
    # Send frame to robot
    pass
```