semvec/pypi-packages huggingface dataset:
private-db-llm 0.1.1
Generate and execute SQL queries against MySQL/PostgreSQL using an LLM
Requires Python: >=3.8

# private-db-llm

**Generate and execute SQL queries against MySQL or PostgreSQL using a Large Language Model (LLM)**

## Features

- **Schema Extraction**  
  Automatically discovers tables, columns, and foreign-key relations.
- **LLM-powered Query Generation**  
  Sends your prompt plus the database schema to an LLM and returns a syntactically valid SQL query.
- **Multi-Provider Support**  
  Works with OpenAI (v1+), OpenRouter, and Ollama HTTP APIs.
- **Multi-Database Support**  
  Out of the box, supports MySQL and PostgreSQL (via `mysql-connector-python` & `psycopg2-binary`).
- **SOLID Architecture**  
  Clean separation of concerns, easy to extend to other databases or LLM providers.

## Installation

```bash
pip install private-db-llm
```

### Optional extras:
- If you need PostgreSQL support, also install
```bash
pip install psycopg2-binary
```
- To load credentials from a .env file, you can add
```bash
pip install python-dotenv 
```

## Quick Start
### 1. Configure Your LLM
```python
from private_db_llm.config import LLMConfig

llm_conf = LLMConfig(
    provider="openai",      # "openai", "openrouter", or "ollama"
    api_key="sk-…",
    base_url=None,          # for OpenRouter or Ollama HTTP endpoint
    model="gpt-4o-mini"
)
```

### 2. Create the Service
```python
from private_db_llm.service import create_service

service = create_service(llm_conf)
```

### 3. Connect to Your Database
**MySQL**
```python
import mysql.connector

mysql_conn = mysql.connector.connect(
    host="localhost",
    port=3306,
    user="root",
    password="your_mysql_password",
    database="your_mysql_db"
)
```
**PostgreSQL**
```python
import psycopg2

postgres_conn = psycopg2.connect(
    host="localhost",
    port=5432,
    user="postgres_user",
    password="your_pg_password",
    dbname="your_pg_db"
)
```

### 4. Run a Prompt & Get JSON Results
```python
# For MySQL
result_mysql = service.run(
    mysql_conn,
    "List all users who signed up in the last 7 days"
)
print(result_mysql)

# For PostgreSQL
result_pg = service.run(
    postgres_conn,
    "Show total sales per region for Q1"
)
print(result_pg)
```

## Advanced
- **Customizing the instruction template:**
  - Pass your own `instruction_template` to `DBLLMService` if you want to tweak how the LLM is prompted.

- **Adding a new database:**
  1. Create `<YourDB>SchemaExtractor` & `<YourDB>QueryExecutor` classes.
  2. Hook them into `service.run()` based on the connection type.

  - **Supporting another LLM provider:**
  1. Subclass the `LLMClient` ABC.
  2. Add your implementation in `llm_client.py`.
  3. Register it in `create_service()`.

## Version Compatibility
- Python: `>=3.12`
- OpenAI Python SDK: `>=1.0.0`
- MySQL driver: `mysql-connector-python>=8.0.0`
- HTTP client: `httpx>=0.23.0`
- PostgreSQL driver: `psycopg2-binary>=2.9.0`

## Contributing
1. Fork the repo
2. Create a feature branch
3. Write tests & update docs
4. Open a PR — all contributions welcome!

## License
MIT © Matin Khosravi
post-analysis-clustering 0.1.6
Add your description here
Requires Python: >=3.10

# post-analysis-clustering

> A Python package for visualizing and interpreting clustering results using statistical tests, feature importance, and insightful plots.

[![PyPI version](https://img.shields.io/pypi/v/post-analysis-clustering)](https://pypi.org/project/post-analysis-clustering/)
[![License](https://img.shields.io/github/license/lidv94/post-analysis-clustering)](https://github.com/lidv94/post-analysis-clustering/blob/main/LICENSE)
[![Python](https://img.shields.io/pypi/pyversions/post-analysis-clustering)](https://pypi.org/project/post-analysis-clustering/)
![GitHub last commit](https://img.shields.io/github/last-commit/lidv94/post-analysis-clustering)

---

## 📦 Installation

Install via pip:

```bash
pip install post-analysis-clustering
```

# 📦 post-analysis-clustering

## 📊 Overview

The `post-analysis-clustering` package is designed to help **analyze, validate, and interpret clustering results**. It provides tools to:

- Visualize feature distributions across clusters  
- Identify distinguishing features using statistical tests  
- Plot heatmaps, snake plots, importance charts, and more  
- Evaluate inter-cluster separation and overlap  

It is especially useful for clustering results from customer segmentation, fraud detection, or other unsupervised learning pipelines.

---

## 🔧 Features

- 📈 **Box, Violin, and Distribution Plots** for feature-by-cluster analysis  
- 🧮 **Permutation Importance Heatmaps** across multiple classifiers  
- 📊 **Crosstab and Binned Heatmaps** to explore categorical and continuous variables   
- ✅ **Chi-square tests** with human-readable significance interpretation  
- 🎨 Custom color palettes for consistent cluster visualization  

---

## 🚀 Usage

Basic usage example:

```python
from post_analysis_clustering import plot_bin_heatmap

plot_bin_heatmap(
    raw_df=df,
    features=["age", "income", "purchase_amount"],
    target_cluster="cluster",
    annot_type="Percentage"
)
```
For a complete usage example, check out the [dev.ipynb](https://github.com/lidv94/post-analysis-clustering/blob/main/dev.ipynb).

---

## 👤 Author
- 🔗 [GitHub Profile](https://github.com/lidv94)  
- 💼 [LinkedIn](https://www.linkedin.com/in/alice-varakamin/)
DISB 2.1.0.2
this is the "discord infinity storage bot", it basically turns discord into unlimited cloud storage
Requires Python: >=3.10

<img src="https://u.cubeupload.com/wedu/DISBlogo.png" alt="DISBlogo" width="500" />

**DISB** this is the "discord infinity storage bot", it basically turns discord into unlimited cloud storage

<H3>DISB GOT A FULL REMAKE FROM SCRATCH, THIS IS THE NEW STARTUP FOR DISB CALLED "DISB 2.0 (RELEASED IN 5/20/25)"</H3>

**NOTE: DISB got a full scale bug fixes and solving issues that made it unusable and few user improvements in "DISB 2.1 (RELEASED IN 6/11/25)"**

**NOTE2: DISB ONLY work in almost any operating system(\*1) which can support python 3.10 and above**

**\*1: THE DISB wasn't tested on any operating system expect window
and the 32-bit version of it wasn't tested, only window 64-bit operating system was tested**
 
**DISB** is a very powerful way to upload to/download from discord, even if the file is passing the 10 MB per message
limit, and I made it for the sake of people and because I believe it's a right to store and keep the ideas and things
of people written by storing them how matter what and without any cost.

## Install

to install use the following command

<code>pip install DISB</code>

## Contribute

if you have discovered a bug, or you want to change something just open a new issue
at [Issues](https://github.com/WeDu-official/DISB/issues)

## Contact

you can contact us using this [email](mailto:fplu.the.founder@gmail.com)
,and you can be a part of our community by joining [our discord server](https://discord.gg/mnduzx6yUg)
scenext-mcp 1.2.4
Scenext MCP Server - AI视频生成服务的MCP服务器
Requires Python: >=3.10
Keywords: mcp, model-context-protocol, ai, video, generation, scenext

# Scenext MCP Server

[English](README.en.md) | [中文](README.zh.md)

---

An MCP server that integrates with [Scenext](https://scenext.cn) AI video generation platform to create educational explanation videos based on topics.

一个集成 [Scenext](https://scenext.cn) AI 视频生成平台的 MCP 服务器，可以根据题目生成教学讲解视频。

## Quick Start / 快速开始

本地接入（uvx模式）：

```json
{
  "mcpServers": {
    "scenext": {
      "command": "uvx", 
      "args": ["scenext-mcp"],
      "env": {
        "SCENEXT_API_KEY": "your_actual_api_key_here"
      }
    }
  }
}
```

远程接入（streamable-http）：

```json
{
  "mcpServers": {
    "scenext": {
      "type": "streamable-http",
      "url": "https://mcp.scenext.cn/mcp/",
      "headers": {
        "Authorization": "Bearer your_actual_api_key_here"
      }
    }
  }
}
```
Some clients do not support the headers field. You can manually configure and add the request header "Authorization=Bearer your_actual_api_key_here".

For detailed documentation:
- [English Documentation](README.en.md)
- [中文文档](README.zh.md)

## License / 许可证

MIT License
csv-stringify 1.0.0
Convert Python data structures to CSV format
Requires Python: >=3.7

# csv-stringify

A Python package for converting data to CSV text format.

## Installation

```bash
pip install csv-stringify
```

## Usage

### Basic Usage

```python
from csv_stringify import stringify

output = stringify([
  ["1", "2", "3", "4"],
  ["a", "b", "c", "d"],
], header=False)

print(output)  # "1,2,3,4\na,b,c,d\n"
```

### More Examples

```python
from csv_stringify import stringify

# Basic usage
data = [["1", "2", "3"], ["a", "b", "c"]]
csv_string = stringify(data, header=False)
print(csv_string)  # "1,2,3\na,b,c\n"

# With headers
csv_string = stringify(data, columns=["A", "B", "C"])
print(csv_string)  # "A,B,C\n1,2,3\na,b,c\n"

# From dictionaries
data = [{"name": "John", "age": 25}]
csv_string = stringify(data)
print(csv_string)  # "name,age\nJohn,25\n"
```

## API

### `stringify(data, **options)`

Convert data to CSV string.

**Parameters:**
- `data`: List of lists or list of dictionaries
- `columns`: List of column names (optional)
- `header`: Include header row (default: True)
- `delimiter`: Field delimiter (default: ',')
- `quote_char`: Quote character (default: '"')
- `quote_mode`: Quoting mode (default: 'minimal')

**Returns:** CSV string

## Requirements

- Python 3.7+
- No external dependencies

## License

MIT
posthook 0.1.2
Jira Git Hook + AI Commit Message Helper

# Posthook

A simple Git hook installer that integrates with Jira and GPT.

## Features

- Copies custom Git hooks into your repository.
- Generates commit messages with GPT.
- Posts commits as comments to Jira tickets.
- Automatically creates a `.env` config file.

## Installation

```bash
pip install posthook && posthook install --target .
llm-fragments-pure 0.2
Run URLs through the pure.md API
Requires Python: >=3.9

# llm-fragments-pure

Run URLs through the [pure.md](https://pure.md/) API to convert web pages to clean Markdown.

## Installation

```bash
llm install llm-fragments-pure
```

## Usage

```bash
llm -f 'pure:https://example.com' "Summarize this page"
```

## API Key

You can provide your pure.md API token in two ways:

### Option 1: Using LLM keys (recommended)

```bash
llm keys set puremd
# Enter your API key when prompted
llm -f 'pure:https://example.com' "Summarize this page"
```

### Option 2: Environment variable

```bash
export PUREMD_API_KEY=your_api_key_here
llm -f 'pure:https://example.com' "Summarize this page"
```

## Development

```bash
cd llm-fragments-pure
python -m venv venv
source venv/bin/activate
python -m pip install -e '.[test]'
```
yimi-mcp-server 3.0.0
Add your description here
Requires Python: >=3.10

# yimi-mcp-server

一个基于 MCP 协议的演示服务器，支持自定义工具和资源。

## 安装

```bash
pip install yimi-mcp-server
```

## 用法

```python
from yimi_mcp_server import main
main()
```

或命令行：

```bash
yimi-mcp-server
```
denso-3d-2d 0.3.0
Add your description here
Requires Python: >=3.10

# AI Planet 3D-2D Converter

A Streamlit application that allows users to upload 3D model files (like .step, .x_t) and convert them to 2D drawings using SolidWorks.

## Features

- Upload 3D model files (.step, .x_t, .stp, .igs, .iges, etc.)
- Automatic conversion to 2D drawings with multiple views (TOP, FRONT, ISOMETRIC)
- Display of conversion status and results

## Requirements

- Python 3.10+
- Streamlit
- aiohttp
- fastmcp
- pythonnet
- Access to SolidWorks API service

## Installation

Use `uv` to setup the environment and install dependencies
```bash
uv sync
```


## Usage

1. Start the MCP server in **sse** mode
   ```bash
   uv run mcp-server.py --sse
   ```

   The server will start at [http://localhost:10001](http://localhost:10001)

2. Run the Streamlit app:
   ```bash
   streamlit run streamlit_app.py
   ```

3. Open your web browser and navigate to the URL displayed in the terminal (usually http://localhost:8501)

4. Upload a 3D model file using the file uploader

5. Click the "Convert to 2D" button to start the conversion process

6. Wait for the conversion to complete and view the results

## Notes

- The application requires access to a running SolidWorks API service
- Ensure that the SolidWorks API service URL is correctly configured in the application
- The temporary uploaded files are stored in the `temp_uploads` directory