semvec/pypi-packages huggingface dataset:
wsfactory 0.7.0
Менеджер веб-сервисов spyne в проекте Django
Requires Python: >=3.9

О проекте
=========

wsfactory - это менеджер вебсервисов spyne в проекте django.


`Документация <http://wsfactory.rtfd.org/>`_
============================================


Установка
=========

Ставим как обычно через pip:

.. code-block:: bash

    pip install wsfactory -i http://pypi.bars-open.ru


За подробностями обращайтесь к документации.
respan-exporter-litellm 1.0.1
Respan exporter for LiteLLM
Requires Python: <4.0,>=3.12

# Respan LiteLLM Exporter

LiteLLM integration for exporting logs and traces to Respan.

## Installation

```bash
pip install respan-exporter-litellm
```

## Quick Start

### Callback Mode

Use the callback to send traces to Respan:

```python
import litellm
from respan_exporter_litellm import RespanLiteLLMCallback

# Setup callback
callback = RespanLiteLLMCallback(api_key="your-respan-api-key")
callback.register_litellm_callbacks()

# Make LLM calls - traces are automatically sent
response = litellm.completion(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}],
)
```

### Proxy Mode

Route requests through Respan gateway:

```python
import litellm

response = litellm.completion(
    api_key="your-respan-api-key",
    api_base="https://api.respan.ai/api",
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}],
)
```

## Logging

If you just want individual logs (no trace/span IDs), omit trace fields and
send only basic metadata. This will produce one log per request.

### Callback Mode (with `respan_params`)

```python
import litellm
from respan_exporter_litellm import RespanLiteLLMCallback

callback = RespanLiteLLMCallback(api_key="your-api-key")
callback.register_litellm_callbacks()

response = litellm.completion(
    api_key="your-api-key",
    api_base="https://api.respan.ai/api",
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}],
    metadata={
        "respan_params": {
            "workflow_name": "simple_logging",
            "span_name": "single_log",
            "customer_identifier": "user-123",
        }
    },
)
```

### Proxy Mode (with `extra_body`)

```python
import litellm

response = litellm.completion(
    api_key="your-respan-api-key",
    api_base="https://api.respan.ai/api",
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}],
    extra_body={
        "span_workflow_name": "simple_logging",
        "span_name": "single_log",
        "customer_identifier": "user-123",
    },
)
```

## License

MIT
respan-exporter-agno 1.0.1
Respan exporter for Agno traces
Requires Python: <3.15,>=3.12

# Keywords AI Exporter for Agno

## Installation

```bash
pip install keywordsai-exporter-agno
```

## Usage

```python
import os
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from keywordsai_exporter_agno import KeywordsAIAgnoInstrumentor

KeywordsAIAgnoInstrumentor().instrument(api_key="your-keywordsai-api-key")

agent = Agent(
    name="Example Agent",
    model=OpenAIChat(id="gpt-4o-mini", api_key=os.getenv("OPENAI_API_KEY")),
)
agent.run("hello from agno")
```

## Gateway Calls (optional)

```python
import os
from agno.agent import Agent
from agno.models.openai import OpenAIChat

gateway_base_url = os.getenv(
    "KEYWORDSAI_GATEWAY_BASE_URL",
    "https://api.keywordsai.co/api",
)
agent = Agent(
    name="Gateway Agent",
    model=OpenAIChat(
        id="gpt-4o-mini",
        api_key=os.getenv("KEYWORDSAI_API_KEY"),
        base_url=gateway_base_url,
    ),
)
agent.run("hello from KeywordsAI gateway")
```
iflow-mcp_elitewa-ai-dirscan 0.1.0
AI-powered directory scanning and vulnerability analysis tool with MCP protocol
Requires Python: >=3.10

# AI DirScan - 智能目录扫描与漏洞分析工具

🔗 **项目地址**: [https://github.com/Elitewa/ai_dirscan](https://github.com/Elitewa/ai_dirscan)

## 📖 项目简介
本项目可以说是MCP+AI和传统安全融合的一个示范，鉴于现在关于MCP for Security的知识还不够完善，也算是抛砖引玉了，如果有更好的建议欢迎指出🤩

AI DirScan 是基于 **MCP协议** 的新一代智能安全扫描工具，创新性地将传统目录爆破工具 dirsearch 与大型语言模型（LLM）相结合，实现：

✨ **核心功能**  
✅ 自动化目录扫描与状态码分析  
✅ 智能结果解析与漏洞关联分析  
✅ 主流大模型兼容支持（需自行配置API）  

🚀 **技术亮点**  
- 采用 **FastMCP** 框架实现高并发处理
- 使用mcp协议中的**sse方案**，增加对扫描工具超时优化
- 支持 200/403/500 等状态码智能筛选分析
- 可配合Cline进行扫描全流程自动化，产出相应md格式漏洞报告

🧑🏻‍💻 功能预览

该MCP工具可自动获取对话中的URL地址，并进行目录扫描

<img src="assets/image-20250410163252645.png" alt="image-20250410163252645" style="zoom:50%;" />

自动分析非200页面网页内容，可用于发现服务器版本泄露，框架类型版本泄露，网站绝对路径泄露等漏洞，并在分析完所有扫描得到的路径之后，会产出md格式漏洞报告（依赖于cline）

> 为节省LLM的api tokens，对扫描结果进行了数据筛选工作，以 状态码+返回包大小 作为判断标识，同样的组合仅保留分析一组

<img src="assets/image-20250410162827424.png" alt="image-20250410162827424" style="zoom: 25%;" />

## 🛠️ 快速开始

### 环境要求
- Python 3.10+
- UV 虚拟环境工具
- 支持的大模型API密钥
- 新版Cline IDE插件

### 初始化环境

**MacOS/Linux**：

```bash
# 克隆仓库
git clone https://github.com/Elitewa/ai_dirscan.git
cd ai_dirscan
# 创建虚拟环境
uv venv .venv
# 激活环境
source .venv/bin/activate
# 安装虚拟环境依赖
uv add "mcp[cli]"
uv add requests
deactivate
# 退出虚拟环境，在系统主环境执行以下命令
cd dirsearch
pip install -r requirements.txt
pip install setuptools
```

**Windows：**

```sh
# 克隆仓库
git clone https://github.com/Elitewa/ai_dirscan.git
cd ai_dirscan
# 创建虚拟环境
uv venv .venv
# 激活环境
.venv\Scripts\activate.bat
# 安装依赖
uv add "mcp[cli]"
uv add requests
deactivate
# 退出虚拟环境，在系统主环境执行以下命令
cd dirsearch
pip install -r requirements.txt
pip install setuptools
```

### 对接Cline

进入项目目录，允许以下命令，开启sse服务

```sh
uv run main.py
```

如图便是开启成功

<img src="assets/image-20250410164616472.png" alt="image-20250410164616472" style="zoom:50%;" />

Vscode下载最新版Cline插件,进入远程MCP服务添加页面，名称自定义，URL填写 `http://0.0.0.0:8000/sse`，并保存

<img src="assets/image-20250410164822985.png" alt="image-20250410164822985" style="zoom:50%;" />

在已导入的MCP服务中，将超时时长设置为10min（视扫描时长而定），如果保存后无法连接mcp服务器，建议点击 Configure MCP Servers 选项，然后对弹出的配置json 进行ctrl+s 保存

<img src="assets/image-20250410165226107.png" alt="image-20250410165226107" style="zoom: 25%;" />

建议在对话中开启MCP自动调用，这样更加方便

<img src="assets/image-20250410165705433.png" alt="image-20250410165705433" style="zoom:50%;" />

### 提示词优化

经测试，使用以下提示词效果更好

```
请帮我使用已有的mcp工具扫描网站https://xxx.xxx.top/ ，非200响应页面都要调用get_content函数获取内容，判断是否存在版本目录泄露等漏洞，并输出得到的目录，状态码,危害，利用方法，修复方法，以表格的形式统一给我写在md文件中
```
iflow-mcp_kwhinnery-openai-sample-deep-research-mcp 0.1.5
A Deep Research style MCP server for searching and fetching cupcake orders
Requires Python: >=3.8

# Cupcake MCP for Deep Research

This is a minimal example of a Deep Research style MCP server for searching and fetching cupcake orders.

## Set up & run

Python setup:

```shell
python -m venv env
source env/bin/activate
pip install -r requirements.txt
```

Run the server:

```shell
python sample_mcp.py
```

The server will start on `http://127.0.0.1:8000` using SSE transport.

## Files

- `sample_mcp.py`: Main server code
- `records.json`: Cupcake order data (must be present in the same directory)
l10n-conv 1.0.0
Universal localization file converter, validator, and compiler — lupdate + lrelease for all l10n formats
Requires Python: >=3.9
Keywords: localization, i18n, l10n, gettext, xliff, translation, converter

# l10n-conv

Universal localization file converter, validator, and compiler — **lupdate + lrelease for all l10n formats**.

## Installation

```bash
pip install l10n-conv
```

## Supported Formats

| Format | Extensions | Read | Write |
|--------|-----------|------|-------|
| Gettext PO/POT | `.po`, `.pot` | ✓ | ✓ |
| Gettext MO | `.mo` | ✓ | ✓ |
| Qt TS | `.ts` | ✓ | ✓ |
| XLIFF 1.2/2.0 | `.xlf`, `.xliff` | ✓ | ✓ |
| Java Properties | `.properties` | ✓ | ✓ |
| Android XML | `.xml` | ✓ | ✓ |
| iOS Strings | `.strings` | ✓ | ✓ |
| JSON (i18next/flat) | `.json` | ✓ | ✓ |
| YAML (Rails i18n) | `.yml`, `.yaml` | ✓ | ✓ |
| CSV/TSV | `.csv`, `.tsv` | ✓ | ✓ |
| TMX | `.tmx` | ✓ | ✓ |
| TBX | `.tbx` | ✓ | ✓ |
| PHP arrays | `.php` | ✓ | ✓ |
| ARB (Flutter) | `.arb` | ✓ | ✓ |
| Fluent | `.ftl` | ✓ | ✓ |
| Windows RESX | `.resx` | ✓ | ✓ |

## Usage

### Convert between formats

```bash
# PO → JSON
l10n-conv convert messages.po --to json -o messages.json

# XLIFF → Android XML
l10n-conv convert translations.xlf --to android-xml -o strings.xml

# Auto-detect output format from extension
l10n-conv convert messages.po -o translations.xlf
```

### Compile

```bash
# PO → MO (like msgfmt)
l10n-conv compile messages.po -o messages.mo
```

### Extract strings from source code

```bash
# Extract from Python/JS/C/QML source
l10n-conv extract src/ -o messages.po
```

### Validate

```bash
# Check for issues
l10n-conv check messages.po
```

### Statistics

```bash
l10n-conv stats messages.po
```

### Merge

```bash
# Merge translations (like msgmerge)
l10n-conv merge base.po updates.po -o merged.po
```

### Diff

```bash
l10n-conv diff old.po new.po
```

### Initialize new language

```bash
l10n-conv init template.pot -l sv -o sv.po
```

### Batch processing

```bash
# Convert all files in a directory
l10n-conv convert locale/ --to json -o output/ --batch
```

## Options

- `--dry-run` — Preview without writing
- `-v/--verbose` — Detailed output
- `--batch` — Process directories recursively
- Pipe support: use `-` for stdin/stdout

## Exit Codes

- `0` — Success
- `1` — Error
- `2` — Warnings

## License

GPL-3.0-or-later — Daniel Nylander <daniel@danielnylander.se>
algoflex 1.0.3
Algoflex - An algorithm practice TUI
Requires Python: >=3.8

# Algoflex

Sharpen your algorithm skills — right from the terminal.

**Algoflex** brings focused algorithm practice into the comfort of your command line. Instant access to problems, fast feedback, and zero clutter.

### Key Features

- Lightweight, offline-first design.
- Multi-platform — runs smoothly on Linux, macOS, and Windows
- Curated algorithm problems — handpicked to sharpen fundamental skills.
- Keyboard-powered navigation — fly through the interface without a mouse, or use a mouse if that's how you roll.
- Progress tracking (dashboard) — see your best solve times and room for improvement.

### Installation

```bash
pip install algoflex
```

### Get Started

Once installed, just run:

```bash
algoflex
```

### Screenshots

![Algoflex Home Screen](assets/homepage.png)

![Algoflex Attempt Screen](assets/attempt.png)

![Algoflex Search Screen](assets/search.png)

![Algoflex Dashboard](assets/dashboard.png)
soin-ai 0.1.0.1
Simple Optimized Instruction Network: A nimble prompt management library.
Requires Python: >=3.11

<div align="center">
    <picture>
      <img alt="Soin Logo" src=".github/images/banner.jpg" style="border-radius: 10px;">
      <!-- <img alt="LangChain Logo" src=".github/images/logo.jpg" width="200px" style="border-radius: 20%;"> -->
    </picture>
</div>

# Soin 🐵
### Simple Optimized Instruction Network



**Soin** is a lightweight, strictly-typed prompt management library for Python. It separates your prompt logic from your application code using YAML files, Jinja2 power, and Pydantic validation.

## Key Features

- **Strict Typing:** Validate your prompt inputs using Pydantic models.
- **Programmatic Logic:** Use Jinja2 for loops, conditionals, and math inside prompts.
- **Modular Design:** Keep your prompts organized in YAML files.
- **Custom Type Registry:** Register your own classes to validate complex data structures.

## Installation

```bash
pip install soin
scrape-forvo 1.1.1
Add your description here
Requires Python: >=3.13

# scrape-forvo

Download pronunciation MP3s from Forvo search pages.

## Installation

```bash
uv run python -m pip install -e .
```

## Usage

Only this command is confirmed to work reliably:

```bash
scrape-forvo egg --use-playwright --headed
```

By default, the scraper uses Forvo language code `no` and downloads files using
`no` as the filename prefix. You can change the language code with `--lang`:

```bash
scrape-forvo egg --lang en --use-playwright --headed
```

If you want a custom filename prefix, pass `--prefix` (this overrides the default
language-based prefix):

```bash
scrape-forvo egg --lang en --prefix myset --use-playwright --headed
```

## Forvo Language Codes (YAML)

The pairs below were collected from `https://forvo.com/` language links (plus `no` from the homepage language menu: `Norsk`).

```yaml
forvo_language_codes:
  ar: Arabic
  ca: Catalan
  chm: Mari
  cs: Czech
  de: German
  el: Greek
  en: English
  eo: Esperanto
  es: Spanish
  fa: Persian
  fi: Finnish
  fr: French
  grc: Ancient Greek
  ha: Hausa
  he: Hebrew
  hu: Hungarian
  it: Italian
  ja: Japanese
  ko: Korean
  lb: Luxembourgish
  nl: Dutch
  no: Norwegian
  pl: Polish
  pt: Portuguese
  ru: Russian
  sk: Slovak
  sv: Swedish
  tr: Turkish
  tt: Tatar
  uk: Ukrainian
  yue: Cantonese
  zh: Mandarin Chinese
```

## Scriptable Usage

You can also import `scrape_forvo` and use it from Python:

```python
from scrape_forvo import scrape

result = scrape(
    "egg",
    outdir="forvo_mp3",
    lang="no",
    use_playwright=True,
    headed=True,
)

print(result.downloaded_count)
for candidate in result.candidates:
    print(candidate.url, "->", candidate.out_path)
```

The `scrape()` arguments map directly to CLI flags, so both interfaces share the same behavior without duplicated logic.
Internally, the search URL is built as `https://forvo.com/search/<word>/<lang>/` (default `lang="no"`).

## Development

Set up the project virtual environment with uv:

```bash
uv sync
```

Then run commands from the environment:

```bash
source .venv/bin/activate
```

Install dev dependencies:

```bash
python -m pip install -e .[dev]
```

Run tests:

```bash
pytest
```

### Optional live test

Set `FORVO_LIVE_TEST=1` to enable the live integration test.

## TODO

edge cases
- [ ] when multiple pronunciation files come out. which one to pick?
- [ ] when there's no pronunciation available.

integration
- [ ] integration with the vocab repo
riyadhai 1.4.2
RiyadhAI real-time agents SDK for voice, RTC, and plugin integrations.
Requires Python: >=3.10

# RiyadhAI Python SDK

Enterprise-grade Python SDK for RiyadhAI real-time agents, RTC, and plugin integrations.

## Attribution

This SDK is derived from upstream LiveKit open-source software and rebranded by RiyadhAI, LLC. LiveKit names are preserved only for factual attribution where required by Apache-2.0 notice obligations.

## License

Apache License 2.0. See `LICENSE` and `NOTICE`.

## Install

```bash
pip install riyadhai
```

For production/native features, install from published platform wheels. Source distributions are intentionally lightweight and do not bundle large native runtime assets.

Optional plugin dependency bundles:

```bash
pip install "riyadhai[all]"
pip install "riyadhai[openai,deepgram,cartesia,silero,turn-detector]"
```

## Project Layout

- `src/riyadhai/` package source
- `examples/` runnable example agents
- `docs/` release and support documentation
- `pyproject.toml` hatchling build configuration

## Compatibility Policy

This rebranding baseline changes branding and namespace only; business logic and runtime contracts are preserved.

## Migration Guide

This baseline is intentionally breaking and does not include legacy compatibility shims.

- `from livekit import ...` -> `from riyadhai import ...`
- package names rebranded to `riyadhai*`

## Examples

```bash
python examples/pipeline_agent.py download-files
python examples/realtime_agent.py download-files
```

## Console Log Modes

Set `RIYADHAI_LOG_MODE` to tune console verbosity without code changes:

- `transcript_only` (default): keep DEBUG focused on user transcription
- `full_debug`: show full DEBUG stream
- `info_only`: hide DEBUG and show INFO+
fujin-secrets-bitwarden 0.21.4
Bitwarden secret adapter for Fujin
Requires Python: >=3.10

# Fujin Secrets - Bitwarden

Bitwarden secret adapter for Fujin deployment tool.

## Installation

```bash
pip install fujin-secrets-bitwarden
```

Or with uv:

```bash
uv pip install fujin-secrets-bitwarden
```

## Prerequisites

Download and install the [Bitwarden CLI](https://bitwarden.com/help/cli/#download-and-install) and log in to your account.

You should be able to run `bw get password <name_of_secret>` and get the value for the secret. This is the command that will be executed when pulling your secrets.

## Configuration

Add the following to your `fujin.toml` file:

```toml
[secrets]
adapter = "bitwarden"
password_env = "BW_PASSWORD"
```

To unlock the Bitwarden vault, the password is required. Set the `BW_PASSWORD` environment variable in your shell. When Fujin signs in, it will always sync the vault first.

Alternatively, you can set the `BW_SESSION` environment variable. If `BW_SESSION` is present, Fujin will use it directly without signing in or syncing the vault. In this case, the `password_env` configuration is not required.

## Usage

In your environment file (`.env` or configured via `envfile` in `fujin.toml`), prefix secret values with `$`:

```env
DEBUG=False
AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
```

The `$` sign indicates to Fujin that it is a secret that should be resolved using the configured adapter.

## How it Works

The adapter:
1. Authenticates with Bitwarden using `BW_SESSION` or unlocks the vault with the configured password
2. Syncs the vault (when unlocking)
3. Resolves all secrets concurrently using `bw get password <name> --raw`
4. Returns the resolved environment variables

## Related

- [Fujin Documentation](https://github.com/Tobi-De/fujin)
- [Bitwarden CLI Documentation](https://bitwarden.com/help/cli/)
fujin-secrets-1password 0.21.4
1Password secret adapter for Fujin
Requires Python: >=3.10

# Fujin Secrets - 1Password

1Password secret adapter for Fujin deployment tool.

## Installation

```bash
pip install fujin-secrets-1password
```

Or with uv:

```bash
uv pip install fujin-secrets-1password
```

## Prerequisites

Download and install the [1Password CLI](https://developer.1password.com/docs/cli/) and sign in to your account.

You need to be actively signed in for Fujin to work with 1Password.

## Configuration

Add the following to your `fujin.toml` file:

```toml
[secrets]
adapter = "1password"
```

## Usage

In your environment file (`.env` or configured via `envfile` in `fujin.toml`), use 1Password secret references:

```env
DEBUG=False
AWS_ACCESS_KEY_ID=$op://personal/aws-access-key-id/password
AWS_SECRET_ACCESS_KEY=$op://personal/aws-secret-access-key/password
```

The secret reference format is: `$op://vault/item/field`

## How it Works

The adapter:
1. Uses the existing 1Password CLI session (requires you to be signed in)
2. Resolves all secrets concurrently using `op read <reference>`
3. Returns the resolved environment variables

## Related

- [Fujin Documentation](https://github.com/Tobi-De/fujin)
- [1Password CLI Documentation](https://developer.1password.com/docs/cli/)
- [1Password Secret References](https://developer.1password.com/docs/cli/secret-references/)
fujin-secrets-doppler 0.21.4
Doppler secret adapter for Fujin
Requires Python: >=3.10

# Fujin Secrets - Doppler

Doppler secret adapter for Fujin deployment tool.

## Installation

```bash
pip install fujin-secrets-doppler
```

Or with uv:

```bash
uv pip install fujin-secrets-doppler
```

## Prerequisites

Download and install the [Doppler CLI](https://docs.doppler.com/docs/cli) and sign in to your account.

Move to your project root directory and run `doppler setup` to configure your project.

## Configuration

Add the following to your `fujin.toml` file:

```toml
[secrets]
adapter = "doppler"
```

## Usage

In your environment file (`.env` or configured via `envfile` in `fujin.toml`), prefix secret values with `$`:

```env
DEBUG=False
AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
```

The `$` sign indicates to Fujin that it is a secret that should be resolved using the configured adapter.

## How it Works

The adapter:
1. Uses the Doppler CLI configuration from your project setup
2. Resolves all secrets concurrently using `doppler run --command "echo $<name>"`
3. Returns the resolved environment variables

## Related

- [Fujin Documentation](https://github.com/Tobi-De/fujin)
- [Doppler CLI Documentation](https://docs.doppler.com/docs/cli)