semvec/pypi-packages huggingface dataset:
pshlex 0.1.1
Join various stringifiable objects and quote them for the shell
Requires Python: >=3.8

<!--
SPDX-FileCopyrightText: Peter Pentchev <roam@ringlet.net>
SPDX-License-Identifier: BSD-2-Clause
-->

# pshlex - join various stringifiable objects and quote them for the shell

\[[Home][ringlet-home] | [GitLab][gitlab] | [PyPI][pypi] | [Download][ringlet-download] | [ReadTheDocs][readthedocs]\]

## Overview

This library was written mainly to provide a function that can stringify
a list of path-like objects: the [`join()`][pshlex.join] function is very similar to
[`shlex.join()`][py-shlex-join], but it will accept [`pathlib.Path`][py-pathlib-path] objects
as well as strings.

The [`join_any()`][pshlex.join_any] function started off as an implementation detail, but
it may turn out to be useful in its own right; it is also similar to
[`shlex.join()`][py-shlex-join], but it will convert any Python object into its string
representation.

## Examples

Use the [`join()`][pshlex.join] function as a type-safe version when dealing with
path-like objects:

``` python
def run(cmd: list[str | pathlib.Path]) -> None:
"""Run a command."""
    cmdstr: Final = pshlex.join(cmd)
    ...
        sys.exit(f"Could not run `{cmdstr}`: {err}")
```

## Contact

The `pshlex` library was written by [Peter Pentchev][roam].
It is developed in [a GitLab repository][gitlab].
This documentation is hosted at [Ringlet][ringlet-home] with a copy at [ReadTheDocs][readthedocs].

[roam]: mailto:roam@ringlet.net "Peter Pentchev"
[gitlab]: https://gitlab.com/ppentchev/pshlex "The pshlex GitLab repository"
[pypi]: https://pypi.org/project/pshlex/ "The pshlex Python Package Index page"
[readthedocs]: https://pshlex.readthedocs.io/ "The pshlex ReadTheDocs page"
[ringlet-home]: https://devel.ringlet.net/textproc/pshlex/ "The Ringlet pshlex homepage"
[ringlet-download]: https://devel.ringlet.net/textproc/pshlex/download/ "The Ringlet pshlex download homepage"
[py-shlex-join]: https://docs.python.org/3/library/shlex.html#shlex.join "shlex.join() in the Python standard library"
[py-pathlib-path]: https://docs.python.org/3/library/pathlib.html#pathlib.Path "pathlib.Path in the Python standard library"
lark-bot-sdk 0.1.1
飞书机器人消息SDK
Requires Python: >=3.6
Keywords: feishu, lark, bot, sdk

# Lark Bot SDK

飞书机器人消息SDK - 一个简单易用的飞书应用机器人消息推送工具

## 特点

- 极简API设计，符合直觉
- 基于官方飞书SDK (lark_oapi)，可靠稳定
- 支持多种消息类型：文本、富文本、卡片消息
- 自动处理认证令牌的获取和刷新
- 轻量级设计，易于集成到任何项目

## 安装方法

```bash
# 从源代码安装
pip install -e .

# 或者直接从PyPI安装（如果已发布）
# pip install lark_bot_sdk
```

## 快速开始

### 1. 初始化机器人

```python
from lark_bot_sdk import init_bot, BotMessage

# 方式1：直接提供应用凭证
init_bot(app_id="YOUR_APP_ID", app_secret="YOUR_APP_SECRET")

# 方式2：使用配置文件
init_bot(config_file="config.json")
```

配置文件格式 (config.json)：
```json
{
  "app_id": "YOUR_APP_ID",
  "app_secret": "YOUR_APP_SECRET"
}
```

### 2. 发送消息

使用简单的`BotMessage`类来发送各种类型的消息：

```python
# 发送文本消息
message = BotMessage("群组ID", {
    "type": "text", 
    "content": "Hello World"
})
message.send()
```

### 3. 获取群组列表

```python
from lark_bot_sdk.bot import get_group_list

groups = get_group_list()
for group in groups:
    print(f"{group.name}: {group.chat_id}")
```

## 消息类型示例

### 文本消息

```python
BotMessage("群组ID", {
    "type": "text", 
    "content": "这是一条文本消息"
}).send()
```

### 富文本消息

```python
post_content = {
    "zh_cn": {
        "title": "系统通知",
        "content": [
            [
                {"tag": "text", "text": "这是一条富文本消息测试"}
            ],
            [
                {"tag": "text", "text": "支持多个段落"}
            ]
        ]
    }
}

BotMessage("群组ID", {
    "type": "post",
    "content": post_content
}).send()
```

### 卡片消息

```python
import time

card_content = {
    "config": {
        "wide_screen_mode": True
    },
    "header": {
        "title": {
            "tag": "plain_text",
            "content": "系统报警"
        },
        "template": "red"
    },
    "elements": [
        {
            "tag": "div",
            "text": {
                "tag": "lark_md",
                "content": f"**服务器监控报警**\n\n时间: {time.strftime('%Y-%m-%d %H:%M:%S')}"
            }
        },
        {
            "tag": "hr"
        },
        {
            "tag": "div",
            "text": {
                "tag": "lark_md",
                "content": "### 警告详情\n- CPU使用率: 92%\n- 内存使用率: 85%"
            }
        }
    ]
}

BotMessage("群组ID", {
    "type": "interactive",
    "content": card_content
}).send()
```

## 先决条件

1. 在[飞书开放平台](https://open.feishu.cn/)创建一个应用
2. 获取应用的App ID和App Secret
3. 开启应用的机器人功能
4. 开启机器人发送消息的权限
5. 将机器人添加到您想要发送消息的群组中

## 完整示例

请参考项目中的`sdk_example.py`文件获取完整使用示例。
mcp-MiaoControl-v8 0.1.8
让控制变得简单!
Requires Python: >=3.11


> 让工业控制变得简单智能

## 公司介绍

**秒控科技（MCP Tech）** 是专注于工业自动化控制领域的技术创新企业，秉承_"让控制变得简单"_的核心宗旨，致力于通过AI技术重构传统工业控制场景。

### 核心优势
- 🚀 **AI驱动控制** - 实现触摸屏内容的智能操控
- ⚡ **毫秒级响应** - PLC开关控制延迟<50ms
- 🔐 **工业级安全** - 双向认证加密通信协议
- 🧠 **自学习系统** - 设备行为模式智能分析

## 功能概览

| 功能模块         | 能力描述                          | 典型场景                 |
|------------------|-----------------------------------|--------------------------|
| 设备认证         | 密钥管理与设备绑定                | 新设备部署               |
| 实时数据流       | 毫秒级采集设备状态                | 生产线监控               |
| 智能控制         | 基于NLP解析控制指令               | 语音操控工业机器人        |
| 历史追溯         | 支持最长10年数据存储             | 质量事故回溯             |


# MCP硬件控制服务
**Version**: 1.0.8 (Beta)
**对接硬件厂商**: 秒控科技（[www.wsdxyz.cn](http://www.wsdxyz.cn)）

---

## 目的
通过标准化控制协议（MCP）实现对秒控科技硬件设备的远程操控，主要功能包括：
- 触摸屏可视化界面控制
- PLC开关控制器指令执行
- 设备操作数据追溯

---

## 支持范围
### 设备类型
| 设备类型           | 固件版本要求  | 协议支持       |
|--------------------|---------------|----------------|
| 秒控触摸屏         | V2.3+         | MCP/WebSocket  |
| 秒控PLC开关控制器  | V1.7+         | Modbus RTU     |

### 功能矩阵
#### 触摸屏操作
```plaintext
✅ 切换屏幕页面（通过ScreenID）
✅ 输入数值型控件数据（范围校验）
✅ 输入字符串型控件（长度≤128字符）
✅ 获取当前屏幕控件状态
⏳ 多语言切换（开发中）
```

#### PLC开关控制器操作
```plaintext
✅ 执行预设动作序列（需预编程）
✅ 实时读取端口状态（DI/DO）
✅ 获取设备动作日志（时间倒序）
✅ 发送Modbus指令（04/06功能码）
⏳ 自定义动作编排（开发中）
```

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
kaxe 1.2.7
A small graphing tool for functions, points, equations and more
Requires Python: >=3.9


# Kaxe

![BoxPlot](logo.png)

Kaxe is an lightweight graphing tools for functions, equations, points and more written in pure python. Kaxe supports various plotting windows and charts.

Kaxe documentation can be found [here](https://kaxe.readthedocs.io/en/latest/)

## Goals

Kaxe was made to create pretty, simple and easy graphs to be used along side articels, repports and other Acedima made in LaTeX. The goals for Kaxe then became

* Create pretty plots thats fit into the astectic of LaTeX
* A very simple object oriented interface

To get started visit [the getting started section](https://kaxe.readthedocs.io/en/latest/pages/start.html)


## Examples of plots
![BoxPlot](tests/images/boxed.png)
![Polar plot](tests/images/polar.png)
![PrettyPlot3D2](tests/images/3d-function-pretty-2.png)
![Contour grid](tests/images/contourgrid.png)
![Contour same](tests/images/contour3d.png)
![AllLegends](tests/images/vectorimagearrow3d.png)
![Functions](tests/images/function.png)
![Points](tests/images/labels.png)
![Equations](tests/images/equation.png)
![Globallight](tests/images/lightfunction3d.png)
django-env-checker 0.2.0
A simple Django env var checker
Requires Python: >=3.9

# django-env-checker

**django-env-checker** is a simple yet effective tool to enforce required environment variables in your Django project.
If any required environment variables are missing, the application will raise an error.

---

## Installation

```bash
pip install django-env-checker
```

### settings.py
Add ```env_check``` to your ```INSTALLED_APPS```

Define the list of required environment variables:

```
REQUIRED_ENV_VARS = [
    'SECRET_KEY',
    'API_KEY',
    'PGPASSWORD'
]
```
Run your application with DEBUG = False to activate the environment variable checks.
If any required environment variable is missing, the app will raise an error on startup.

---

## Behavior

The environment variable validation only runs when DEBUG is set to False.

If a required variable is missing, the startup will fail immediately, preventing the app from running in an unsafe state.
gifing 0.1.1
A lightweight python tool for creating GIF
Requires Python: >=3.9
Keywords: GIF, image

# gifing

A lightweight python tool for creating GIF

<br>

## Quick start

Let's make a GIF with these images:

<p align="center">
  <img src="https://github.com/y-sunflower/gifing/blob/main/tests/img/image2.jpg?raw=true" width="25%" />
  <img src="https://github.com/y-sunflower/gifing/blob/main/tests/img/image1.jpg?raw=true" width="25%" />
  <img src="https://github.com/y-sunflower/gifing/blob/main/tests/img/image3.jpg?raw=true" width="25%" />
</p>

```python
from gifing import GIF

path = "tests/img/image"
path_to_files = [f"{path}1.jpg", f"{path}2.jpg", f"{path}3.jpg",]

gif = GIF(
  path_to_files,
  frame_duration=500,      # in ms
  n_repeat_last_frame=3,   # 500x3
)
gif.set_background_color("red")
gif.set_size((900, 700), scale=1.2)
gif.make("img/output.gif")
```

![](https://github.com/y-sunflower/gifing/blob/main/img/output.gif?raw=true)

This package offers:

- a streamlined approach to creating GIF
- automatic image resizing
- ability to set a background color during resizing

> It's a basic prototype of the functionality I envision for this tool. The API is still **unstable**.

<br>

## Installation

Install directly via pip (requires Python >=3.9):

```bash
pip install gifing
```

<br><br>

## Usage

Import the `GIF` class and provide a list of image file paths:

```python
from gifing import GIF

path = "tests/img"
gif = GIF(
    [f"{path}/image{i}.jpg" for i in range(1, 4)],
    frame_duration=800,  # Duration per frame (in milliseconds)
    n_repeat_last_frame=3,  # Repeat last frame 3x longer
)
```

You can set a background color, which is useful if your images have varying sizes:

```python
gif.set_background_color("black")
```

You can also set a custom size for your GIF. The `set_size` method allows you to specify a target size and scale factor:

```python
gif.set_size((300, 800), scale=2) # (600px, 1600px)
```

Finally, call the `make()` method to generate the GIF:

```python
gif.make("path/to/output/file.gif")
```

If not specified, by default, the GIF will be saved as `output.gif`.
my-pypi-test-pkg-syjiang 0.0.1
A small example package for PyPI testing
Requires Python: >=3.7

# My PyPI Test Package (Example)

This is a simple package created for testing the PyPI packaging and publishing process.

Remember to replace `example` in the package name and `pyproject.toml` with your unique identifier.

## Installation

Once published to TestPyPI (or PyPI):

```bash
# From TestPyPI
pip install -i https://test.pypi.org/simple/ my-pypi-test-pkg-example

# From PyPI (if you publish there)
# pip install my-pypi-test-pkg-example
```

## Usage

```python
from my_pypi_test_pkg_example import greet

print(greet("Your Name"))
```
PrettyPrintout 1.0.4
A simple package that contains a set of useful printing options
Keywords: python, first package, console formatting, output, logging, printing

This Package uses the ANSI escape sequences to format console printouts as well as animations such as a progress bar for use in the console. Furthermore options to automatically create logfiles of each statement printed. See the GitHub repo for more info: https://github.com/Bangulli/PrettyPrint