semvec/pypi-packages huggingface dataset:
mpms 2.6.0.2
Simple python Multiprocesses-Multithreads task queue
Requires Python: >=3.10

# mpms
Simple python Multiprocesses-Multithreads queue  
简易Python多进程-多线程任务队列  
(自用, ap不为生产环境下造成的任何损失和灵异现象负责)
  
在多个进程的多个线程的 worker 中完成耗时的任务, 并在主进程的 collector 中处理结果

支持python 3.10+

### Install

```shell
pip install mpms
```

### Quick Start

```python
import requests
from mpms import MPMS

def worker(i, j=None):
    r = requests.get('http://example.com', params={"q": i})
    return r.elapsed

def collector(meta, result):
    print(meta.args[0], result)

def main():
    m = MPMS(
        worker,
        collector,  # optional
        processes=2,
        threads=10,  # 每进程的线程数
    )
    m.start()
    for i in range(100):  # 你可以自行控制循环条件
        m.put(i, j=i + 1)  # 这里的参数列表就是worker接受的参数
    m.join()

if __name__ == '__main__':
    main()
```

### New Features (v2.2.0)

#### Lifecycle Management

MPMS now supports automatic worker thread rotation with two lifecycle control methods:

1. **Count-based lifecycle** (`lifecycle` parameter): Worker threads exit after processing a specified number of tasks
2. **Time-based lifecycle** (`lifecycle_duration` parameter): Worker threads exit after running for a specified duration (in seconds)

Both parameters can be used together - threads will exit when either condition is met first.

```python
# Count-based lifecycle
m = MPMS(worker, lifecycle=100)  # Each thread exits after 100 tasks

# Time-based lifecycle  
m = MPMS(worker, lifecycle_duration=3600)  # Each thread exits after 1 hour

# Combined lifecycle
m = MPMS(worker, lifecycle=100, lifecycle_duration=3600)  # Exit on 100 tasks OR 1 hour
```

#### Iterator-based Result Collection (v2.5.0)

MPMS now supports an alternative way to collect results using the `iter_results()` method. This provides a more Pythonic way to process results without defining a separate collector function.

```python
from mpms import MPMS

def worker(i):
    # 你的处理逻辑
    return i * 2

# 使用 iter_results 获取结果
m = MPMS(worker, processes=2, threads=4)
m.start()

# 提交任务
for i in range(10):
    m.put(i)

# 关闭任务队列（必须在使用 iter_results 之前）
m.close()

# 迭代获取结果
for meta, result in m.iter_results():
    if isinstance(result, Exception):
        print(f"任务 {meta.taskid} 失败: {result}")
    else:
        print(f"任务 {meta.taskid} 结果: {result}")

m.join(close=False)  # 注意：已经调用过 close()
```

**注意事项：**
- `iter_results()` 不能与 `collector` 参数同时使用
- 必须在调用 `close()` 之后才能使用 `iter_results()`
- 迭代器会自动结束当所有任务完成时
- 如果 worker 函数抛出异常，`result` 将是该异常对象

**带超时的迭代：**
```python
# 设置单个结果的获取超时（秒）
for meta, result in m.iter_results(timeout=1.0):
    # 处理结果
    pass
```

### Examples

See the `examples/` directory for complete examples:
- `examples/demo.py` - Basic usage demonstration
- `examples/demo_lifecycle.py` - Lifecycle management features
- `demo_iter_results.py` - Iterator-based result collection examples

### Tests

See the `tests/` directory for test scripts:
- `tests/test_lifecycle.py` - Tests for lifecycle management features
- `test_iter_results.py` - Tests for iterator-based result collection
bridge-mcp 2.1.0
Visual Desktop Bridge - Give any AI full control over Windows
Requires Python: >=3.10

# Visual Desktop Bridge (Claude Bridge)

**Visual Desktop Bridge - Give any AI full control over Windows**
Currently designed for **Claude Code** and **Claude Desktop**.

> [!NOTE]
> This project was formerly known as "Universal PC Control".
>
> <!-- mcp-name: io.github.BarhamAgha1/bridge-mcp -->

## Overview
Visual Desktop Bridge is a "body" for your AI "brain". It allows Claude to:
1.  **See your screen** (using screenshots and grid overlays).
2.  **Control your mouse/keyboard** (using coordinate grids and hotkeys).
3.  **Manage applications** (launch, switch, close).
4.  **Run locally** on your PC while communicating securely with the cloud/MCP.

## Key Features
*   **Vision-First Control**: Claude sees a grid overlay (e.g., "Click A5") to interact with any app, even those without accessibility API support (Spotify, Games, etc.).
*   **Persistent Connection**: Agents are remembered across sessions.
*   **Fast & Lightweight**: Built on `fastmcp` and optimized for low latency.
*   **Safe**: Includes a "Safety Sentinel" to block dangerous commands (like deleting files) unless explicitly approved.

## Installation

### Easy Install (Windows)
1.  Download the latest release.
2.  Run `ClaudeBridgeAgent.exe`.
3.  The agent will auto-register with your MCP configuration.

### Manual Setup (Developers)
1.  Clone the repo.
2.  Install dependencies:
    ```bash
    pip install -r requirements.txt
    pip install -r requirements-local.txt
    ```
3.  Run the bridge server:
    ```bash
    python bridge_mcp.py
    ```
4.  Run the local agent:
    ```bash
    python local_agent.py
    ```

## Usage with Claude
Once running, you can ask Claude to:
*   "Take a screenshot and tell me what you see."
*   "Open Notepad and type 'Hello World'."
*   "Click the Play button on Spotify."
*   "Organize the files in my Downloads folder."

## Architecture
*   **Bridge Server (`bridge_mcp.py`)**: Acts as the MCP entry point for Claude.
*   **Local Agent (`local_agent.py`)**: Runs on the Windows PC, executing actual mouse/keyboard commands.
*   **Vision Engine**: Uses `pyautogui` and `PIL` to generate grid-augmented screenshots for the AI.

## Safety
By default, "Safe Mode" is ON. Dangerous commands (powershell, file writes) require user confirmation via the desktop overlay.
uploadoss 0.4.6
Uploadoss is the general module of uploading database data and local files to the Alibaba Cloud OSS

# Uploadoss
Uploadoss is the general module of uploading database data and local files to the Alibaba Cloud OSS 


## Installation
download uploadoss-0.1.tar.gz
https://pypi.org/project/uploadoss/#files
pip install uploadoss-0.1.tar.gz

## Usage
Some simple things you can do with uploadoss
```
#upload local file(Logs, CSV, and their gzip compression) to Alibaba Cloud OSS 

from uploadoss import uploadoss
conf_path = 'C:\demo\oss\conf.ini'
bucket = uploadoss.getossbucket(conf_path)
# Directory of local files
local_path = r'C:\\demo\\data\\file\\'
# The file name in the local directory, also used as the file name on the OSS side
file_name = 'test1.log.gz'
# OSS Directory
oss_path = 'xxx/testlocalfile/'
result = uploadoss.file_to_oss(bucket,local_path = local_path,file_name = file_name,oss_path = oss_path)
print('http status: {0}'.format(result.status))

# Through a single SQL statement

conn = uploadoss.getmysqlconn(conf_path=conf_path)
# 
sql_text = 'select * from bigdata_demo.event_info limit 1' 
# The file where the SQL query results are stored, also serving as the file name on the OSS side
file_name = 'sql_text.csv.gz'
# OSS Directory
oss_path = 'xxx/testsqltext/dt=20230926/'
result = uploadoss.mysql_to_oss_table(conn=conn,bucket=bucket,local_path=local_path,file_name=file_name,sql_text=sql_text,oss_path = oss_path)
print('http status: {0}'.format(result.status))


# Through a multiple SQL statements,The separator is \001 ,e.g. event_info\001SQL_TEXT
table_conf_list=r'C:\\demo\\oss\\table_config.txt'
result = uploadoss.mysql_to_oss_list(conf_path = conf_path,local_path = local_path,oss_dire_path = oss_dire_path,table_list_conf = table_conf_list )

from datetime import datetime, timedelta
from uploadoss import uploadoss_ora
today = datetime.today()
yesterday = today - timedelta(days=1)
# 日分区表目录
dir_name = 'dt=' + yesterday.strftime('%Y%m%d') + '/' 

print(dir_name)

conf_path = 'C:\works\splc\conf\conf.ini'
#conf_path = r'C:\python_prj\tooss\uploadoss\conf.ini'
local_path = r'C:\\demo\\data\\'

config = ConfigParser() 
config.read(conf_path)  

# 配置多个表及SQL语句,分隔符要求 \001

table_conf_list=r'C:\\demo\\oss\\table_config.txt' 

oracle_to_oss_list_incremental(conf_path,local_path,table_conf_list,"'2025-01-01'","'2025-02-02'",'20250202')  


```
nzshm-model 0.14.1
The logic tree definitions, final configurations, and versioning of the New Zealand | Aotearoa National Seismic Hazard Model
Requires Python: <4.0,>=3.10

# New Zealand | Aotearoa National Seismic Hazard Model

[![pypi](https://img.shields.io/pypi/v/nzshm-model.svg)](https://pypi.org/project/nzshm-model/)
[![python](https://img.shields.io/pypi/pyversions/nzshm-model.svg)](https://pypi.org/project/nzshm-model/)
[![Build Status](https://github.com/GNS-Science/nzshm-model/actions/workflows/dev.yml/badge.svg)](https://github.com/GNS-Science/nzshm-model/actions/workflows/dev.yml)
[![codecov](https://codecov.io/gh/GNS-Science/nzshm-model/branch/main/graphs/badge.svg)](https://codecov.io/github/GNS-Science/nzshm-model)

* Documentation: <https://GNS-Science.github.io/nzshm-model>
* GitHub: <https://github.com/GNS-Science/nzshm-model>
* PyPI: <https://pypi.org/project/nzshm-model/>

The logic tree definitions, final configurations, and versioning of the New Zealand | Aotearoa National Seismic Hazard Model are stored here

For model data see [nshm.gns.cri.nz](https://nshm.gns.cri.nz)
netbox-aws-vpc-plugin 0.1.0
NetBox plugin for modeling AWS VPCs in NetBox
Requires Python: >=3.12.0

# NetBox AWS VPC Plugin

NetBox plugin for modeling AWS VPCs in NetBox

* Free software: Apache-2.0
* Documentation: <https://dmaclaury.github.io/netbox-aws-vpc-plugin/>

## Features

This plugin provides the following models in NetBox:

* AWS VPC
* AWS Subnet
* AWS Account

## Compatibility

| NetBox Version |   Plugin Version   |
|----------------|--------------------|
|  4.0 - 4.4.x   | >= 0.0.1, <= 0.0.8 |
|      4.5 +     |       >= 0.1.0     |

## Installing

For adding to a NetBox Docker setup see
[the general instructions for using netbox-docker with plugins](https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins).

The plugin is available as a Python package on PyPi and can be installed with pip

```bash
pip install netbox-aws-vpc-plugin
```

or by adding to your `local_requirements.txt` or `plugin_requirements.txt` (netbox-docker):

```bash
netbox-aws-vpc-plugin
```

Enable the plugin in `/opt/netbox/netbox/netbox/configuration.py`,
 or if you use netbox-docker, your `/configuration/plugins.py` file :

```python
PLUGINS = [
    'netbox_aws_vpc_plugin'
]

PLUGINS_CONFIG = {
    "netbox_aws_vpc_plugin": {},
}
```

## Credits

Based on the NetBox plugin tutorial:

* [demo repository](https://github.com/netbox-community/netbox-plugin-demo)
* [tutorial](https://github.com/netbox-community/netbox-plugin-tutorial)

This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [`netbox-community/cookiecutter-netbox-plugin`](https://github.com/netbox-community/cookiecutter-netbox-plugin) project template.