semvec/pypi-packages huggingface dataset:
webquest-mcp 0.16.0
WebQuest MCP is a Model Context Protocol (MCP) server that exposes powerful web search and scraping tools to AI agents and MCP-compatible clients.
Requires Python: >=3.12

<p align="center">
  <img src="https://github.com/mustafametesengul/webquest-mcp/raw/main/docs/images/logo.svg" alt="WebQuest MCP Logo" width="350">
</p>

# WebQuest MCP

WebQuest MCP is a Model Context Protocol (MCP) server that exposes powerful web search and scraping tools to AI agents and MCP-compatible clients.

For available scrapers and browsers, see the [WebQuest documentation](https://mustafametesengul.github.io/webquest/).

## Installation

Installing using pip:

```bash
pip install webquest-mcp
```

Installing using uv:

```bash
uv add webquest-mcp
```

## Usage

### Starting the server

To start the WebQuest MCP server, run:

```bash
webquest-mcp serve
```

The server reads its configuration from environment variables (or a `.env` file loaded automatically). Available settings:

- `OPENAI_API_KEY` (required): OpenAI API key for scrapers.
- `HYPERBROWSER_API_KEY` (required): Hyperbrowser API key.
- `WEBQUEST_MCP_AUTH_SECRET` (optional): JWT secret to enable authenticated requests. Leave unset to disable auth.
- `WEBQUEST_MCP_AUTH_AUDIENCE` (optional, default `webquest-mcp`): JWT audience to validate when auth is enabled.
- `WEBQUEST_MCP_TRANSPORT` (optional, default `stdio`): MCP transport. Supported values: `stdio`, `sse`, `streamable-http`.
- `WEBQUEST_MCP_HOST` (optional, default `localhost`): Host to bind when the transport is HTTP-based.
- `WEBQUEST_MCP_PORT` (optional, default `8000`): Port to use when the transport is HTTP-based.

Example `.env`:

```text
OPENAI_API_KEY=your_openai_api_key
HYPERBROWSER_API_KEY=your_hyperbrowser_api_key
WEBQUEST_MCP_AUTH_SECRET=your_jwt_secret_key
WEBQUEST_MCP_AUTH_AUDIENCE=webquest-mcp
WEBQUEST_MCP_TRANSPORT=streamable-http
WEBQUEST_MCP_HOST=localhost
WEBQUEST_MCP_PORT=8000
```

### Token generation

To generate an authentication token for the MCP client, set the required environment variables and run the generator.

The token generator uses the same `WEBQUEST_MCP_*` prefix as the server.

Required settings:

- `WEBQUEST_MCP_AUTH_SECRET`: JWT secret used by the server.
- `WEBQUEST_MCP_AUTH_SUBJECT`: Identifier for the client receiving the token.

Optional settings:

- `WEBQUEST_MCP_AUTH_AUDIENCE` (default `webquest-mcp`)
- `WEBQUEST_MCP_AUTH_EXPIRATION_DAYS` (default `365`)

Example `.env`:

```text
WEBQUEST_MCP_AUTH_SECRET=your-secret-key
WEBQUEST_MCP_AUTH_SUBJECT=client-name
WEBQUEST_MCP_AUTH_AUDIENCE=webquest-mcp
WEBQUEST_MCP_AUTH_EXPIRATION_DAYS=365
```

Run the generator:

```bash
webquest-mcp token
```

### Docker

Run the published image:

```bash
docker run --rm -p 8000:8000 --env-file .env \
  -e WEBQUEST_MCP_HOST=0.0.0.0 \
  mustafametesengul/webquest-mcp serve
```

## Disclaimer

This tool is for educational and research purposes only. The developers of WebQuest MCP are not responsible for any misuse of this tool. Scraping websites may violate their Terms of Service. Users are solely responsible for ensuring their activities comply with all applicable laws and website policies.
StackGP 0.0.15
A stack-based genetic programming system
Requires Python: >=3.8

# StackGP
A stack-based genetic programming system in Python

 

## Publications using StackGP: 

1. Active Learning Improves Performance on Symbolic Regression Tasks in StackGP https://dl.acm.org/doi/10.1145/3520304.3528941 
2. Correlation Versus RMSE Loss Functions in Symbolic Regression Tasks https://link.springer.com/chapter/10.1007/978-981-19-8460-0_2
3. Active Learning Informs Symbolic Regression Model Development in Genetic Programming https://doi.org/10.1145/3583133.3590577
the37lab-ampa-sdk 0.1.1770929156
Python SDK for the AMPA API
Requires Python: >=3.9

# AMPA SDK

This package exports the `PromptAPI` client used throughout AMPA. The consolidated consumer documentation lives in `../AMPA_SDK.md`, which covers installation, configuration, prompt/test helpers, and REST fallbacks.

## Local development
```bash
pip install -e .
pytest
```

## Links
- `../AMPA_SDK.md` – integration guide and usage examples
- `../AMPA.md` – platform overview and REST surface
the37lab-database-tools 0.1.1770929046
PostgreSQL database tools including DDL migration management and connection pooling
Requires Python: >=3.10
Keywords: postgresql, database, migration, ddl, connection-pool

# The37Lab Database Tools

A collection of PostgreSQL database utilities for Python, including DDL migration management and connection pooling.

## Packages

This package contains two main modules:

### `ddl_manager`

A PostgreSQL DDL migration management tool that tracks schema changes using APPLY/REVERT migration files. Provides both a CLI interface and programmatic API.

**Features:**
- File-based migration system using `.ddl` files
- Automatic validation of APPLY/REVERT file pairs
- Migration tracking in database
- Rollback support
- CLI and programmatic interfaces

See [ddl_manager documentation](src/ddl_manager/README.md) for detailed usage.

### `postgres_pool`

PostgreSQL connection pooling and database utilities with convenient abstractions for common database operations.

**Features:**
- Thread-safe connection pooling
- Database conversion utilities (`DBConversion` class)
- JSON column support
- Tag management helpers
- Post-insert hooks

## Installation

### From Source (Development)

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

### Regular Install

```bash
pip install .
```

### Dependencies

- Python 3.7+
- `psycopg2-binary>=2.9.0`

## Quick Start

### DDL Manager

```python
from ddl_manager import DDLManager

manager = DDLManager(
    dsn="postgresql://user:password@host:port/database",
    ddl_directory="path/to/ddl/files"
)

# Check status
applied, unapplied = manager.status()

# Apply migrations
manager.update()
```

**CLI Usage:**

Set environment variables:
```bash
export POSTGRES_DSN="postgresql://user:password@host:port/database"
export DDL_DIRECTORY="path/to/ddl/files"
```

Then run:
```bash
ddl_manager status
ddl_manager update
ddl_manager log --json
```

Or use as a module:
```bash
python -m ddl_manager status
```

### Postgres Pool

```python
from postgres_pool import init_pool, get_connection, get_cursor, DBConversion

# Initialize the connection pool with DSN
init_pool("postgresql://user:password@host:port/database")

# Use connection pool
with get_connection() as conn:
    with get_cursor(conn) as cur:
        cur.execute("SELECT * FROM users")
        results = cur.fetchall()

# Use DBConversion for table operations
conv = DBConversion(
    table="users",
    cols=["id", "name", "email"],
    convs={},
    bools=[],
    autos=["id"]
)

with get_cursor() as cur:
    user = conv.select_id(cur, 1)
    new_user = conv.insert(cur, {"name": "John", "email": "john@example.com"})
```

## Environment Variables

### DDL Manager

- `POSTGRES_DSN`: PostgreSQL connection string
- `DDL_DIRECTORY`: Path to directory containing DDL migration files

### Postgres Pool

The connection pool must be initialized explicitly by calling `init_pool(dsn)` before use. No environment variables are required.

## License

MIT

## Development

Install development dependencies:

```bash
pip install -e ".[dev]"
```
WebtoonScraper 5.10.4
Scraping webtoons with ease
Requires Python: >=3.11
Keywords: download webtoon, naver webtoon, webtoon, webtoon downloader, webtoon scraper

# WebtoonScraper

[![Sponsoring](https://img.shields.io/badge/Sponsoring-Patreon-blue?logo=patreon&logoColor=white)](https://www.patreon.com/ilotoki0804)
![Hits](https://hitscounter.dev/api/hit?url=https%3A%2F%2Fgithub.com%2Filotoki0804%2FWebtoonScraper&label=Hits&icon=github&color=%234dc81f)
[![Download Status](https://img.shields.io/pypi/dm/WebtoonScraper)](https://pypi.org/project/WebtoonScraper/)
[![License](https://img.shields.io/pypi/l/WebtoonScraper.svg)](https://github.com/ilotoki0804/WebtoonScraper/blob/main/LICENSE)
[![Supported Python Versions](https://img.shields.io/pypi/pyversions/WebtoonScraper.svg)](https://pypi.org/project/WebtoonScraper/)
[![Latest Version](https://img.shields.io/pypi/v/WebtoonScraper)](https://pypi.org/project/WebtoonScraper/)
[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/ilotoki0804/WebtoonScraper/blob/main/pyproject.toml)

쉽고 빠르게 많은 웹사이트에서 웹툰을 다운로드받는 프로그램입니다.

자세한 설명은 [문서](https://webtoonscraper.readthedocs.io/)를 참고해 주세요.

This program provides a quick and easy way to download webtoons from many websites.

For detailed information, see the [documentation](https://webtoonscraper.readthedocs.io/).
purePyAES 0.0.6
AES encryption library written entirely in pure python. No other system dependencies required.
Requires Python: >=3.11.2

# What?

<p> The original zero dependency python only AES 
implemntation. See 
  
  [blitzkloud](https://github.com/darkerego/blitzkloud) </p>

<p>
tips ethercrypt.eth
</p>


## Installation


<pre>
pip3 install purePyAES
</pre>


## Example Usage

<pre>
from purePyAES.py_aes import AesWrapper

def gen_random_key():
    with open("/dev/urandom", 'rb') as fb:
        fb = fb.read(32)
        return fb.hex().__str__()


if __name__ == "__main__":
    """
    Example usage. Super straightforward.
    First written for BlitzKloud. There was no pure python AES
    at that time.
    """
    # Generate a key. Must be either 8,16, or 32 characters
    print('[+] Generating a random AES key ...')
    key = gen_random_key()[:32]
    print('[+] AES key generated: {}'.format(key))
    aes = AesWrapper(key.encode())  # also should be bytes
    enc_input = input('type something >> ') # input some data to encrypt
    if not enc_input or enc_input.strip('\r\n') == '':
        print("[+] Or don't")
        enc_input = 'test this data'
        print('[+] We will use `test this data` then ...')
    print('[encrypted] (b64 wrapped) aes encrypted data `aes.encrypt`: ')
    enc_data = aes.encrypt(enc_input)
    print(enc_data)
    denc_data = aes.decrypt(enc_data)
    print('aes.decrypt: ')
    print('[decrypted] %s data aes.decrypt`')
    print(denc_data)




</pre>
ruff-droids 0.1.2
Orchestrator CLI tool for ruff fixes with Factory AI droids
Requires Python: >=3.10

# ruff-droids

CLI tool that runs `ruff --fix` on a codebase and dispatches remaining violations to Factory AI droids for resolution.

## Install

```bash
uv tool install .
```

## Usage

```bash
ruff-droids --path /your/project
```

### Options

| Flag | Default | Description |
|------|---------|-------------|
| `--path` | `.` | Target directory |
| `--factory-api-key` | `FACTORY_API_KEY` env | Factory API key |
| `--concurrency` | `4` | Parallel droid workers |
rug 0.13.2
Library for fetching various stock data from the internet (official and unofficial APIs).
Requires Python: <4,>=3.13

<div align="center">
    <img src="https://gitlab.com/imn1/rug/-/raw/master/assets/logo.png">
</div>

<div align="center">
    <img src="https://img.shields.io/pypi/v/rug.svg?color=0c7dbe">
    <img src="https://img.shields.io/pypi/l/rug.svg?color=0c7dbe">
    <img src="https://img.shields.io/pypi/dm/rug.svg?color=0c7dbe">
</div>

# Rug

Universal library for fetching Stock and ETF data from the internet - mostly unofficial
APIs - no limits, more free data.

(for Cryptocurrency alternative see [karpet](https://gitlab.com/imn1/karpet))

* [PyPI](https://pypi.org/project/rug/)
* [documentation](https://rug.readthedocs.io/en/latest/) ![Documentation Status](https://readthedocs.org/projects/rug/badge/?version=latest)
* [changelog](./CHANGELOG.md)
aurea-bignum-library-python 0.1.0
A python module for handling big numbers with arbitrary precision.
Requires Python: >=3.9

# bignum

A Python module for representing and computing with extremely large or extremely small numbers using a structured scientific-notation system instead of native numeric types.

Unlike standard floats or integers, **bignum** stores numbers as dictionaries containing sign, mantissa, exponent, exponent sign, magnitude layer, and imaginary flag. This allows it to represent values far beyond Python’s built-in numeric limits while still supporting arithmetic and mathematical functions.

---

## Features

- Arbitrary-scale number representation
- Supports exponent layers (`e`, `ee`, `eee`, …)
- Arithmetic operations
- Logarithms and exponentials
- Roots and powers
- Factorials
- Imaginary number support
- Configurable precision
- Safe mode for preventing expensive operations

---

## Number Format

Each number is stored internally as:

```
{
  'sign': '+' | '-',
  'mantissa': float,
  'exponent': int,
  'exponentsign': '+' | '-',
  'magnitude': int,
  'imaginary': bool
}
```

Example:

```
1e10 → +1.0e10
1ee10 → +1.0ee10
```

Magnitude represents repeated exponent layers.

---

## Installation

```bash
pip install bignum
```

---

## Quick Example

```python
from bignum import *

a = fromInteger(4000)
b = fromInteger(200)

print(toScientific(addBignum(a, b)))
```

Output:

```
+4.2e3
```

---

## Supported Operations

### Arithmetic

- `addBignum`
- `subBignum`
- `multBignum`
- `divBignum`

### Math Functions

- `lnBignum`
- `Log10`
- `Logx`
- `expBignum`
- `sqrtBignum`
- `cubrtBignum`
- `nthrtBignum`
- `factBignum`

### Utilities

- `compareBignum`
- `roundBignum`
- `floorBignum`
- `absBignum`
- `recipBignum`
- `isZero`

---

## Configuration

The module includes configurable globals:

| Variable | Description |
|--------|-------------|
`SF` | Significant figures (default 5) |
`SafeMode` | Prevents very expensive calculations |

---

## Limitations

- `toInteger()` only converts values between `1e-10` and `1e10`.
- Precision depends on floating-point mantissa accuracy.
- Some operations are restricted when `SafeMode` is enabled.

---

## Use Cases

bignum is useful for:

- Scientific experimentation
- Simulating extreme growth systems
- Studying large exponent structures
- Mathematical modeling beyond float limits

---

## License

See `LICENSE.txt` for details.