semvec/pypi-packages huggingface dataset:
dbgpkg 1.3.8
Python Debugging Toolkit
Requires Python: >=3.6

# DbgPkg - Python Debugging Toolkit

![Python Version](https://img.shields.io/badge/python-3.6+-blue.svg)
![License](https://img.shields.io/badge/license-MIT-green.svg)
![PyPI Version](https://img.shields.io/pypi/v/dbgpkg.svg)

DbgPkg is a powerful Python debugging library that provides utilities for setting breakpoints, inspecting variables, and debugging Python scripts with ease.

## Features

- 🛑 **Flexible Breakpoints**: Set breakpoints in your code with a simple function call
- 🔍 **Variable Inspection**: Examine variables and their values at runtime
- 📝 **Debug Logging**: Enhanced logging capabilities for debugging sessions
- ⏱️ **Execution Timing**: Measure execution time of code blocks
- 🧩 **Lightweight**: Minimal dependencies and easy to integrate

## Installation

Install DbgPkg using pip:

```bash
pip install dbgpkg
```

## Quick Start

```python
from dbgpkg import debugger

# Set a breakpoint
debugger.breakpoint()

# Inspect variables
debugger.inspect(locals())

# Time a code block
with debugger.timer("Important operation"):
    # Your code here
    result = expensive_operation()
```

## Usage

### Setting Breakpoints

```python
from dbgpkg import debugger

def my_function():
    debugger.breakpoint()  # Execution will pause here
    print("This will execute after continuing")
```

### Variable Inspection

```python
from dbgpkg import debugger

def calculate(a, b):
    debugger.inspect(locals())  # Show all local variables
    return a * b
```

### Timing Code Execution

```python
from dbgpkg import debugger

with debugger.timer("Database query"):
    results = db.query("SELECT * FROM large_table")
```

### Conditional Breakpoints

```python
from dbgpkg import debugger

def process_data(data):
    debugger.break_if(len(data) > 1000)  # Only breaks if condition is True
    # Process data...
```

## Advanced Features

### Remote Debugging

```python
from dbgpkg import remote_debugger

# Connect to remote debugger
remote_debugger.connect(host='localhost', port=9000)

# Set remote breakpoint
remote_debugger.breakpoint()
```

### Custom Debug Output

```python
from dbgpkg import debugger

# Configure debug output
debugger.configure(
    output_file="debug.log",
    verbose=True,
    max_depth=3
)
```

## Configuration

DbgPkg can be configured via environment variables or programmatically:

| Variable | Description | Default |
|----------|-------------|---------|
| `DBG_VERBOSE` | Enable verbose output | `False` |
| `DBG_OUTPUT_FILE` | File path for debug output | `None` |
| `DBG_MAX_DEPTH` | Maximum recursion depth for inspection | `2` |

## Contributing

Contributions are welcome! Please fork the repository and submit a pull request.

## License

DbgPkg is released under the MIT License. See [LICENSE](LICENSE) for details.
mcp-miaokong-WSD 0.1.0
让控制变得简单!
Requires Python: >=3.11

# MCP硬件控制服务
**Version**: 1.0.0 (Beta)
**对接硬件厂商**: 秒控科技（[www.wsdxyz.cn](http://www.wsdxyz.cn)）

---

## 目的
通过标准化控制协议（MCP）实现对秒控科技硬件设备的远程操控，主要功能包括：
- 触摸屏可视化界面控制
- PLC开关控制器指令执行
- 设备操作数据追溯

---

## 支持范围
### 设备类型
| 设备类型           | 固件版本要求  | 协议支持       |
|--------------------|---------------|----------------|
| 秒控触摸屏         | V2.3+         | MCP/WebSocket  |
| 秒控PLC开关控制器  | V1.7+         | Modbus RTU     |

### 功能矩阵
#### 触摸屏操作
```plaintext
✅ 切换屏幕页面（通过ScreenID）
✅ 输入数值型控件数据（范围校验）
✅ 输入字符串型控件（长度≤128字符）
✅ 获取当前屏幕控件状态
⏳ 多语言切换（开发中）
PLC开关控制器操作
✅ 执行预设动作序列（需预编程）
✅ 实时读取端口状态（DI/DO）
✅ 获取设备动作日志（时间倒序）
✅ 发送Modbus指令（04/06功能码）
⏳ 自定义动作编排（开发中）
使用准备
1. 获取API密钥
# 从秒控科技获取认证密钥（必填项）
from mcp import MCPClient

client = MCPClient(
    api_key="your_license_key",  # 联系吴工 13961653399 申请
    endpoint="https://api.wsdxyz.cn/v1"
)
2. 设备鉴权
# 自动绑定账号下所有设备（需有效API Key）
devices = client.get_devices()
print(f"已授权设备: {[d['sn'] for d in devices]}")
快速开始
触摸屏基础操作
# 切换到指定屏幕（ScreenID范围 1000-9999）
result = client.operate_device(
    device_sn="TP-7XG-001",
    command="screen.switch",
    params={"screen_id": 1002}
)

# 向数值控件写入数据（控件ID需预配置）
client.operate_device(
    device_sn="TP-7XG-001",
    command="control.set_value",
    params={
        "control_id": "num_input_1",
        "value": 37.5,
        "data_type": "float"
    }
)
PLC控制器操作
# 执行预设动作（动作ID由PLC编程定义）
client.operate_device(
    device_sn="PLC-DC48-003",
    command="action.start",
    params={"action_id": "SEQ_POWER_ON"}
)

# 读取端口状态（port_range格式：0-15）
status = client.get_device_status(
    device_sn="PLC-DC48-003",
    data_type="io_status",
    params={"port_range": "0-7"}
)
详细操作说明
设备数据获取
# 获取时间范围数据（ISO8601时间格式）
history = client.get_history_data(
    device_sn="TP-7XG-001",
    start_time="2024-03-01T08:00:00+08:00",
    end_time="2024-03-01T18:00:00+08:00",
    data_type="operation_log"  # 支持：status_log/operation_log/error_log
)
用户会话管理
# 切换账号（需重新验证API Key）
client.switch_user(new_api_key="new_license_key")  # ⚠️ 将清除当前设备缓存
附录
错误代码表
错误码	说明	处理建议
401	API Key无效	检查密钥或联系厂商更新
428	控件ID不存在	验证设备工程文件中的控件定义
503	设备离线	检查设备网络连接状态
409	动作序列冲突	停止当前动作后重试
技术支持
接口文档：https://api.wsdxyz.cn/docs
紧急联系：吴工 13961653399（微信同号）
问题反馈邮箱：support@wsdxyz.cn
​​版权声明​​
本系统接口规范归秒控科技所有，未经授权不得用于商业集成开发。
csvbro 0.0.5
A tool for browsing and manipulating CSV files
Requires Python: >=3.10

# CSVBro

CSVBro is a command-line tool for viewing and analyzing CSV files using pandas DataFrames. It provides functionality to display specific columns, create pivot tables, output data in JSON format, sort, limit, and filter results.

- **Author**: Ryan Gerard Wilson
- **Website**: ryangerardwilson.com

## 1. Installation

To install `csvbro`, use pip:

    pip install csvbro

This installs `datasling` and its dependencies.

## 2. Get Latest Version

To upgrade to the latest version of `csvbro`:

    pip install --upgrade csvbro

## 3. Usage

Run the tool from the command line using:

    csvbro <filename> [<command> [args]]

If no command is provided, the entire CSV is displayed as a DataFrame (with pandas' default truncation) unless `ORDER_BY`, `LIMIT`, or `WHERE` is specified.

The following commands are available:

- **SHOW**: Display specified columns of the CSV.

    csvbro <filename> SHOW <column1> [<column2> ...] [ORDER_BY <sort_column> [ASC|DESC]] [LIMIT <n>] [WHERE "<condition>"]

- **PIVOT**: Create a pivot table with specified row, value, and aggregation function.

    csvbro <filename> PIVOT <row> [<column>] <value> <AGGFUNC> [ORDER_BY <sort_column> [ASC|DESC]] [LIMIT <n>] [WHERE "<condition>"]

  - Aggregation functions: `SUM`, `COUNT`, `COUNT_UNIQUE`, `MEAN`, `MEDIAN`
  - Note: `SUM`, `MEAN`, and `MEDIAN` require numeric values.

- **PIVOT with DECILES**: Create a decile analysis of a column with 10 equal-width bins (D1 to D10).

    csvbro <filename> PIVOT DECILES(<column>[,IGNORE_OUTLIERS]) [<pivot_column>] <value> <AGGFUNC> [ORDER_BY <sort_column> [ASC|DESC]] [LIMIT <n>] [WHERE "<condition>"]

- **PIVOT with PERCENTILES**: Create a percentile analysis of a column with 10 equal-count bins (P0, P10, ..., P90).

    csvbro <filename> PIVOT PERCENTILES(<column>[,IGNORE_OUTLIERS]) [<pivot_column>] <value> <AGGFUNC> [ORDER_BY <sort_column> [ASC|DESC]] [LIMIT <n>] [WHERE "<condition>"]

- **JSON**: Output the DataFrame in JSON format.

    csvbro <filename> JSON [ORDER_BY <sort_column> [ASC|DESC]] [LIMIT <n>] [WHERE "<condition>"]

- **ORDER_BY**: Sort the entire DataFrame by a column.

    csvbro <filename> ORDER_BY <sort_column> <ASC|DESC> [LIMIT <n>] [WHERE "<condition>"]

- **LIMIT**: Limit the DataFrame to a specified number of rows.

    csvbro <filename> [WHERE "<condition>"] LIMIT <n>

- **WHERE**: Filter and display the DataFrame.

    csvbro <filename> WHERE "<condition>" [ORDER_BY <sort_column> [ASC|DESC]] [LIMIT <n>]

  - Condition syntax: `column <operator> value [AND|OR condition]` (e.g., `"column1 > 0.3"`, `"Col1 > 0.3 AND (Col2 > 0.5 OR Col9 > 1.2)"`)
  - Operators: `=`, `>`, `<`, `>=`, `<=`, `!=`, `LIKE` (for string containment)
  - Note: Numeric comparisons use float parsing; `LIKE` requires string columns and matches substrings (case-insensitive). Conditions must be enclosed in double quotes in the shell command.

4. ## License

This project is licensed under the MIT License. See the LICENSE file for details.