semvec/pypi-packages huggingface dataset:
docxtpldjufix 1.1
Fixed through properties docxtpl library, no more deprecated pkg_resources
Requires Python: >=3.10
Keywords: jinja2

ATTENTION!
This library was not created by me! The original author is:
authors = [{name="Eric Lapouyade", email="elapouya@proton.me"}]

Here are the links to his stuff:
homepage = "https://github.com/elapouya/python-docx-template"
repository = "https://github.com/elapouya/python-docx-template.git"
document = "https://docxtpl.readthedocs.org"

Also the workaround the deprecation issue cased pkg_resources was not invented by me either.
I found it on github (https://github.com/dlt-hub/dlt/pull/2707) and I believe I discovered it from the user: djudjuu

All of the credit goes to the people mentioned above.
insurance-predict-mcp 1.1.0
LightGBM Insurance Premium Prediction MCP Server
Requires Python: >=3.10
Keywords: mcp, fastmcp, lightgbm, insurance, prediction

# Insurance Premium Prediction - FastMCP Server

LightGBM 기반 보험료 예측 모델을 [FastMCP](https://gofastmcp.com) 프레임워크를 통해 MCP (Model Context Protocol) 서버로 제공합니다.

## 🚀 FastMCP란?

FastMCP는 MCP 서버와 클라이언트를 빠르고 간단하게 구축할 수 있는 Python 프레임워크입니다. MCP는 "AI를 위한 USB-C 포트"로 불리며, LLM이 데이터와 기능에 표준화된 방식으로 접근할 수 있게 해줍니다.

## 📦 설치

```bash
# 가상환경 생성
uv venv

# 의존성 설치
uv pip install -r requirements.txt
uv pip install fastmcp
```

## 🏥 MCP 서버

### 제공하는 도구 (Tools)

#### 1. `predict_insurance_premium`
보험료를 예측합니다.

**입력 파라미터:**
- `age`: 나이 (세)
- `annual_income`: 연간 소득 (달러)
- `number_of_dependents`: 부양 가족 수
- `health_score`: 건강 점수
- `previous_claims`: 이전 청구 건수
- `vehicle_age`: 차량 연식 (년)
- `credit_score`: 신용 점수
- `insurance_duration`: 보험 기간 (년)

**출력:**
```json
{
  "predicted_premium": 5.64,
  "input_data": { ... },
  "message": "예측된 보험료는 $5.64 입니다."
}
```

#### 2. `get_model_info`
모델의 정보를 반환합니다.

**출력:**
- 모델 특성 개수 (69개)
- 특성 이름 목록
- 모델 타입 (LGBMRegressor)
- 필수 입력 특성 (8개)

## 🧪 테스트 방법

### 1. 간단한 테스트 (Python 스크립트)

```bash
python test_mcp_simple.py
```

이 테스트는 MCP 서버의 함수를 직접 호출하여:
- 모델 정보 조회
- 기본 보험료 예측
- 다양한 시나리오 테스트

### 2. MCP CLI를 사용한 테스트

```bash
# MCP 서버를 stdio 모드로 실행
python serve_mcp.py

# 또는 FastMCP CLI 사용
fastmcp dev serve_mcp.py
```

## 📊 테스트 결과 예시

```
🏥 Insurance Premium Predictor 🏥

📋 등록된 도구:
  1. predict_insurance_premium - 보험료 예측
  2. get_model_info - 모델 정보 조회

💰 테스트 케이스:
  • 나이: 35세
  • 연소득: $42,000
  • 부양가족: 2명
  • 건강 점수: 25.5
  • 이전 청구: 1건
  • 차량 연식: 5년
  • 신용 점수: 700
  • 보험 기간: 3년

📊 예측 결과:
  ✅ 예측된 보험료: $5.64
```

## 🔧 모델 특성

- **모델 타입**: LightGBM Regressor
- **총 특성 수**: 69개
- **필수 입력 특성**: 8개
- **자동 특성 생성**: 나머지 61개 특성은 0으로 자동 초기화

## 📚 참고 자료

- [FastMCP 공식 문서](https://gofastmcp.com)
- [Model Context Protocol (MCP)](https://modelcontextprotocol.io)
- [LightGBM](https://lightgbm.readthedocs.io/)

## ✅ 테스트 완료 내용

- ✅ 모델 로드 및 정보 조회
- ✅ 보험료 예측 기능
- ✅ 다양한 시나리오 테스트 (저위험, 중위험, 고위험)
- ✅ FastMCP 프레임워크 통합
- ✅ MCP 도구 등록 및 실행

## 🎯 활용 방안

이 MCP 서버는 다음과 같은 AI 어시스턴트와 통합할 수 있습니다:
- Claude Desktop
- ChatGPT
- 기타 MCP 호환 LLM 애플리케이션

AI 어시스턴트가 이 서버에 연결하면, 자연어로 보험료 예측을 요청하고 결과를 받을 수 있습니다.
wccls 4.0.1
Scraper for the WCCLS account page
Requires Python: >=3.9

# Overview

This is a read-only scraper for the [WCCLS](https://wccls.bibliocommons.com) account page. It also works for the [Multnomah County Bibliocommons site](https://multcolib.bibliocommons.com)

# Usage

![image](https://github.com/rkhwaja/wccls/workflows/ci/badge.svg) [![codecov](https://codecov.io/gh/rkhwaja/wccls/branch/master/graph/badge.svg)](https://codecov.io/gh/rkhwaja/wccls)

``` python
from wccls import Wccls, WcclsAsync
items = Wccls(login=card_number_or_username, password=password)
for item in items:
    print(item)

items = await WcclsAsync(login=card_number_or_username, password=password)
for item in items:
    print(item)
```

# Running tests

## To record new test data (also test against live website)
Set SCRUB_EMAIL, WCCLS_CARD_NUMBER, WCCLS_PASSWORD environment variables

Make a new directory tests/filesets/new_fileset
``` python
pytest --collect=save -k new_fileset
```
And check the new output.json against reality

## To test existing test data
``` python
pytest
```
memokit 0.0.2
ai memory kit
Requires Python: >=3.13.2

# Memokit 

Memokit is a lightweight AI memory toolkit that helps AI applications manage medium-term memory.

## Installation

**Install from pypi:**

```bash
pip install memokit
```

**Or clone the repository:**

```bash
git clone https://github.com/AmeNetwork/memokit.git
cd memokit
pip install -r requirements.txt
```

## Usage
**Memokit Space:**  
Custom memory spaces, different spaces are used to store different memories, and they will automatically classify and store your memories.

```python
from memokit import Space 
space=Space()
# create space for sport 
space.create_space(uid="alice", space_name="sport", space_description="sport space")
# add memory to sport space 
space.add_memory(uid="alice", memory='I like playing football')
```

Full Example Here: [space_example.py](https://github.com/AmeNetwork/memokit/blob/main/examples/space_example.py)

**Memokit Pool:**   
Memokit Pool is a shared memory pool that allows different users and agents to share the same pool, enabling memory sharing and management.

```python
from memokit.pool import MemoryPool
pool = MemoryPool()

# create a memory pool for alice and bob
pool_id = pool.create_pool(["alice", "bob"])

# add memory to pool
pool.add_memory(
    pool_id=pool_id,
    memory="we will hold a meeting at 10am on Wednesday next week",
    uid="alice"
)
```
Full Example Here: [pool_example.py](https://github.com/AmeNetwork/memokit/blob/main/examples/pool_example.py)
DIYA-Voice 0.15.0
Offline Voice-Controlled LED and Robotics GUI for ESP32 using Vosk.
Requires Python: >=3.7

# 🎤 DIYA_Voice 0.4.2

**Offline Voice-Controlled LED System for Students and Robotics Labs**

DIYA_Voice allows students to control RGB LEDs or ESP32 devices using voice commands like  
> “turn on red”  
> “turn off blue”

All offline — no internet needed.

---

## 🚀 Features
✅ Works fully offline (powered by Vosk ASR)  
✅ Auto microphone detection and fallback  
✅ Animated LED GUI using Tkinter  
✅ Compatible with ESP32 / Arduino  
✅ Perfect for school robotics labs  

---

## 🧩 Installation
```bash
pip install DIYA_Voice==0.4.7
inka-clean 0.1.2
Remove inka2 metadata from markdown files while preserving content
Requires Python: >=3.12

# inka-clean

Remove inka2 metadata from markdown files while preserving content and adjusting heading hierarchy.

## Overview

`inka-clean` is a Unix pipeline tool that processes markdown files containing [inka2](https://github.com/sysid/inka2) flashcard sections. It removes inka2 metadata (delimiters, deck/tag specifications, ID comments, question numbers, answer prefixes) while preserving the actual content and intelligently adjusting heading levels to fit the surrounding markdown hierarchy.

## Installation

```bash
uv tool install inka-clean
# or for development
cd inka-clean && make install
```

## Usage

As a Unix pipeline tool (stdin → stdout):

```bash
# Read from stdin, write to stdout
cat file.md | inka-clean > output.md

# Direct file redirection
inka-clean < input.md > output.md

# With file argument
inka-clean input.md > output.md

# Chain with other tools
cat file.md | inka-clean | pandoc -o output.html
```

## Example

**Input:**
```markdown
## Outer Heading
Some content.

---
Deck: tools::vim
Tags: vim

<!--ID:1755681272665-->
1. How to format text paragraphs?
> `gq`
> `gqap` (current paragraph)

---

### Another Heading
More content.
```

**Output:**
```markdown
## Outer Heading
Some content.

How to format text paragraphs?
`gq`
`gqap` (current paragraph)

### Another Heading
More content.
```

## Features

- **Metadata removal**: Strips `---` delimiters, `Deck:`, `Tags:`, `<!--ID:-->` comments
- **Prefix stripping**: Removes `1. ` question numbers and `> ` answer prefixes
- **Heading adjustment**: Adjusts heading levels in inka2 content relative to surrounding context
- **Edge case handling**: Preserves code blocks, regular ordered lists, blockquotes, thematic breaks
- **Performance**: < 20ms for typical files
- **Unix philosophy**: Pure stdin/stdout, composable with other tools

## Development

```bash
# Run tests (TDD)
make test

# Type check
make ty

# Lint and format
make lint
make format

# Run benchmarks
make bench
```

## License

MIT
# inka-clean
profanity-hinglish 0.1.5
A lightweight profanity filter for English and Hinglish text, built on top of better_profanity.
Requires Python: >=3.9

# Profanity Filter Hinglish

A small package to detect and filter **English + Hinglish** profanity.  
Built on top of [better_profanity](https://pypi.org/project/better-profanity/).

## Installation

```bash
pip install profanity-hinglish
```
pypasl 0.1.2rc1
PASL (Python As a Scripting Language) is a project dedicated to allowing easier use of Python as a scripting language, mainly with the goal of replacing .sh or .ps1.
Requires Python: >=3.12

# PASL
PASL (Python As a Scripting Language) is a cross-platform project dedicated to allowing easier use of Python as a scripting language, mainly with the goal of replacing .sh or .ps1.
pysqueezebox 0.13.0
Asynchronous library to control Logitech Media Server
Requires Python: >=3.11

# pysqueezebox - Asynchronous control of squeezeboxes
This a library to control a Logitech Media Server asynchronously, intended for
integration with Home Assistant.

Much of the code was adapted from the Home Assistant squeezebox integration.
The current convention is for all API-specific code to be part of a third
party library hosted on PyPi, so I created a separate library.

The function names track the terms used by the LMS API, so they do not all
match the old Home Assistant squeezebox integration.

Thank you to the original author of the squeezebox integration. If it is you,
please let me know so I can credit you here.

# Usage
Install pysqueezebox from github, or using PyPi via pip.
```sh
$ pip3 install pysqueezebox
```

## Imports
Import the Server() and Player() classes from this module. You will also need
to create an aiohttp.ClientSession() that the module will use to communicate
with the Logitech Media Server.

You can use Server.async_get_players() to retrieve a list of connected players,
or get a specific player using Server.async_get_player(name="PlayerName").
Remember that any method starting with "async_" is a coroutine that must be
preceded by an await to run.

For more information on using aiohttp.ClientSession(), see
https://aiohttp.readthedocs.io/en/stable/client_reference.html.
```Python
from pysqueezebox import Server, Player
import aiohttp
import asyncio
SERVER = '192.168.1.2' # ip address of Logitech Media Server

async def main():
    async with aiohttp.ClientSession() as session:
        lms = Server(session, SERVER)
        player = await lms.async_get_player(name="Bedroom")
	await player.async_update()
	print(player.album)
	await player.async_play()

loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```

## Player.async_update()
The Player object stores information about the current status of the player.
This allows you to retrieve the player's properties without any I/O. Remember
to call Player.async_update() prior to retrieving properties if you want the
most up-to-date information.

## Player() class
Most of the useful functions are in the Player class. More documentation to
follow, but in the meantime, the docstrings should be instructive.