semvec/pypi-packages huggingface dataset:
warlock 2.1.0
Python object model built on JSON schema and JSON patch.
Requires Python: >=3.9
Keywords: JSON schema, JSON patch, model validation

# Warlock 🧙‍♀️

**Create self-validating Python objects using JSON schema.**

[![PyPI](https://img.shields.io/pypi/v/warlock.svg)][warlock]
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/warlock.svg)][warlock]
[![PyPI - Downloads](https://img.shields.io/pypi/dw/warlock.svg)][pypistats]

[![Build Status](https://github.com/bcwaldon/warlock/actions/workflows/ci.yaml/badge.svg)][ci-builds]
[![Coverage Status](https://coveralls.io/repos/github/bcwaldon/warlock/badge.svg?branch=master)][coveralls]
![GitHub commits since latest release (branch)](https://img.shields.io/github/commits-since/bcwaldon/warlock/latest/master.svg)

[![Package management: poetry](https://img.shields.io/badge/deps-poetry-blueviolet.svg)][poetry]
[![Code Style Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black/)

## Installation

Warlock is [available on PyPI][warlock]:

```shell
pip install warlock
```

## Usage

1) Create your schema

    ```python
    >>> schema = {
        'name': 'Country',
        'properties': {
            'name': {'type': 'string'},
            'abbreviation': {'type': 'string'},
            'population': {'type': 'integer'},
        },
        'additionalProperties': False,
    }
    ```

2) Create a model

    ```python
    >>> import warlock
    >>> Country = warlock.model_factory(schema)
    ```

3) Create an object using your model

    ```python
    >>> sweden = Country(name='Sweden', abbreviation='SE')
    ```

4) Let the object validate itself

    ```python
    >>> sweden.name = 5
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "warlock/core.py", line 53, in __setattr__
        raise InvalidOperation(msg)
    warlock.core.InvalidOperation: Unable to set 'name' to '5'

    >>> sweden.overlord = 'Bears'
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "warlock/core.py", line 53, in __setattr__
        raise InvalidOperation(msg)
    warlock.core.InvalidOperation: Unable to set 'overlord' to 'Bears'
    ```

5) Generate a [JSON Patch document](http://tools.ietf.org/html/draft-ietf-appsawg-json-patch) to track changes

    ```python
    >>> sweden.population=9453000
    >>> sweden.patch
    '[{"path": "/population", "value": 9453000, "op": "add"}]'
    ```

[warlock]: https://pypi.org/project/warlock/
[pip]: https://pip.pypa.io/en/stable/
[ci-builds]: https://github.com/bcwaldon/warlock/actions/workflows/ci.yaml
[coveralls]: https://coveralls.io/github/bcwaldon/warlock?branch=master
[poetry]: https://poetry.eustace.io/docs/
[pypistats]: https://pypistats.org/packages/warlock
modbus-sniffer 1.0.3
Sniffer for Modbus RTU traffic with CLI and GUI


# 🐍 ModbusSniffer – Free Modbus RTU Analyzer with GUI (Python / PyQt6)

A lightweight and user-friendly Modbus RTU sniffer tool with a graphical interface.  
Easily analyze and debug communication between PLCs, HMIs, and other Modbus RTU devices via serial ports.

[![GitHub release](https://img.shields.io/github/v/release/niwciu/ModbusSniffer)](https://github.com/niwciu/ModbusSniffer/releases)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

<div align="center">
<img src="https://niwciu.github.io/ModbusSniffer/gui.gif" alt="Demo" />
</div>

---

## 🔧 Features

- 🧰 Sniffs raw Modbus RTU frames from serial ports (RS-485, USB)
- 🖥️ GUI interface built with PyQt6
- 📋 Frame table: Real-time decoded Modbus traffic
- 🌈 Color-coded logging of request–response frames
- 🪟 Cross-platform: Windows & Linux
- 🆓 MIT licensed, open-source

---

## 📦 Installation

Install directly from PyPI:

```bash
pip install modbus-sniffer
```
or download Binary files for Ubuntu and Windows from [here](https://github.com/niwciu/ModbusSniffer/releases).

You can also build and install app from sourcess. [Click here](CONTRIBUTING.md#%EF%B8%8F-build--install) for deatails about it.


---

## ▶️ Usage

### 🎛️ Run GUI:

```bash
modbus-sniffer-gui
```

### 🖥️ Run CLI:
To list all options:
```bash
modbus-sniffer -h
```


Example of runnig sniffer on ttyUSB0 with baud 115200 and no parity:
```bash
modbus-sniffer -p /dev/ttyUSB0 -b 115200 -r none
```

For more usage options, development guide, and installation from source, visit the GitHub repository:

👉 [ModbusSniffer on GitHub](https://github.com/niwciu/ModbusSniffer)

---
## 🤝 Contributing

Please see [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and contribution guidelines.

---

## 📜 License

MIT License — see the [LICENSE](LICENSE) file for details.  
This project is a fork of [BADAndrea ModbusSniffer](https://github.com/BADAndrea/ModbusSniffer), maintained by **niwciu** with enhancements described above.


<div align="center">

---
<img src="https://github.com/user-attachments/assets/f4825882-e285-4e02-a75c-68fc86ff5716" alt="myEmbeddedWayBanerWhiteSmaller"/>

---
</div>
types-tree-sitter-languages 1.10.0.20250530
Typing stubs for tree-sitter-languages
Requires Python: >=3.9

## Typing stubs for tree-sitter-languages

This is a [PEP 561](https://peps.python.org/pep-0561/)
type stub package for the [`tree-sitter-languages`](https://github.com/grantjenks/py-tree-sitter-languages) package.
It can be used by type-checking tools like
[mypy](https://github.com/python/mypy/),
[pyright](https://github.com/microsoft/pyright),
[pytype](https://github.com/google/pytype/),
[Pyre](https://pyre-check.org/),
PyCharm, etc. to check code that uses `tree-sitter-languages`. This version of
`types-tree-sitter-languages` aims to provide accurate annotations for
`tree-sitter-languages==1.10.*`.

*Note:* `types-tree-sitter-languages` is unmaintained and won't be updated.


This package is part of the [typeshed project](https://github.com/python/typeshed).
All fixes for types and metadata should be contributed there.
See [the README](https://github.com/python/typeshed/blob/main/README.md)
for more details. The source for this package can be found in the
[`stubs/tree-sitter-languages`](https://github.com/python/typeshed/tree/main/stubs/tree-sitter-languages)
directory.

This package was tested with
mypy 1.15.0,
pyright 1.1.400,
and pytype 2024.10.11.
It was generated from typeshed commit
[`11a2066a70a42fda39e48a2772d951bd7d80ac18`](https://github.com/python/typeshed/commit/11a2066a70a42fda39e48a2772d951bd7d80ac18).
nonebot-plugin-pokemonle 0.0.7
猜宝可梦
Requires Python: <4.0,>=3.9

<div align="center">

# nonebot-plugin-pokemonle

_✨ <猜宝可梦> ✨_


<a href="./LICENSE">
    <img src="https://img.shields.io/github/license/Proito666/nonebot-plugin-pokemonle" alt="license">
</a>
<a href="https://pypi.python.org/pypi/nonebot_plugin_pokemonle">
  <img alt="PyPI - Version" src="https://img.shields.io/pypi/v/nonebot_plugin_pokemonle">
</a>
<img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="python">
</div>

nonebot插件版的猜宝可梦，修改自[pokemonle](https://github.com/QuantAskk/pokemonle/tree/main)

## 💿 安装
<details>
<summary>使用 nb-cli 安装</summary>
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装

    nb plugin install nonebot-plugin-pokemonle

</details>

<details>
<summary>使用包管理器安装</summary>
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令

<details>
<summary>pip</summary>

    pip install nonebot-plugin-pokemonle
</details>
<details>
<summary>pdm</summary>

    pdm add nonebot-plugin-pokemonle
</details>
<details>
<summary>poetry</summary>

    poetry add nonebot-plugin-pokemonle
</details>
<details>
<summary>conda</summary>

    conda install nonebot-plugin-pokemonle
</details>

打开 nonebot2 项目根目录下的 `pyproject.toml` 文件, 在 `[tool.nonebot]` 部分追加写入

    plugins = ["nonebot_plugin_pokemonle"]

</details>

## ⚙️ 配置

在 nonebot2 项目的 env 文件中添加配置

| 配置项 | 必填 | 类型 | 默认值 | 说明 |
|:-----:|:----:|:----:|:----:|:----:|
| pokemonle_max_attempts | 否 | int | 10 | 最大尝试次数 |
| pokemonle_gens | 否 | list | [] | 世代选择，例如：["第一世代", "第三世代", "第五世代"]，空代表都选 |
| pokemonle_cheat | 否 | bool | False | 是否开启恶作剧 |

## 🎉 使用
猜宝可梦: 开始游戏

直接输入怪物名称进行猜测

结束：结束游戏

## 📖 说明

### 游戏目标
通过输入宝可梦名称进行猜测，找出目标宝可梦。每次猜测后，你将获得输入宝可梦的相关信息，帮助你逐步接近答案。

### 提示颜色说明

<span style="color:#67c23a;background-color:#f0f9eb;border-color:#e1f3d8;padding: 2px 5px;border-radius: 4px;">绿色高亮</span> 表示该信息与目标宝可梦完全相同。  

<span style="color:#e6a23c;background-color:#fdf6ec;border-color:#faecd8;padding: 2px 5px;border-radius: 4px;">黄色高亮</span>  表示该信息与目标宝可梦接近但不完全相同。

### 黄色高亮的触发条件

**种族值总和**：`与目标宝可梦的差值 ≤ 50`  
**速度**：`与目标宝可梦的差值 ≤ 10`  
**世代**：`与目标世代相邻（差值 ≤ 1）`  
**进化方式**：`不完全相同但属于相似进化方式（例如使用物品、特定地点、等级、亲密度等）`  
**形态标签**：`两只宝可梦都有地区形态，特殊形态所属地区不同`


### 上下箭头的作用

在种族值总和、速度、世代等数值类信息中，箭头提示你猜测的方向是否正确：

↑：表示你输入的宝可梦的该数值低于目标宝可梦，建议下次猜测选择数值更高的宝可梦。

↓：表示你输入的宝可梦的该数值高于目标宝可梦，建议下次猜测选择数值更低的宝可梦。