semvec/pypi-packages huggingface dataset:
zappybee 0.1.0
ZappyBee Python SDK - Observability for AI agents
License: MIT
Requires Python: >=3.9

# zappybee

ZappyBee observability SDK for AI agents (Python). Track traces, steps, token usage, and costs.

## Install

```bash
pip install zappybee
```

## Quick Start

```python
import os
from zappybee import ZappyBee

ZappyBee.init(
    api_key=os.getenv("ZAPPYBEE_API_KEY", "tc_live_..."),
    # Optional. Defaults to http://localhost:3001
    base_url=os.getenv("ZAPPYBEE_BASE_URL"),
)
```

## Manual Tracing

```python
from zappybee import ZappyBee

trace = await ZappyBee.start_trace(
    "my-agent",
    user_id="user-123",
    session_id="session-abc",
    input={"prompt": "Hello"},
)

step = await trace.start_step(
    "LLM Call",
    "llm_call",
    model="gpt-4o",
    input={"messages": [{"role": "user", "content": "Hello!"}]},
)

# ... your LLM call here ...

await step.end(
    status="success",
    model="gpt-4o",
    output={"role": "assistant", "content": "Hello!"},
    prompt_tokens=10,
    completion_tokens=20,
)

await trace.end(status="success")
```

## Auto-Instrumentation (OpenAI / Anthropic)

```python
from zappybee import ZappyBee

client = ZappyBee.wrap(openai_client)      # wraps chat.completions.create()
client = ZappyBee.wrap(anthropic_client)   # wraps messages.create()
```

The wrapper supports both non-stream and stream calls (when the client exposes an async iterator).

## Backwards Compatibility

If you previously used `tokencat`, it is still available:

```python
from tokencat import TokenCat

TokenCat.init(api_key="tc_live_...")
```

## License

MIT
sqlite-opus 0.2.1
A Flask-based web dashboard for SQLite database query and management
License: MIT
Requires Python: >=3.10
Keywords: flask, sqlite3, database, dashboard, query, web-interface

# SQLite Opus

A Flask-based web dashboard for SQLite database query and management.

## Installation

```bash
pip install sqlite-opus
```

Or install from source:

```bash
git clone https://github.com/hungle00/sqlite-opus.git
cd sqlite-opus
pip install -e .
```

## Quick Start

SQLite Opus can be used as a library, similar to Flask-MonitoringDashboard:

```python
from flask import Flask
import sqlite_opus as dashboard

app = Flask(__name__)

# Bind the dashboard to your Flask app
dashboard.bind(app)

# The dashboard will be available at http://localhost:5000/sqlite-opus
app.run()
```

## Screenshots

![SQLite Opus Dashboard](screenshots/sqlite-opus.png)

*Dashboard: tables list, table schema viewer, and SQL query editor with results.*

## Configuration

You can customize the dashboard configuration:

```python
import sqlite_opus as dashboard

# Option 1: Configure before binding
dashboard.config.url_prefix = "my-dashboard"
dashboard.config.max_query_results = 500
dashboard.bind(app)

# Option 2: Configure during binding
dashboard.bind(
    app,
    url_prefix="my-dashboard",
    max_query_results=500,
    enable_cors=True
)
```

### Configuration Options

- `url_prefix`: URL prefix for dashboard routes (default: `"sqlite-opus"`)
- `max_query_results`: Maximum number of query results to return (default: `1000`)
- `query_results_per_page`: Rows per page for paginated SELECT results (default: `50`)
- `enable_cors`: Enable CORS support (default: `True`)

## Features

- **Web-based SQLite Query Interface**: Execute SQL queries through a web dashboard
- **Database Connection Management**: Connect to and disconnect from SQLite databases
- **Table Schema Viewer**: View table structures and schemas
- **Query Results Display**: View query results in a formatted table with **pagination** (powered by the [paginate](https://pypi.org/project/paginate/) library)

## Development

### Setup Development Environment

```bash
# Create virtual environment
python3.10 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode with dev dependencies
pip install -e ".[dev]"
```

## Requirements

- Python >= 3.10
- Flask >= 2.3.0
- Flask-CORS >= 4.0.0 (optional, for CORS support)

## License

MIT License

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.
pipen-poplog 1.1.5
Populate logs from jobs to running log of the pipeline
License: MIT
Requires Python: <4.0,>=3.9

# pipen-poplog

Populate logs from jobs to running log of the pipeline for [pipen][1].

## Installation

```bash
pip install -U pipen-poplog
```

## Enabling/Disabling the plugin

The plugin is registered via entrypoints. It's by default enabled. To disable it:
`plugins=[..., "no:poplog"]`, or uninstall this plugin.

## Usage

```python
from pipen import Proc, Pipen


class Poplog(Proc):
    input = "var:var"
    input_data = [0, 1, 2]
    script = """
        echo -n "[PIPEN-POPLOG][INFO] Log message "
        sleep 1  # Simulate message not read in time
        echo "by {{in.var}} 1"
        sleep 1
        echo "[PIPEN-POPLOG][ERROR] Log message by {{in.var}} 2"
        sleep 1
        echo "[PIPEN-POPLOG][INFO] Log message by {{in.var}} 3"
    """


if __name__ == "__main__":
    Pipen().run()
```

```
01-12 11:23:52 I core    ╭═══════════════ PoplogDefault ═════════════════╮
01-12 11:23:52 I core    ║ A default poplog proc                         ║
01-12 11:23:52 I core    ╰═══════════════════════════════════════════════╯
01-12 11:23:52 I core    PoplogDefault: Workdir: '.pipen/Pipeline/PoplogDefault'
01-12 11:23:52 I core    PoplogDefault: <<< [START]
01-12 11:23:52 I core    PoplogDefault: >>> [END]
01-12 11:23:56 I poplog  PoplogDefault: [0/2] Log message by 0 1
01-12 11:23:59 E poplog  PoplogDefault: [0/2] Log message by 0 2
01-12 11:24:02 I poplog  PoplogDefault: [0/2] Log message by 0 3
```

## Configuration

- `plugin_opts.poplog_loglevel`: The log level for poplog. Default: `info`.
- `plugin_opts.poplog_pattern`: The pattern to match the log message. Default: `r'\[PIPEN-POPLOG\]\[(?P<level>\w+)\] (?P<message>.*)'`.
- `plugin_opts.poplog_jobs`: The job indices to be populated. Default: `[0]` (the first job).
- `plugin_opts.poplog_max`: The total max number of the log message to be poplutated. Default: `99`.
- `plugin_opts.poplog_source`: The source of the log message. Default: `stdout`.


[1]: https://github.com/pwwang/pipen