semvec/pypi-packages huggingface dataset:
fabric-monitor 0.1.0
A Dashboard Monitoring Tool for Multiple Python Applications
License: MIT
Requires Python: >=3.9
Keywords: monitoring, dashboard, fastapi, flask, api, metrics

# Fabric Monitor

<p align="center">
  <strong>🔍 Lightweight Python Backend Service Monitoring Framework</strong>
</p>

<p align="center">
  <a href="#features">Features</a> •
  <a href="#installation">Installation</a> •
  <a href="#quick-start">Quick Start</a> •
  <a href="#documentation">Documentation</a> •
  <a href="#contributing">Contributing</a>
</p>

---

## Features

- 🚀 **Zero-Intrusion Integration** - Integrates via middleware with minimal impact on existing code
- 📊 **Real-time Monitoring** - Real-time collection of request data, response times, error rates, and more
- 📝 **Auto Documentation** - Automatically extracts API documentation from code
- 🎨 **Visual Dashboard** - Modern monitoring dashboard built with Vue3
- 🔌 **Extensible Architecture** - Plugin-based design supporting FastAPI, Flask, and more frameworks
- 💾 **Multiple Storage Backends** - Supports memory, SQLite(in dev), Redis(in dev), and other storage options

## Installation

```bash
# Using uv
uv pip install fabric-monitor

# Using pip
pip install fabric-monitor

# Install with FastAPI support
uv pip install "fabric-monitor[fastapi]"

# Install with Flask support
uv pip install "fabric-monitor[flask]"

# Install all optional dependencies
uv pip install "fabric-monitor[all]"
```

## Quick Start

### FastAPI

```python
from fastapi import FastAPI
from fabric import Fabric, FabricConfig

app = FastAPI()

# Initialize Fabric
fabric = Fabric(FabricConfig(app_name="My API"))
fabric.setup(app)

@app.get("/users")
async def get_users():
    return [{"id": 1, "name": "Alice"}]

# Visit http://localhost:8000/fabric to view the monitoring dashboard
```

## Configuration Options

```python
from fabric import FabricConfig

config = FabricConfig(
    app_name="My API",           # Application name
    prefix="/fabric",            # Dashboard route prefix
    enabled=True,                # Enable monitoring
    storage_type="memory",       # Storage type: memory | sqlite | redis
    max_requests=10000,          # Maximum request records
    retention_hours=24,          # Data retention time
    sample_rate=1.0,             # Sampling rate (0.0-1.0)
    exclude_paths=["/health"],   # Excluded paths
    enable_auth=False,           # Enable authentication
    auth_token=None,             # Authentication token
)
```

## Documentation

For detailed documentation, see [Development Documentation](docs/DEVELOPMENT.md)

## Supported Frameworks

| Framework | Status |
|-----------|--------|
| FastAPI | ✅ Supported |
| Flask | ✅ Supported |
| Django | 📋 Planned |

## Supported Storage

| Storage | Status |
|-----------|--------|
| Memory | ✅ Supported |
| SQLite | 🚧 In Development |
| Redis | 🚧 In Development |
| MySQL | 📋 Planned |

## License

MIT License
evesky-docapi 1.0.0
DocAPI SDK - PDF/Image/Excel 변환 API
License: MIT
Requires Python: >=3.8
Keywords: pdf, image, excel, api, sdk, converter

# DocAPI Python SDK

PDF, Image, Excel 변환 API

## 설치

```bash
pip install docapi
```

## 사용법

```python
from docapi import DocAPI

api = DocAPI("your_api_key")  # 또는 DOCAPI_KEY 환경변수

# PDF 병합
api.merge(["a.pdf", "b.pdf"]).save("merged.pdf")

# PDF 압축
api.compress("large.pdf").save("small.pdf")

# PDF → Word
api.to_word("doc.pdf").save("doc.docx")

# HTML → PDF
api.html_to_pdf("<h1>Hello</h1>").save("hello.pdf")

# URL → PDF
api.url_to_pdf("https://example.com").save("page.pdf")

# 이미지 → PDF
api.images_to_pdf(["1.jpg", "2.png"]).save("images.pdf")

# OCR
result = api.ocr("scan.pdf")
print(result.text)
```

## API 목록

### PDF
| 메서드 | 설명 |
|--------|------|
| `merge(files)` | PDF 병합 |
| `split(file, pages)` | PDF 분할 |
| `compress(file, level)` | PDF 압축 |
| `rotate(file, angle)` | PDF 회전 |
| `protect(file, password)` | 암호 설정 |
| `unlock(file, password)` | 암호 해제 |
| `watermark(file, text)` | 워터마크 |
| `to_word(file)` | PDF → Word |
| `to_excel(file)` | PDF → Excel |
| `to_images(file)` | PDF → 이미지 |
| `extract_text(file)` | 텍스트 추출 |
| `ocr(file, lang)` | OCR |

### 생성
| 메서드 | 설명 |
|--------|------|
| `html_to_pdf(html)` | HTML → PDF |
| `url_to_pdf(url)` | URL → PDF |
| `md_to_pdf(md)` | Markdown → PDF |
| `text_to_pdf(text)` | 텍스트 → PDF |

### 이미지
| 메서드 | 설명 |
|--------|------|
| `images_to_pdf(files)` | 이미지 → PDF |
| `compress_image(file)` | 이미지 압축 |
| `resize_image(file)` | 리사이즈 |
| `convert_image(file, fmt)` | 포맷 변환 |
| `ocr_image(file)` | 이미지 OCR |

### Excel/Word
| 메서드 | 설명 |
|--------|------|
| `excel_to_csv(file)` | Excel → CSV |
| `excel_to_json(file)` | Excel → JSON |
| `excel_to_pdf(file)` | Excel → PDF |
| `word_to_pdf(file)` | Word → PDF |

## 에러 처리

```python
from docapi import DocAPI, DocAPIError

try:
    api = DocAPI("key")
    api.compress("file.pdf").save("out.pdf")
except DocAPIError as e:
    print(f"에러: {e}")
```

## 컨텍스트 매니저

```python
with DocAPI("key") as api:
    api.merge(["a.pdf", "b.pdf"]).save("out.pdf")
```

## API 키 발급

[https://pdf.evesky.net](https://pdf.evesky.net)

## 라이선스

MIT
playgodot 0.5.1
External automation and testing framework for Godot Engine games
License: MIT
Requires Python: >=3.9
Keywords: automation, game-testing, godot, playwright, testing

# PlayGodot Python Client

Python client library for PlayGodot - external automation and testing framework for Godot Engine games.

## Installation

```bash
pip install playgodot
```

For screenshot comparison support:

```bash
pip install playgodot[image]
```

## Quick Start

```python
import asyncio
from playgodot import Godot

async def test_game():
    async with Godot.launch("path/to/project") as game:
        # Wait for game to be ready
        await game.wait_for_node("/root/Main")

        # Interact with the game
        await game.click("/root/Main/UI/StartButton")
        await game.wait_for_signal("game_started")

        # Take a screenshot
        await game.screenshot("game_started.png")

asyncio.run(test_game())
```

## Documentation

See the [main README](../README.md) for full documentation.

## Development

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
mypy playgodot

# Linting
ruff check playgodot
```