semvec/pypi-packages huggingface dataset:
kachi 0.1.0
Make a protected link unsafe
Requires Python: >=3.12

# kachi

Make a protected link unsafe.

## Requirements

- Python 3.10+

## Installation

```bash
pip install kachi
```

## Usage

```python
from kachi import unsafe_link

result = unsafe_link("https://nam01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexample.com")
print(result)  # https://example.com
```

### Bundled Rules

| Rule             | Service                    |
| ---------------- | -------------------------- |
| `azure_email`    | Azure Email Safe Links     |
| `barracuda`      | Barracuda Link Protect     |
| `esvalabs`       | EsvaLabs URL Sandbox       |
| `fireeye`        | FireEye URL Defense        |
| `o365_safelinks` | Microsoft 365 Safe Links   |
| `proofpoint_v1`  | Proofpoint URL Defense v1  |
| `proofpoint_v2`  | Proofpoint URL Defense v2  |
| `ses_awstrack`   | AWS SES Click Tracking     |
| `sophos`         | Sophos Email Protection    |
| `trendmicro`     | Trend Micro Email Security |
| `urldefense_v3`  | Proofpoint URL Defense v3  |
| `whatsapp`       | WhatsApp Link Redirect     |

## Rule Schema

Each rule is a YAML file with the following structure:

```yaml
name: example_rule
filter:
  hostname: example.com # exact match, or /regex/
  path: /redirect # optional, exact match or /regex/
pre_extract: # optional, transforms applied to URL before extraction
  - html_unescape
  - url_decode
extract:
  from: query_param # query_param, path_regex, or url_regex
  keys: [url, u] # for query_param: parameter names to try in order
  pattern: "/L0/(http[^/?#]+)" # for path_regex/url_regex: regex with capture group
  select: first # for query_param: first (default) or last
post_extract: # optional, transforms applied to extracted value
  - url_decode
```

### Filter

- `hostname` (required): string or list of strings. Exact match or `/regex/`.
- `path` (optional): string or list of strings. Exact match or `/regex/`.

### Extract Sources

| Source        | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `query_param` | Extract from URL query parameters. Requires `keys`.                    |
| `path_regex`  | Match regex against URL path. Requires `pattern` with a capture group. |
| `url_regex`   | Match regex against full URL. Requires `pattern` with a capture group. |

### Transforms

| Name                   | Description                                                      |
| ---------------------- | ---------------------------------------------------------------- |
| `html_unescape`        | Decode HTML entities (`&amp;` -> `&`)                            |
| `url_decode`           | Percent-decode (`%2F` -> `/`)                                    |
| `base64_decode`        | Base64 decode                                                    |
| `prepend`              | Prepend a string (requires a value, e.g. `{prepend: "http://"}`) |
| `proofpoint_v2_decode` | Decode Proofpoint v2 URL encoding                                |
iflow-mcp_lgesuellip-website-firecrawl-service 0.1.0
This tool leverages Firecrawl to generate concise summaries of web pages directly from their URLs. Firecrawl processes the content of the provided website, extracting key insights and metadata to deliver a brief, focused summary.
Requires Python: >=3.11

# website_firecrawl_service - MCP Server

🔍 Internet research just got smarter! Built an MCP server that turns any website into structured, relevant content based on your queries!

Using @Firecrawl's powerful features (mapping, selection, scraping), combined with GPT-4o for smart URL filtering, it's like having an AI research assistant that knows exactly what you're looking for! Works seamlessly with Claude, or any MCP-compatible client!

![Agentic Web Scraping Architecture](web_firecrawl_service_v0.1.0.png)

*An agentic web scraping system powered by Firecrawl: Map → Select → Scrape → Extract*

---

## Features

- **Efficient Web Crawling**: Crawls websites using the Firecrawl API with customizable link limits and intelligent URL selection
- **Intelligent URL Selection**: Uses GPT-4 to select the most relevant URLs based on user queries
- **Smart Content Processing**: Extracts and cleans HTML content, providing readable text output

## Setup

1. Create a `.env` file with the following required environment variables:
   ```
   FIRECRAWL_API_KEY=your_firecrawl_api_key
   OPENAI_API_KEY=your_openai_api_key
   ```

## Usage

The server exposes a single tool:

### website_firecrawl

**Description**: Crawls a website and returns relevant content based on a query.

**Parameters**:
- `query` (string): The search query to filter relevant content
- `base_url` (string): The target website URL to crawl
- `max_links` (integer, optional): Maximum number of links to process (default: 100)

## Technical Details

- Built using the MCP (Model Control Protocol) server framework
- Implements retry logic with exponential backoff for API calls
- Integrates with LangSmith for tracing and monitoring
- Implements singleton patterns for API clients to manage resources efficiently
- Uses Pydantic for robust data validation and serialization:
  - `WebsiteCrawlArgs`: Validates input parameters for the crawling service
  - `CrawlerModel`: Handles URL selection and justification
  - `Page`: Structures metadata and content from crawled pages
- Structured OpenAI Integration:
  - Uses OpenAI's beta chat completions with parsing
  - Automatically validates and converts JSON responses to Pydantic models
  - Ensures type safety and data validation for AI-generated content
- Jinja2 Template System:
  - Modular prompt management using template inheritance
  - Dynamic prompt generation based on user queries and context
  - Separate system and user prompt templates for clear separation of concerns
  - Easy maintenance and updates of prompt structures
kr-data-portal-client 0.1.9
High-quality Python client for KR Public Data Portal
Requires Python: >=3.10

# kr-data-portal-client

Production-ready, async-first Python client for the KR Public Data Portal (공공데이터포털).

## Features

- **Async First**: Built on `httpx` for high-performance asynchronous operations.
- **Spec-Driven**: Generated from YAML specifications to ensure accuracy.
- **Robust Models**: Uses Pydantic for strict response validation and easy data access.
- **Rate Limiting**: Built-in async rate limiter to comply with portal usage policies.
- **Google-Style Docstrings**: Full IDE support with detailed parameter descriptions and data update policies.

## Installation

```bash
pip install kr-data-portal-client
```

> [!IMPORTANT]
> **Recommended Version: 0.1.8+**  
> Previous versions (0.1.7 and below) are considered deprecated (yanked) due to critical API encoding and consistency issues. Version 0.1.8 introduces a custom URL construction logic to properly handle Service Key encoding requirements of the KR Public Data Portal.

## Quick Start

```python
import asyncio
from kr_data_portal.financial_services import FinancialClient
from kr_data_portal.models.financial_services import StockPriceInfoItem

async def main():
    service_key = "YOUR_SERVICE_KEY"
    
    async with FinancialClient(service_key=service_key) as client:
        # Fetch stock price info
        response = await client.getStockPriceInfo(itmsNm="삼성전자")
        
        # Access validated items
        items = response.items(StockPriceInfoItem)
        for item in items:
            print(f"{item.itmsNm}: {item.clpr} KRW")

if __name__ == "__main__":
    asyncio.run(main())
```

## Development

### Project Structure

- `src/kr_data_portal/`: Core package.
- `specs/`: API specification files (YAML).
- `scripts/`: Code generation scripts.
- `tests/`: Unit tests.

### Code Generation

To regenerate the client from specifications:

```bash
python scripts/generate_client.py
```

### Running Tests

```bash
uv run pytest
```

## Contributing

Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests. We use [Conventional Commits](https://www.conventionalcommits.org/) for automated release management.

## License

MIT
conduit-py 0.0.2
Background jobs and APIs for Python. Like Modal, but self-hostable.
Requires Python: >=3.12

# Conduit Package

Core SDK/runtime package for workers, tasks, APIs, and queue processing.

## Package Validation

From the workspace root:

```bash
./scripts/verify-conduit-package.sh
```

This runs the conduit package test suite with branch coverage and enforces the current minimum coverage gate.
agentop 0.2.2
A terminal UI tool for monitoring local AI coding agents (Claude Code, etc.)
Requires Python: >=3.9
Keywords: ai, monitoring, tui, claude, agent

# Agentop

A terminal UI tool for monitoring local AI coding agents — like `nvtop`/`htop`, but for Claude/Codex.

## Features

- Real-time process monitoring (CPU, memory, uptime)
- Claude Code usage + cost from local stats
- Quota panels (beta) for Codex + Antigravity
- Lightweight Textual TUI

## Supported Agents

| Agent | Process Monitor | Usage Stats | Quota | Status |
|-------|----------------|-------------|-------|--------|
| **Claude Code** | ✅ | ✅ | ✅ | Stable |
| **Antigravity** | ⏳ | ⏳ | ✅ | Beta |
| **OpenAI Codex** | ✅ | ✅ | ✅ | Beta |
| **OpenCode** | ✅ | ✅ | ⏳ | Beta |

## Supported Platforms (has been tested)

- macOS
- Linux

## Installation (macOS / Linux)

### PyPI
```bash
pip install agentop
```

### From source
```bash
pip install git+https://github.com/dadwadw233/agentop.git
```

## Quick Start

```bash
# TUI
agentop

# Or
python3 -m agentop
```

Detailed stats:
```bash
python3 show_stats.py
```

## Data Sources

- Claude stats: JSONL logs under `~/.config/claude/projects/` or `~/.claude/projects/`
  (override with `CLAUDE_CONFIG_DIR`, supports comma-separated paths)
- Codex token usage: local session logs under `~/.codex/sessions/`
- Codex quota: `/usage` API via Codex auth (`~/.codex/auth.json`)
- Antigravity quota: Google Cloud Code API via Antigravity auth (local state db)
- OpenCode stats: `~/.local/share/opencode/storage/` (message + session directories)

## Changelog

### 0.2.0 (2026-01-25)

**OpenCode Features:**
- Fixed time filtering bug - now shows all historical data (not just today)
- Added time range support (Today/Week/Month/All) for all views
- Implemented lazy loading - only computes aggregates needed for current view
- Added index cache for faster incremental parsing
- Performance optimizations for large datasets

**TUI Improvements:**
- Redesigned overview dashboard with structured layout (Process Status, Session Stats, Token Usage)
- Added progress bars for visual token usage comparison
- Implemented pagination for handling large datasets
- Dynamic page sizing based on available screen height
- Enhanced table formatting with better alignment and smart truncation
- Color gradients for usage intensity (cyan/magenta/blue)
- Visual status indicators (🟢/⚪) with colored borders
- Improved hint text with time range display and update timestamps
- Consistent styling across all sub-views (Sessions, Projects, Models, Agents, Timeline)

## Roadmap

- More agents (TBD)
- Config file (YAML)
- History + export (CSV/JSON)
- UI polish

## Known Limitations

- Claude stats can lag behind real time
- Codex local token stats depend on availability of `token_count` events in session logs
- Antigravity quota depends on account access
- Antigravity refresh requires `ANTIGRAVITY_OAUTH_CLIENT_SECRET` or a fresh login
- Proxy users: if you see “unknown scheme for proxy URL”, set `AGENTOP_DISABLE_PROXY=1` or install `httpx[socks]`

## License

MIT (see `LICENSE`)