semvec/pypi-packages huggingface dataset:
toolsz 1.0.1
负责工具
Requires Python: >=3.10

# pylibz

一个强大的Python工具库，包含多种实用功能。

## 📊 AI模型定价爬虫

使用pyppeteer爬取动态网页的AI模型定价信息，并生成交互式可视化分析。

### 🚀 功能特性

- **动态网页爬取**: 使用pyppeteer爬取JavaScript渲染的动态网页
- **智能数据解析**: 自动识别表格结构，提取AI模型定价信息
- **交互式可视化**: 使用Plotly生成美观的交互式图表
- **多种图表类型**: 包括柱状图、对比图、综合仪表板等
- **数据导出**: 支持CSV格式数据导出
- **中文支持**: 完全支持中文显示

### 📦 安装依赖

```bash
# 使用uv管理依赖（推荐）
uv add pyppeteer pandas plotly

# 或使用pip
pip install pyppeteer pandas plotly
```

### 🔧 使用方法

#### 基础用法

```python
import asyncio
from pylibz.pricing_scraper import PricingScraper

async def main():
    # 创建爬虫实例
    scraper = PricingScraper()
    
    # 爬取编写AI的定价页面
    url = "https://api.bianxie.ai/pricing"
    df = await scraper.run(url)
    
    if df is not None:
        print(f"成功获取 {len(df)} 个AI模型的定价信息")

# 运行爬虫
asyncio.run(main())
```

#### 命令行运行

```bash
# 直接运行脚本
python pylibz/pricing_scraper.py
```

### 📈 生成的文件

运行爬虫后会生成以下文件：

#### 数据文件
- `pylibz/pricing_data.csv` - 原始定价数据（CSV格式）

#### 可视化文件
- `pylibz/pricing_chart.html` - 基础价格对比图
- `pylibz/pricing_comparison.html` - 提示vs补全价格对比图
- `pylibz/pricing_dashboard.html` - 综合分析仪表板

### 🎨 可视化特性

#### 1. 基础价格对比图
- 分别显示提示价格和补全价格的柱状图
- 支持悬浮显示详细信息
- 仅显示前20个模型以保持可读性

#### 2. 价格对比图
- 并排显示提示价格和补全价格
- 便于直观比较两种价格类型
- 支持交互式缩放和筛选

#### 3. 综合分析仪表板
- **价格分布统计**: 直方图显示价格分布情况
- **模型类型分布**: 饼图显示不同AI厂商的占比
- **价格趋势**: 散点图显示价格变化趋势
- **平均价格对比**: 整体平均价格对比

### 📊 数据结构

爬取的数据包含以下字段：

```csv
model_name,prompt_price,completion_price,availability,billing_type,price_text,avg_price
gpt-3.5-turbo,0.5,1.5,可用,按量计费,"提示 $0.5 / 1M tokens 补全 $1.5 / 1M tokens",1.0
```

- `model_name`: AI模型名称
- `prompt_price`: 提示价格（USD/1M tokens）
- `completion_price`: 补全价格（USD/1M tokens）
- `availability`: 可用性状态
- `billing_type`: 计费类型
- `price_text`: 原始价格文本
- `avg_price`: 平均价格

### 🛠️ 自定义配置

#### 修改爬取目标

```python
# 创建爬虫实例
scraper = PricingScraper()

# 爬取其他网站
custom_url = "your-target-website.com/pricing"
df = await scraper.run(custom_url)
```

#### 调整可视化参数

```python
# 修改显示的模型数量
df_custom = df.head(10)  # 只显示前10个模型
scraper.create_bar_chart(df_custom)
```

#### 自定义图表样式

可以在`create_bar_chart`、`create_comparison_chart`等方法中修改：
- 颜色主题
- 图表尺寸
- 字体样式
- 交互功能

### ⚠️ 注意事项

1. **首次运行**: pyppeteer首次运行时会自动下载Chromium浏览器
2. **网络连接**: 需要稳定的网络连接访问目标网站
3. **反爬虫**: 某些网站可能有反爬虫机制，建议适当增加延时
4. **浏览器资源**: 爬虫会启动浏览器实例，确保有足够的系统资源

### 🐛 故障排除

#### 常见问题

1. **中文显示问题**: 已使用Plotly解决，支持完美的中文显示
2. **浏览器启动失败**: 检查系统是否支持headless Chrome
3. **网络超时**: 增加`timeout`参数值
4. **数据提取失败**: 检查目标网站结构是否变化

#### 错误处理

脚本内置了完善的错误处理机制：
- 网络连接失败时使用示例数据
- 浏览器异常时自动清理资源
- 数据解析失败时提供友好提示

### 📄 许可证

MIT License

### 🤝 贡献

欢迎提交Issue和Pull Request来改进这个工具！

### 📞 联系方式

如有问题或建议，请通过以下方式联系：
- 创建GitHub Issue
- 发送邮件或其他联系方式

---

## 🔗 相关链接

- [pyppeteer文档](https://pyppeteer.github.io/pyppeteer/)
- [Plotly文档](https://plotly.com/python/)
- [Pandas文档](https://pandas.pydata.org/)
sqlite-to-erd 0.6.0
Generate ERD diagrams from SQLite databases
Requires Python: >=3.12
Keywords: sqlite, erd, database, visualization, graphviz, diagram

# sqlite-to-erd

Convert SQLite database schemas into Entity Relationship Diagrams (ERDs) using GraphViz.

## Features

- 📊 Visualize SQLite database schemas as ERDs
- 🔗 Automatic foreign key relationship detection
- 📐 Two rendering modes: HTML-like tables or simple boxes
- 🖼️ Direct PNG generation with `--png` flag
- 🔒 Read-only database access for safety

## Installation

### Option 1: Run directly with uvx (recommended)

Requires Python 3.12+ and [uvx](https://github.com/astral-sh/uv).

```bash
# Install GraphViz (required for image generation)
# macOS: brew install graphviz
# Ubuntu: sudo apt-get install graphviz
# Windows: https://graphviz.org/download/

# Run directly from PyPI without installing
uvx sqlite-to-erd database.db
```

### Option 2: Local installation

```bash
# Clone the repository
git clone https://github.com/knowsuchagency/sqlite-to-erd.git
cd sqlite-to-erd

# Install dependencies
uv sync

# Install GraphViz (for image generation)
# macOS: brew install graphviz
# Ubuntu: sudo apt-get install graphviz
# Windows: https://graphviz.org/download/
```

## Usage

### Basic Usage

**With uvx (run directly from PyPI):**

```bash
# Generate DOT format output
uvx sqlite-to-erd database.db

# Generate PNG directly
uvx sqlite-to-erd database.db --png schema.png

# Use simple box format instead of HTML tables
uvx sqlite-to-erd database.db --simple
```

**With local installation:**

```bash
# Generate DOT format output
uv run sqlite_to_erd.py database.db

# Generate PNG directly
uv run sqlite_to_erd.py database.db --png schema.png

# Pipe to GraphViz for other formats
uv run sqlite_to_erd.py database.db | dot -Tsvg -o schema.svg

# Use simple box format instead of HTML tables
uv run sqlite_to_erd.py database.db --simple

# Combine options
uv run sqlite_to_erd.py database.db --simple --png simple_schema.png
```

### Quick Examples

```bash
# Test with included examples
just fk-png      # Creates test_fk.png
just complex-png # Creates complex_test.png
```

## Output Format

The tool generates GraphViz DOT format, which can be:

- Piped to `dot`, `neato`, `fdp`, etc. for different layouts
- Exported to PNG, SVG, PDF, and other formats
- Edited manually for fine-tuning

## Examples

### Simple Database

```bash
echo "
CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);
CREATE TABLE posts (
    id INTEGER PRIMARY KEY,
    user_id INTEGER,
    title TEXT,
    FOREIGN KEY (user_id) REFERENCES users(id)
);
" | sqlite3 blog.db

# With uvx
uvx sqlite-to-erd blog.db --png blog.png

# Or with local installation
uv run sqlite_to_erd.py blog.db --png blog.png
```

## Development

```bash
# Run tests
just fk        # Test foreign key visualization
just complex   # Test complex schema

# Generate test images
just fk-png
just complex-png
```

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contributing

Pull requests welcome! Please test your changes with the included test databases.
mcp-webpage-to-s3 0.1.3
MCP Server for deploy html content to S3
Requires Python: >=3.12

# MCP WebPage To S3

一个基于 Python FastMCP 框架的 MCP 服务器，专注于将网页内容快速部署到 S3 存储服务。

可以看作腾讯 edgeone-pages 的基于 S3 的替代品。 

## 功能特性

- **deploy_html_to_s3**: 将 HTML 内容部署到 S3 存储并获取访问链接
- 支持所有 S3 兼容的云存储服务

## 安装要求

- Python 3.12+
- uv 包管理器（推荐）

## 快速开始

### 1. 克隆项目

```bash
git clone <repository-url>
cd mcp-webpage-to-s3
```

### 2. 安装依赖

```bash
# 使用 uv 安装依赖
uv sync

# 或使用 pip
pip install -e .
```

### 3. 配置服务器

```bash
# 复制并编辑配置文件
cp config.yaml.sample config.yaml
# 编辑 config.yaml，填入你的 S3 存储配置
```

### 4. 运行服务器

```bash
# 使用 Python 直接运行
python main.py

# 或使用安装的命令
mcp-webpage-to-s3

# 或使用 uvx 直接运行（推荐）
uvx mcp-webpage-to-s3
```

## 配置说明

项目支持两种配置方式：**环境变量**（优先）和**配置文件**。这分别适用于 stdio 和 容器化部署 两种模式。

### 方式 1：环境变量配置（stdio 模式下推荐）

```bash
# S3 存储配置
export MCP_S3_ACCESS_KEY="your_access_key_id"
export MCP_S3_SECRET_KEY="your_secret_access_key"
export MCP_S3_BUCKET="your-bucket-name"
export MCP_S3_ENDPOINT="https://s3.amazonaws.com"
export MCP_S3_BASE_URL="https://your-bucket.s3.ap-southeast-1.amazonaws.com"
export MCP_S3_REGION="ap-southeast-1"

# MCP 服务器配置
export MCP_TRANSPORT="stdio"
export MCP_PORT="8001"
export MCP_LOG_LEVEL="INFO"

# 运行服务器
uvx mcp-webpage-to-s3
```

### 方式 2：配置文件（容器化部署下推荐）

配置文件 `config.yaml` 使用 YAML 格式，包含以下配置项：

```yaml
# MCP 服务器配置
mcp_server:
  port: 8001                    # 服务器端口
  transport: stdio              # 传输协议：stdio, http, sse, streamable-http

# S3 存储配置
s3:
  access_key: your_access_key_id      # S3 访问密钥 ID
  secret_key: your_secret_access_key  # S3 访问密钥
  bucket: your-bucket-name            # S3 存储桶名称
  endpoint: https://s3.amazonaws.com  # S3 服务端点
  base_url: https://your-bucket.s3.ap-southeast-1.amazonaws.com  # 文件访问基础 URL
  region: ap-southeast-1              # 存储区域

# 日志级别
log_level: INFO
```

## MCP 工具说明

### deploy_html_to_s3

将 HTML 内容部署到 S3 存储并返回访问链接。

**参数：**
- `html_content` (str): 要部署的 HTML 文件内容

**返回示例：**
```json
{
  "success": true,
  "message": "HTML 文件部署成功",
  "url": "https://bucket.s3.amazonaws.com/abc123def456.html"
}
```

**错误返回示例：**
```json
{
  "success": false,
  "error": "S3 客户端未初始化，无法上传文件"
}
```

## 版本历史

- **v0.2.0**: 
  - ✨ 新增环境变量配置支持
  - 🔧 配置优先级：环境变量 > 配置文件
  - 📦 改进包构建和入口点配置
  - 🐳 优化 Docker 和 CI/CD 使用体验
- **v0.1.1**: 发布到 pypi
- **v0.1.0**: 初始版本，支持基本的 HTML 部署功能3、阿里云 OSS、腾讯云 COS 等）
- 自动生成唯一文件名，避免文件冲突
- 优化的 HTML 文件缓存和内容类型设置
- 支持多种传输协议（stdio、http、sse、streamable-http）

## 许可证

MIT License - 详见 LICENSE 文件
bocha-search-mcp 0.0.1
A
Requires Python: >=3.12

# MCP Server 产品名称: 博查

![Bocha Search MCP Server](assets/bocha-logo-720x180.png)

## 版本信息
v1

## 产品描述
### 短描述
博查是一个给AI用的搜索引擎，让你的AI应用从近百亿网页和生态内容源中获取高质量的世界知识，涵盖天气、新闻、百科、医疗、火车票、图片等多种领域。

### 长描述
博查是一个给AI用的搜索引擎，让你的AI应用从近百亿网页和生态内容源中获取高质量的世界知识，涵盖天气、新闻、百科、医疗、火车票、图片等多种领域。

## 分类
网页搜索

## 标签
搜索, 新闻, 天气, 百科

## Tools
### Tool1: Bocha Web Search
#### 详细描述
从博查搜索全网信息和网页链接，返回结果包括网页标题、网页URL、网页摘要、网站名称、网站图标、发布时间、图片链接等。

#### 调试所需要的参数
输入:
  - query: 搜索词(必填)
  - freshness: 搜索指定时间范围内的网页 (可选值 YYYY-MM-DD, YYYY-MM-DD..YYYY-MM-DD, noLimit, oneYear, oneMonth, oneWeek, oneDay. 默认为 noLimit)
  - count: 返回结果的条数 (1-50, 默认为 10)

输出:
  - 网页标题、网页链接、网页摘要、发布时间、网站名称

### Tool2: Bocha AI Search
#### 详细描述
在博查网页搜索的基础上，AI识别搜索词语义并额外返回垂直领域内容的结构化模态卡，例如天气卡、日历卡、百科卡等几十种模态卡，在语义识别、搜索结果时效性、内容丰富性等方面更好。

#### 调试所需要的参数
输入:
  - query: 搜索词(必填)
  - freshness: 搜索指定时间范围内的网页 (可选值 YYYY-MM-DD, YYYY-MM-DD..YYYY-MM-DD, noLimit, oneYear, oneMonth, oneWeek, oneDay. 默认为 noLimit)
  - count: 返回结果的条数 (1-50, 默认为 10)

输出:
  - 网页标题、网页链接、网页摘要、发布时间、网站名称、模态卡

## 可适配平台
方舟, python, Claude, Cursor等

## 服务开通链接
您需要前往 [博查AI开放平台](https://open.bochaai.com)，登陆后获取 API KEY。

## 鉴权方式
API Key

## 安装部署
### 步骤一：下载代码至本地
```bash
git clone git@github.com:BochaAI/bocha-search-mcp.git
```

### 步骤二: 在客户端中配置
#### Claude Desktop
On MacOS: `~/Library/Application\ Support/Claude/claude_desktop_config.json`

On Windows: `%APPDATA%/Claude/claude_desktop_config.json`

```json
  "mcpServers": {
    "bocha-search-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/bocha-search-mcp",
        "run",
        "bocha-search-mcp"
      ],
      "env": {
        "BOCHA_API_KEY": "sk-****"
      }
    }
  }
  ```

### 步骤三: 在客户端中使用
![示例: alibaba 2024 esg report](assets/alibaba-2024-esg-report.png)

### 步骤四: 调试本地服务（可选）
```bash
npx @modelcontextprotocol/inspector uv --directory /path/to/bocha-search-mcp run bocha-search-mcp
```

## 客户案例

目前博查已经累计服务**3000+企业用户**和**20000+开发者用户**，并且成为**DeepSeek官方联网搜索供应方**以及**阿里、腾讯、字节官方推荐的搜索API**，目前**承接着国内60%以上AI应用的联网搜索请求**。

博查的搜索内容源包括全网近百亿个网页，以及生态合作内容（含短视频、新闻、百科、天气、医疗、火车票、酒店、餐厅、景点、企业、学术等）。博查后续将会继续与各个平台在内容生态、智能体创作等方面开展共创合作，为博查用户的搜索问题提供丰富多彩的答案。

## 常见问题

### Bocha Web Search API服务可以提供什么样的能力?
Bocha Web Search 提供全网通用搜索能力。您可以从博查搜索全网信息和网页链接，返回结果包括网页标题、网页URL、网页摘要、网站名称、网站图标、发布时间、图片链接等，每次搜索结果返回的网页最多支持50条（count50）。

传统搜索引擎使用的是关键字+竞价排名机制的搜索算法，搜索结果的目标不是直接为用户提供正确的答案，而是吸引用户点击以获得广告收入。

博查是基于多模态混合搜索与语义排序技术的新一代搜索引擎，支持AI应用场景的自然语言搜索方式，同时搜索结果目标是提供干净、准确、高质量的答案。

博查的语义排序技术基于Transformer架构，会根据搜索结果与用户问题的语义相关性进行排序。由于大模型同样是Transformer架构，通过判断上下文与用户问题的语义相关性进行取舍，因此最终大模型更加喜欢博查提供的搜索结果。

目前博查的搜索效果是国内最接近Bing Search API的搜索引擎，由于Bing Search API数据会出海（无国内Region）、价格昂贵（15美元/千次）且不提供文本摘要（只有50-100字的snippet），国内很多企业客户都已经从Bing切换至博查。

### Bocha AI Search API 服务可以提供什么样的能力？
Bocha AI Search 在博查 Web Search 的基础上，AI识别搜索词语义并额外返回垂直领域内容的结构化模态卡，例如天气卡、日历卡、百科卡等几十种模态卡，在语义识别、搜索结果时效性、内容丰富性等方面更好。

目前支持的模态卡类型包括：天气、百科、医疗、万年历、火车、星座属相、贵金属、汇率、油价、手机、股票、汽车等。

以股票信息为例，网页中一般无法获取到实时的股票数据，需要结构化模态卡来支撑。博查AI Search API可以在提供网页信息的基础上，额外输出股价的结构化数据模态卡，通过模态卡提供的结构化数据，可以进一步增强AI应用中用户对于时效性问题的回答准确性。
mcp-web-deploy 0.1.0
MCP server for libcloud operations with deploy_html tools
Requires Python: >=3.12

# MCP WebPage To S3

一个基于 Python FastMCP 框架的 MCP 服务器，专注于将网页内容快速部署到 S3 存储服务。

可以看作腾讯 edgeone-pages 的基于 S3 的替代品。 

## 功能特性

- **deploy_html_to_s3**: 将 HTML 内容部署到 S3 存储并获取访问链接
- 支持所有 S3 兼容的云存储服务（AWS S3、阿里云 OSS、腾讯云 COS 等）
- 自动生成唯一文件名，避免文件冲突
- 优化的 HTML 文件缓存和内容类型设置
- 支持多种传输协议（stdio、http、sse、streamable-http）

## 安装要求

- Python 3.12+
- uv 包管理器（推荐）

## 快速开始

### 1. 克隆项目

```bash
git clone <repository-url>
cd mcp-webpage-to-s3
```

### 2. 安装依赖

```bash
# 使用 uv 安装依赖
uv sync

# 或使用 pip
pip install -e .
```

### 3. 配置服务器

```bash
# 复制并编辑配置文件
cp config.yaml.sample config.yaml
# 编辑 config.yaml，填入你的 S3 存储配置
```

### 4. 运行服务器

```bash
# 使用 Python 直接运行
python main.py
```

## 配置说明

配置文件 `config.yaml` 使用 YAML 格式，包含以下配置项：

```yaml
# MCP 服务器配置
mcp_server:
  port: 8001                    # 服务器端口
  transport: stdio              # 传输协议：stdio, http, sse, streamable-http

# S3 存储配置
s3:
  access_key: your_access_key_id      # S3 访问密钥 ID
  secret_key: your_secret_access_key  # S3 访问密钥
  bucket: your-bucket-name            # S3 存储桶名称
  endpoint: https://s3.amazonaws.com  # S3 服务端点
  base_url: https://your-bucket.s3.ap-southeast-1.amazonaws.com  # 文件访问基础 URL
  region: ap-southeast-1              # 存储区域

# 日志级别
log_level: INFO
```

## MCP 工具说明

### deploy_html_to_s3

将 HTML 内容部署到 S3 存储并返回访问链接。

**参数：**
- `html_content` (str): 要部署的 HTML 文件内容

**返回示例：**
```json
{
  "success": true,
  "message": "HTML 文件部署成功",
  "url": "https://bucket.s3.amazonaws.com/abc123def456.html"
}
```

**错误返回示例：**
```json
{
  "success": false,
  "error": "S3 客户端未初始化，无法上传文件"
}
```

## 版本历史

- **v0.1.0**: 初始版本，支持基本的 HTML 部署功能

## 许可证

MIT License - 详见 LICENSE 文件

## 支持

如有问题或建议，请：
1. 查看[故障排除](#故障排除)部分
2. 搜索现有的 Issues
3. 创建新的 Issue 并提供详细信息