semvec/pypi-packages huggingface dataset:
shrinky 0.0.9
Shrinks images in the way I want
License: MIT
Requires Python: <4.0,>=3.12

# shrinky

[![PyPI](https://img.shields.io/pypi/v/shrinky.svg)](https://pypi.org/project/shrinky/)

Shrinks images in the way I want

## Installation

Install this library using `pip`:

    python -m pip install shrinky

## Usage

It's a CLI program, run `shrinky [OPTIONS] FILENAME`

    Options:
    -o, --output FILE
    -t, --output-type TEXT  New file type (eg jpg, png etc.)
    -g, --geometry TEXT     Resize to a maximum geometry, 1x1, 1x, x1 etc.
    -q, --quality INTEGER   If JPEG, set quality
    -f, --force             Overwrite destination
    --delete-source         Delete the source file once done
    -d, --debug             Enable debug logging
    --help                  Show this message and exit

For example, if you want to turn `example.png` to a JPEG file at quality 45, shrunk within an 800x800 bounding box, you can run:

`shrinky -t jpg -q 45 -g 800x00 example.png`

You'll end up with `example.jpg`.

## Development

To contribute to this library, first checkout the code. Then create a new virtual environment:

    cd shrinky
    uv run shrinky etc etc
noodler-sdk 0.1.0
Python library for the Noodler API
License: MIT
Requires Python: >=3.10
Keywords: noodler, observability, openai, opentelemetry, tracing

# Noodler Python SDK

## Example

```python
from noodler import setup, instrument_openai
from openai import OpenAI

# Configure OpenTelemetry tracing
setup(
    base_url="http://localhost:8000",
    api_key="noodler-api-key",
)

# Create and instrument OpenAI client
client = OpenAI()
wrapped_client = instrument_openai(client)

# Use the instrumented client - all API calls will be automatically traced
# Non-streaming
response = wrapped_client.chat.completions.create(
    model="gpt-4.1",
    messages=[
        {"role": "user", "content": "hi there!"}
    ],
)

# Streaming (also supported)
stream = wrapped_client.chat.completions.create(
    model="gpt-4.1",
    messages=[
        {"role": "user", "content": "hi there!"}
    ],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content, end="")
```

## Features

- ✅ Automatic tracing of `chat.completions.create()` calls
- ✅ Support for both streaming and non-streaming responses
- ✅ Full OpenTelemetry GenAI semantic convention compliance
- ✅ Token usage tracking
- ✅ Error tracking and span status reporting

## Limitations

Currently, only the `chat.completions.create()` endpoint is instrumented. Other OpenAI endpoints (embeddings, audio, fine-tuning, etc.) are not automatically traced. Calls to these endpoints will work normally but will not generate traces.