semvec/pypi-packages huggingface dataset:
pyquickwebgui 0.1.1
Create desktop applications with Flask/Django/FastAPI/web.py!
Requires Python: >=3.8

# py-quick-webgui
python使用webui制作桌面应用

需要python>=3.6

支持 django flask fastapi webpy 等web框架
支持 vue框架
支持 webview
项目设计改进的初衷是用来方便开发在服务器和客户都可以运行的web应用

参考 [flaskwebgui](https://github.com/ClimenteA/flaskwebgui)


## 示例

- django-desktop                            代码编辑器示例
- fastapi-desktop                           代码编辑器示例
- fastapi-desktop-stray                     增加了系统托盘图标
- fastapi-vue-desktop                       带vue的代码编辑器示例
- fastapi-webview-desktop                   增加了webview支持
- flask-desktop                             md 编辑器示例
- tauripy-fastapi-desktop-stray(recommend)  tauri 集成(推荐使用该模板开发)
- webpy-desktop                             最小运行程序示例



## 打包

### 打包命令
```shell lines

package.bat

package.sh

```

### 打包说明

res
文件内是目录

res.zip包含真正执行文件main.exe 资源目录 static ,被打包到 package.exe


xx.exe
启动时候先释放  res目录,找到main.exe 执行


包裹文件就负责释放执行文件和资源


## 项目编译


```bash

# 构建
uv build


# 测试安装1
pip install dist/pyquickwebgui-0.1.0-py3-none-any.whl


# 测试安装2
pip install -e

# 安装 twine
pip install twine

# 上传到 PyPI

python -m twine upload dist/*

```



## 更新日志

- 2025-05-01   V 0.0.6
  - 修改成uv 编译

- 2025-05-01   V 0.0.5
  - 增加 sphinx 生成文档

- 2025-05-01   V 0.0.4
  - 增加:tauri支持

- 2025-04-12   V 0.0.3
  - 增加:系统托盘图标功能
  - 优化:vue 支持

- 2024-08-01   V 0.0.2
  - 增加:webview  支持
  - 增加:webpy 支持
gitlab-helper-mcp 0.1.3
A Model Context Protocol (MCP) server for GitLab integration
Requires Python: >=3.12
Keywords: mcp, gitlab, claude, ai

# GitLab MCP Server

一个用于 [GitLab](https://gitlab.com/) 集成的 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) 服务器。

## 功能特性

- 🚀 基于 FastMCP 构建的高性能 MCP 服务器
- 🔧 支持创建 GitLab 合并请求（Merge Request）
- 🔐 安全的环境变量配置管理
- 🛠 支持多种安装和运行方式

## 环境要求

- Python 3.12+
- 有效的 GitLab 访问权限（GitLab URL 和用户访问令牌）

## 安装

### 方法一：使用 uvx（推荐）

```bash
# 临时运行
uvx gitlab-helper-mcp

# 或永久安装
uv tool install gitlab-helper-mcp
```

### 方法二：使用 pip

```bash
pip install gitlab-helper-mcp
```

### 方法三：开发安装

```bash
git clone <repository-url>
cd gitlab-helper-mcp
uv sync
uv run python main.py
```

## 配置

在运行之前，需要设置以下环境变量：

```bash
export GITLAB_URL=https://gitlab.example.com
export GITLAB_USER_ACCESS_TOKEN=your_gitlab_access_token_here
```

或者创建 `.env` 文件：

```env
GITLAB_URL=https://gitlab.example.com
GITLAB_USER_ACCESS_TOKEN=your_gitlab_access_token_here
```

### 获取 GitLab 访问凭据

1. 登录你的 GitLab 实例
2. 进入 **User Settings** > **Access Tokens**
3. 创建一个新的个人访问令牌，选择以下权限：
   - `api` - 完整的 API 访问权限
   - `read_user` - 读取用户信息
   - `read_repository` - 读取仓库
   - `write_repository` - 写入仓库（用于创建 MR）
4. 复制生成的访问令牌

## 使用方法

### 作为独立服务器运行

```bash
# 使用 uvx
uvx gitlab-helper-mcp

# 或使用已安装的命令
gitlab-helper-mcp

# 或使用 Python 模块
python -m gitlab_helper_mcp

# 或直接运行
uv run python main.py
```

### 在 Claude Desktop 中使用

在 Claude Desktop 的配置文件中添加：

```json
{
  "mcpServers": {
    "gitlab-helper": {
      "command": "uvx",
      "args": ["gitlab-helper-mcp"],
      "env": {
        "GITLAB_URL": "https://gitlab.example.com",
        "GITLAB_USER_ACCESS_TOKEN": "your_gitlab_access_token_here"
      }
    }
  }
}
```

## 可用工具

### `create_merge_request`

创建 GitLab 合并请求（Merge Request）。

**参数：**
- `project_name` (string): 项目名称，格式为 `group/project`
- `source_branch` (string): 源分支名称
- `target_branch` (string): 目标分支名称
- `title` (string): 合并请求标题
- `description` (string): 合并请求描述

**返回：**
- 合并请求的 Web URL

**示例使用：**
```python
# 创建一个新的合并请求
create_merge_request(
    project_name="mygroup/myproject",
    source_branch="feature/new-feature",
    target_branch="main",
    title="Add new feature",
    description="This MR adds a new feature to improve user experience."
)
```

## 开发

### 环境设置

```bash
# 克隆仓库
git clone <repository-url>
cd gitlab-helper-mcp

# 创建虚拟环境并安装依赖
uv venv
uv sync

# 运行开发服务器
uv run python main.py
```

### 代码质量检查

```bash
# 运行 linter
ruff check

# 格式化代码
ruff format
```

### 构建和发布

```bash
# 构建包
uv build

# 发布到 PyPI（需要配置 PyPI 凭据）
twine upload dist/*
```

## 许可证

MIT License - 详见 [LICENSE](LICENSE) 文件。

## 贡献

欢迎提交 Issue 和 Pull Request！

## 支持

如有问题，请在 [GitHub Issues](https://github.com/philoveritas/gitlab-helper-mcp/issues) 中提出。
cgai-io 1.2.0
A simple, light and fast data stream operation Python Library.

# cgai-io

#### 介绍
一个简单轻量又快速的数据流操作python库

支持跨平台，支持window文件以及目录的快速复制
支持文件及文件目录删除，支持目录删除保留原目录结构
支持文件及目录移动,重命名
支持文件及目录打包与解压zip

#### 安装教程

```cmd
pip install cgai-io
```

#### 快速上手

###### 1.复制文件  
```python
from cgai_io.Copy import copyfile

src1 = r'D:\MZ\bg.jpg'
des1 = r'D:\Temp\Test\bg.jpg'

copyfile(src1,des1)
```
###### 2.复制文件目录
```python
from cgai_io.Copy import copydir

src2 = r'D:\MZ'
des2 = r'D:\Temp\Test\MZ'

copydir(src2,des2)
```

###### 3.删除文件及文件目录
```python
from cgai_io.Delete import delfile,deldir,delall


# #删除文件
# path = r'\\192.168.1.248\3d\temp\a\cmd_mac.py'
# delfile(path)


# #删除文件夹
# path = r'D:\BaiduNetdiskDownload\AA'
# deldir(path,keep_dir=True)  #保留空目录结构


#无论文件或文件夹都直接删除
# path = r'D:\BaiduNetdiskDownload\ktk_103024'
# delall(path)
```

###### 4.官方案例
```python
import cgai_io as ci


# #复制文件
# src = r'D:\Temp\2.jpg'
# des = r'D:\Temp\2_bak.jpg'
# ci.copyfile(src,des)


# #复制文件目录
# src = r'D:\Temp\AA'
# des = r'D:\Temp\BB'
# ci.copydir(src,des)


# #删除文件
# des = r'D:\Temp\2_bak.jpg'
# ci.delfile(des)

# # 删除文件目录
# des = r'D:\Temp\BB'
# ci.deldir(des)

# # 删除文件或目录
# des = r'D:\Temp\BB'
# ci.delall(des)

# #移动文件
# src = r'D:\Temp\AA'
# des = r'D:\Temp\BB'
# ci.mvfile(src,des)

# # 移动文件目录
# src = r'D:\Temp\AA'
# des = r'D:\Temp\testA\AA'
# ci.mvdir(src,des)

# # 移动文件或目录
# src = r'D:\Temp\testA\AA'
# des = r'D:\Temp\AA'
# ci.mv(src,des)


# 重命名文件或目录
# src = r'D:\Temp\AA\A.jpg'
# des = r'D:\Temp\AA\B.jpg'
# ci.rename(src,des)

# src = r'D:\Temp\AA'
# des = r'D:\Temp\BB'
# ci.rename(src,des)


# # 文件添加前缀
# src = r'D:\Temp\BB\B.jpg'
# prefix = 'img_'
# ci.addPrefix(src,prefix)  # r'D:\Temp\BB\img_B.jpg'

# # 文件目录添加前缀
# src = r'D:\Temp\BB'
# prefix = 'dir_'
# ci.addPrefix(src,prefix) # r'D:\Temp\dir_BB'


# # 文件添加尾缀
# src =r'D:\Temp\dir_BB\img_B.jpg'
# suffix = '_001'
# ci.addSuffix(src,suffix) # D:\Temp\dir_BB\img_B_001.jpg

# # 文件目录添加尾缀
# src = r'D:\Temp\dir_BB'
# suffix = '_v001'
# ci.addSuffix(src,suffix)  # r'D:\Temp\dir_BB_v001'



# # 文件打包zip
# src = r'D:\Temp\dir_BB\img_B.jpg'
# des = r'D:\Temp\dir_BB\B.zip'
# ci.pack(src,des)


# # 文件目录打包zip
# src = r'D:\Temp\dir_BB'
# des = r'D:\Temp\BB.zip'
# ci.pack(src,des)



# # 解压文件或目录
# src_zip = r'D:\Temp\A\BB.zip'
# des_dir = r'D:\Temp\A\C'
# ci.unpack(src_zip,des_dir)
```

#### 交流方式
WeChat : zxzxde / 360014296
aliyun-controller 0.1.2
A command-line tool for managing Alibaba Cloud services including billing queries and DNS management
Requires Python: >=3.8

# 阿里云控制台工具 (aliyun-controller)

这是一个调用阿里云 Python SDK 在命令行中执行常用操作的简单工具，目前具有账单查询和 DNS 管理功能。

## 功能特性

- **账单查询**：查询指定月份的阿里云账单总额和明细
- **流量统计**：查询指定月份的公网流出流量总量
- **DNS 管理**：管理域名解析记录，包括增删改查操作

## 后续计划

- 加入**ECS控制**的相关内容
- 加入**OOS控制**的相关内容

## 安装指南

### 通过 pip 安装（推荐）

可以通过 pip 直接安装：

```bash
pip install aliyun-controller
```

安装后，可以直接使用 `aliyunctl` 命令运行程序：

```bash
aliyunctl
```

### 从源码运行（开发模式）

如果你希望进行二次开发或修改源码，可以从源码安装：

1. 克隆此项目到本地：
   ```bash
   git clone <项目地址>
   cd aliyun-controller
   ```

2. 创建虚拟环境（推荐）：
   ```bash
   python -m venv venv
   source venv/bin/activate  # Linux/Mac
   # 或在 Windows 上: venv\Scripts\activate
   ```

3. 安装依赖：
   ```bash
   pip install -e .
   ```

4. 创建阿里云 RAM 用户并授权：
  - 登录阿里云控制台。
  - 进入 RAM 访问控制。
  - 在左侧导航栏选择 用户 > 创建用户。
  - 设置登录名称和显示名称，勾选 为该用户自动生成AccessKey。
  - 创建成功后，请务必保存好 AccessKey ID 和 AccessKey Secret，它们只显示一次。
  - 为新创建的 RAM 用户授权：
    - 在用户详情页，点击 添加权限。
    - 选择 AliyunBSSReadOnlyAccess 和 AliyunDNSFullAccess 权限。
    - 点击 确定 完成授权。

5. 配置阿里云访问密钥：
   默认情况下，程序会在 `~/.configs/aliyun-controller` 目录下查找配置文件。
   你可以复制示例配置文件并修改：
   ```bash
   mkdir -p ~/.configs/aliyun-controller
   cp config.yaml.example ~/.configs/aliyun-controller/config.yaml
   ```
   然后编辑 `~/.configs/aliyun-controller/config.yaml` 文件，填入你创建的阿里云RAM用户的 AccessKey ID 和 AccessKey Secret：
   ```yaml
   access_key_id: your_access_key_id
   access_key_secret: your_access_key_secret
   ```
   
   你也可以使用 `--dir/-D` 参数指定配置文件所在的目录：
   ```bash
   aliyunctl -D /path/to/your/config/dir
   ```

## 使用方法

安装后，可以直接使用 `aliyunctl` 命令运行程序：

```bash
aliyunctl
```

程序将显示交互式菜单，你可以选择以下功能：

1. **查询总流出流量**：查看指定月份的公网总流出流量
2. **归纳账单**：查看指定月份的账单明细和总额
3. **DNS解析管理**：管理域名解析记录

你也可以使用 `--dir/-D` 参数指定配置文件所在的目录：

```bash
aliyunctl -D /path/to/your/config/dir
```

### 账单查询

- 程序会默认查询当前月份的账单
- 你也可以输入其他月份（格式：YYYY-MM / YYYY-M）进行查询
- 支持分页查询和重新查询

### DNS 管理

- 选择要管理的域名
- 查看所有解析记录
- 添加、编辑或删除解析记录
- 支持按不同方式排序记录（创建时间、二级域名、首字母）

## 权限要求

为了正常使用所有功能，你的阿里云 RAM 用户记得开放以下权限：

- `AliyunBSSReadOnlyAccess`：用于账单查询
- `AliyunDNSFullAccess`：用于 DNS 管理

## 日志记录

程序会在运行目录下生成 `app.log` 文件，记录操作日志和错误信息。
solar-apparent-time 1.5.4
methods to translate Python datetime between solar apparent time and Coordinate Universal Time (UTC)
Requires Python: >=3.10

# `solar-apparent-time` Python Package

The `solar-apparent-time` Python package translates Python datetime between solar apparent time and Coordinate Universal Time (UTC).

[Gregory H. Halverson](https://github.com/gregory-halverson-jpl) (they/them)<br>
[gregory.h.halverson@jpl.nasa.gov](mailto:gregory.h.halverson@jpl.nasa.gov)<br>
NASA Jet Propulsion Laboratory 329G

## Installation

This package is available on PyPi as a [pip package](https://pypi.org/project/solar-apparent-time/) called `solar-apparent-time` with dashes.

## Usage

### Importing

Import this package as `solar_apparent_time` with under-scores.

```python
import solar_apparent_time
```

### `UTC_to_solar(time_UTC: datetime, lon: float) -> datetime`

Converts Coordinated Universal Time (UTC) to solar apparent time at given longitude for single time.

**Parameters:**
- `time_UTC` (datetime): The UTC time.
- `lon` (float): The longitude in degrees.

**Returns:**
- datetime: The solar time at the given longitude.

### `solar_to_UTC(time_solar: datetime, lon: float) -> datetime`

Converts solar apparent time to Coordinated Universal Time (UTC) at given longitude for single time.

**Parameters:**
- `time_solar` (datetime): The solar time.
- `lon` (float): The longitude in degrees.

**Returns:**
- datetime: The UTC time at the given longitude.

### `UTC_offset_hours_for_area(geometry: rasters.RasterGeometry) -> rasters.Raster`

Calculates the UTC offset in hours for an area defined by a `RasterGeometry` object from the `rasters` package.

**Parameters:**
- `geometry` (rasters.RasterGeometry): The raster geometry.

**Returns:**
- rasters.Raster: The UTC offset in hours.

### `solar_day_of_year_for_area(time_UTC: datetime, geometry: rasters.RasterGeometry) -> rasters.Raster`

Calculates the day of the year for a given UTC time and an area defined by a `RasterGeometry` object from the `rasters` package.

**Parameters:**
- `time_UTC` (datetime): The UTC time.
- `geometry` (rasters.RasterGeometry): The raster geometry.

**Returns:**
- rasters.Raster: The day of the year.

### `solar_hour_of_day_for_area(time_UTC: datetime, geometry: rasters.RasterGeometry) -> rasters.Raster`

Calculates the hour of the day for a given UTC time and an area defined by a `RasterGeometry` object from the `rasters` package.

**Parameters:**
- `time_UTC` (datetime): The UTC time.
- `geometry` (rasters.RasterGeometry): The raster geometry.

**Returns:**
- rasters.Raster: The hour of the day.
remip 0.3.3
Add your description here
Requires Python: >=3.11

# ReMIP Server

This directory contains the ReMIP FastAPI server, which provides a RESTful API for solving Mixed-Integer Programming (MIP) problems.

## Running the Server

To run the server, you need to have the dependencies installed (e.g., via `uv pip install -e .` from this directory). Then, you can start the server using the `remip` command:

```bash
uv run remip --host 0.0.0.0 --port 8000
```

The server will automatically find an open port if `8000` is in use, unless a specific port is provided.

## API Endpoints

### `GET /solver-info`

Returns information about the underlying MIP solver.

- **Method:** `GET`
- **Success Response:** `200 OK`
- **Response Body Example:**
  ```json
  {
    "solver": "SCIP",
    "version": "x.y.z"
  }
  ```

### `POST /solve`

Solves a MIP problem. It can return the solution directly or stream solver events using Server-Sent Events (SSE).

- **Method:** `POST`
- **Query Parameters:**
  - `timeout` (float, optional): Maximum time in seconds to allow the solver to run.
  - `stream` (string, optional): If set to `sse`, the server will stream solver events.
- **Request Body:** A JSON object representing the `MIPProblem`.
- **Success Response:** `200 OK`

---

#### Request Body (`MIPProblem`)

The request body must be a JSON object with the following structure:

```json
{
  "parameters": {
    "name": "MyProblem",
    "sense": 1,
    "status": 0,
    "sol_status": 0
  },
  "objective": {
    "name": "TotalProfit",
    "coefficients": [
      { "name": "x1", "value": 10 },
      { "name": "x2", "value": 15 }
    ]
  },
  "variables": [
    { "name": "x1", "cat": "Binary" },
    { "name": "x2", "cat": "Binary" }
  ],
  "constraints": [
    {
      "name": "ResourceA",
      "sense": -1,
      "coefficients": [
        { "name": "x1", "value": 2 },
        { "name": "x2", "value": 5 }
      ],
      "constant": 10
    }
  ],
  "solver_options": {
    "limits/time": 60
  }
}
```

---

#### Standard Response (`MIPSolution`)

If the `stream` parameter is not set, the response will be a JSON object with the solution:

```json
{
  "name": "MyProblem",
  "status": "optimal",
  "objective_value": 25.0,
  "variables": {
    "x1": 1.0,
    "x2": 1.0
  }
}
```

---

#### Streaming Response (SSE)

If `stream=sse` is specified, the response will be a `text/event-stream`. The client will receive a sequence of events, such as `log`, `metric`, `result`, and `end`.

**Example Event:**

```
event: metric
data: {"timestamp":"...","objective_value":25.0,"gap":0.0,"iteration":10,"sequence":5}

```
decisions-trees-felipe-puc 0.1.0
Implementação e comparação de algoritmos de árvore de decisão (ID3, C4.5, CART) no dataset do Titanic.
Requires Python: >=3.6

# Titanic Decision Trees

Este é um projeto que implementa e compara três algoritmos de árvore de decisão (ID3, C4.5 e CART) do zero, usando o famoso dataset do Titanic.

## Algoritmos Implementados

- **ID3**: Usa o Ganho de Informação.
- **C4.5**: Usa a Razão de Ganho e lida com atributos contínuos.
- **CART**: Usa o Índice de Gini e cria árvores binárias.

## Instalação

Para instalar a biblioteca, execute o seguinte comando:
pip install decision-trees-felipe-puc
VNP21A1D-002 1.2.1
VIIRS/NPP Land Surface Temperature/Emissivity Daily L3 Global 1 km SIN Grid Day Search and Download Utility
Requires Python: >=3.10

# VIIRS/NPP Land Surface Temperature/Emissivity Daily L3 Global 1 km SIN Grid Day Search and Download Utility

[![CI](https://github.com/ET-Toolbox/VNP21A1D-002/actions/workflows/ci.yml/badge.svg)](https://github.com/ET-Toolbox/VNP21A1D-002/actions/workflows/ci.yml)

This tool uses the `earthaccess` library to search and download VNP21A1D collection 2 surface temperature remote sensing data products from the Visible Infrared Imaging Radiometer Suite (VIIRS).

[Gregory H. Halverson](https://github.com/gregory-halverson-jpl) (they/them)<br>
[gregory.h.halverson@jpl.nasa.gov](mailto:gregory.h.halverson@jpl.nasa.gov)<br>
NASA Jet Propulsion Laboratory 329G

## Installation

Install the `VNP21A1D-002` package with a dash in the name from PyPi using pip:

```
pip install VNP21A1D-002
```

## Usage

Import the `VNP21A1D_002` package with an underscore in the name:

```
import VNP21A1D_002
```

See the [example notebook](Searching%20VNP21A1D.002%20with%20earthaccess.ipynb) for usage.