semvec/pypi-packages huggingface dataset:
sentinelmesh 1.0.0
A real-time security and policy mesh for MCP-based AI agent communication
Requires Python: >=3.7

# 🛡️ SentinelMesh

![CI](https://github.com/rishit03/SentinelMesh/actions/workflows/ci.yml/badge.svg)
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
![Python](https://img.shields.io/badge/python-3.7%2B-blue)

**SentinelMesh** is a real-time security, policy, and observability mesh for AI agents communicating via the Model Context Protocol (MCP).

---

## 🚀 Features

- 🔎 Real-time monitoring of MCP agent-to-agent messages
- 🔐 Prompt injection & sensitive context detection (YAML-defined rules)
- ⚠️ Risk scoring with visual color tags
- 📊 Streamlit dashboard with filters, charts, and risk summaries
- 🧪 Log replay tool for forensic analysis
- 🛑 Manual + auto-quarantine via blocklist
- 🧱 Modular CLI structure (installed with `setup.py`)

---

## 📦 Installation

From your project root:

```bash
pip install -e .
```

---

## 🖥️ Dashboard

Launch the real-time Streamlit dashboard:

```bash
streamlit run sentinelmesh/dashboard/app.py
```

Features:
- Realtime log table
- Risk scoring with heatmap
- Agent volume and risk timeline
- Block/unblock agents live from the sidebar

---

## 🧰 CLI Tools

### MCP Monitor:

```bash
sentinelmesh-cli
```

Monitors the log file and shows alerts in real time.

---

### Log Replay:

```bash
sentinelmesh-replay --agent agent.hrbot.local --limit 10
```

Replay historical logs with filters.

---

## ⚙️ Config Files

- `sentinelmesh/rules/rules.yaml` — security rules (phrases, context, regex)
- `sentinelmesh/rules/blocklist.yaml` — blocked agents (manually set)
- `sentinelmesh/logs/mcp_traffic.log` — live traffic log

---

## 📝 License

MIT © Rishit Goel
linkmod 1.0.1
A simple tool to customize links.
Requires Python: >=3.6

# LinkMod: The Ultimate Command-Line URL Tool



**LinkMod** is a powerful and flexible command-line tool that enhances your URL management workflow. It offers two primary functionalities:

1.  **Bitly URL Shortening**: Quickly shorten long URLs using the Bitly API.
2.  **Custom Link Naming**: Create memorable, custom-named links in the format `custom-name@your-link.com`.

When you provide a long URL and a custom name, LinkMod will first shorten the URL with Bitly (if an API key is available) and then create a custom link with the shortened URL.

## Features

-   **Seamless Bitly Integration**: Shorten URLs with a single command.
-   **Secure API Key Storage**: Your Bitly API key is stored securely in your system's native credential manager using the `keyring` library.
-   **Cross-Platform**: Works on Windows, macOS, and Linux.
-   **User-Friendly Prompts**: The tool guides you through setting up your Bitly API key for the first time.
-   **Flexible Usage**: Use either the URL shortening, the custom link naming, or both combined.

## Installation

You can install LinkMod using `pip`:

```bash
pip install .
```

This will install the package and all its dependencies (`requests` and `keyring`).

## Usage

LinkMod's functionality changes based on the number of arguments you provide.

### 1. Shorten a URL with Bitly

To shorten a long URL, simply provide it as a single argument:

```bash
linkMod {long_url}
```

**Example:**

```bash
linkMod https://www.github.com/Rishi-Bhati/linkmod
```

**Output:**

```
Short link: https://bit.ly/xxxxxxx
```

### 2. Create a Custom Link (with optional Bitly shortening)

To create a custom-named link, provide the original URL and your desired custom name:

```bash
linkMod {long_url} {custom_name}
```

**Example:**

```bash
linkMod https://www.github.com/Rishi-Bhati/linkmod my-repo
```

**Output:**

```
Checking for Bitly API key...
Bitly API key found. Shortening link...
Link shortened successfully.
my-repo@bit.ly/xxxxxxx
```

If no Bitly API key is found, the tool will use the original link:

```
Checking for Bitly API key...
Bitly API key not found. Using original link.
my-repo@www.github.com/Rishi-Bhati/linkmod
```

### Setting Up Your Bitly API Key

The first time you use a feature that requires a Bitly API key, the tool will prompt you to add one:

```
Bitly API key not found. Would you like to add one? (y/n):
```

If you select `y`, you will be prompted to enter your API key. It will then be securely stored for all future uses.

## Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue on the [GitHub repository](https://github.com/Rishi-Bhati/linkmod.git).

## License

This project is licensed under the MIT License. See the `LICENSE` file for details.
pyartify 0.1
Convert images to pixel art using retro palettes like NES, GameBoy, Minecraft, and PICO-8.
Requires Python: >=3.7


# Pixelify

🎨 Convert images into retro-style pixel art using palettes like NES, GameBoy, Minecraft, and PICO-8. Also supports dithering and transparent backgrounds.

## Installation

```bash
pip install pixelify
```

## Usage (Python)

```python
from pixelify import pixelify_to_nes
img = pixelify_to_nes("image.jpg", pixel_size=8)
img.save("output.png")
```

## Features

- NES, GameBoy, Minecraft, PICO-8 palettes
- Transparent PNG output
- Dithering (Floyd–Steinberg, Ordered, Jarvis–Judice–Ninke)

## License

MIT
katzenpost_thinclient 0.0.11
A thinclient for the Katzenpost client daemon
Requires Python: >=3.8


# katzenpost_thinclient

*A thin client for sending and receiving messages via a Katzenpost mix network.*

This pypi package provides a thin client library for interacting with a
Katzenpost mixnet.

A mix network is a type of anonymous communications network.

A thin client library is code you can use as a depencency in your
application so that it can anonymously interact with services on the
mix network. The Katzenpost client daemon is a multiplexing client;
many applications on the same device can use their thin client
libraries to connect to the daemon and interact with mixnet services
concurrently.



# Contributions

This is a work in progress and we'll require feedback from developers to make improvements.
Pull requests welcome:

https://github.com/katzenpost/thin_client



# Documentation

Here's our python API docs:
https://katzenpost.network/docs/python_thin_client.html

Here's our thin client integration guide:
https://github.com/katzenpost/website/blob/main/content/en/docs/client_integration.md



# Installation

Install katzenpost using pip:

```bash
pip install katzenpost_thinclient
```

or

```bash
pip install -e .
```



# Running Code Examples

In the `tests/` directory AND the `examples/` directory you'll find
some simple python examples that use this library. However both of
them refer to the path to the katzenpost docker mixnet's client2's
thinclient's config, like so:

```python

docker_mixnet_thinclient_cfg = "../../katzenpost/docker/voting_mixnet/client2/thinclient.toml"
```

These examples are meant to be runned after starting a katzenpost docker mixnet.
Firstly, start the docker mixnet. For details instructions, go here: https://katzenpost.network/docs/admin_guide/docker.html
We'll be working with the Katzenpost monorepo to get the docker mixnet started: https://github.com/katzenpost/katzenpost

```bash

cd katzenpost/docker
make start wait run-ping
```

Once our docker mixnet is fully started up then we can start the client2 daemon:

```bash

cd katzenpost/client2
make warpedclientdaemon
cd cmd/kpclientd
./kpclientd -c ../../../docker/voting_mixnet/client2/client.toml
```

The above client2/client.toml should have been created by the docker Makefile
(via the `make start` command above) which sets up a new docker mixnet. Next we can
finally run our test and examples:


```bash

pytest
```

and

```bash

cd examples
python fetch_pki_doc.py
# blah blah informative output
python echo_ping.py
# blah blah informative output
```


# Additional Code Examples

We have two working example python programs that use this
thin client library:

1. stats - terminal application that prints the current mixnet status
   https://github.com/katzenpost/status

2. worldmap - renders an image of the mixnet transposed over a worldmap
   https://github.com/katzenpost/worldmap


# Compatibility

Works with Katzenpost v0.0.49 or later.



# License

AGPLv3
nonebot-plugin-bili-fav-watcher 0.1.12
A Bilibili user video favorites monitor
Requires Python: >=3.8

# nonebot-plugin-bili-fav-watcher

<p>
  <a>
    <img src="https://img.shields.io/github/license/cscs181/QQ-Github-Bot.svg" alt="license">
  </a>
  <img src="https://img.shields.io/badge/python-3.8+-blue.svg" alt="python">
</p>

## 安装

```shell
nb plugin install nonebot-plugin-bili-fav-watcher
```

## 简介

这是一个用于监听B站收藏夹更新的NoneBot插件，可以自动发送收藏夹更新通知到QQ群。

## 使用
`<favw> [uid]`: 添加B站用户。

`<off_favw> [uid]`: 移除指定B站用户。

`<show_favw>`: 查看监听列表。

`<favw_now>`: 立即执行一次监视。

`<add_favw_admin> [qq_id]`: 给指定用户添加插件使用权限。

`<del_favw_admin> [qq_id]`: 删除指定用户的插件使用权限。

`<show_favw_admin>`: 查看插件使用权限列表。

`<favw_admin_only_on>`: 设置为仅管理员可用（仅SUPERUSERS可用）。

`<favw_admin_only_off>`: 设置为所有群员可用（仅SUPERUSERS可用）。

示例:

`favw 123456`

`off_favw 123456`

ps: 使用时请在命令前添加命令判定符，一般为`/`或`#`

## 配置

`BILI_FAV_WATCHER__COMMAND_PRIORITY` 插件命令权重（默认值：50）

`BILI_FAV_WATCHER__INTERVAL_BETWEEN_RUNS` 收藏夹遍历间隔（单位：秒，默认值：60）

`BILI_FAV_WATCHER__NEW_VIDEO_THRESHOLD` 收藏夹新视频判定阈值（单位：秒，默认值：120）

`BILI_FAV_WATCHER__CACHE_CLEANUP_THRESHOLD` 缓存清理阈值（单位：秒，默认值：180）

`BILI_FAV_WATCHER__SLEEP_INTERVAL` 遍历过程中休眠间隔（单位：秒，默认值：5）

`BILI_FAV_WATCHER__SESSDATA` B站登录凭证的核心字段（默认值为空字符串）

`BILI_FAV_WATCHER__BILI_JCT` B站登录凭证的字段之一（默认值为空字符串）

`BUVID3` B站登录凭证的字段之一（默认值为空字符串）

`DEDEUSERID` B站登录凭证的字段之一（默认值为空字符串）

`AC_TIME_VALUE` B站登录凭证的有效期（默认值为空字符串，该字段存储在localStorage中而非cookie）