semvec/pypi-packages huggingface dataset:
yetter 0.0.4
Yetter Python Client
Requires Python: >=3.8

## Yetter Python Client

A lightweight async Python client for the Yetter image generation API. It supports simple one-shot runs, subscription-style polling, and server-sent events (SSE) streaming.

### Installation

```bash
pip install yetter
```

If the package is not yet published to PyPI, install from the repository:

```bash
pip install "yetter @ git+https://github.com/SqueezeBits/yetter-client"
```

### Authentication & Configuration

Provide your API key in one of the following ways:

- Environment variable (preferred):

```bash
export YTR_API_KEY="YOUR_API_KEY"
```

- Programmatically via `configure`:

```python
import asyncio
import yetter

async def main():
    yetter.configure(api_key="YOUR_API_KEY")
    # Optionally override endpoint:
    # yetter.configure(api_key="YOUR_API_KEY", api_endpoint="https://api.yetter.ai")

asyncio.run(main())
```


### Quick start: one-shot run

Use `yetter.run()` for a convenient "submit + wait for completion" flow powered by streaming under the hood.

```python
import asyncio
import yetter

async def main():
    yetter.configure(api_key="YOUR_API_KEY")
    result = await yetter.run(
        "ytr-ai/qwen/image/t2i",
        args={"prompt": "A beautiful landscape with a river and mountains"},
    )
    # result is dict('images':..., 'prompt':...)
    print(result)

asyncio.run(main())
```

### Subscribe: polling with optional queue updates

`yetter.subscribe()` submits a request and polls status until completion. You can pass a callback to receive queue/status updates.

```python
import asyncio
import yetter
from yetter.types import GetStatusResponse

async def on_update(status: GetStatusResponse):
    print("status:", status.status)

async def main():
    yetter.configure(api_key="YOUR_API_KEY")
    result = await yetter.subscribe(
        "ytr-ai/qwen/image/t2i",
        args={
            "prompt": "A beautiful landscape with a river and mountains",
            "num_images": 2,
        },
        on_queue_update=on_update,
    )
    print("final images:", result.images)

asyncio.run(main())
```

### File Upload

Upload files to Yetter using presigned URLs. Supports both single-part upload for small files and automatic multipart upload for large files.

```python
import asyncio
import yetter

async def main():
    yetter.configure(api_key="YOUR_API_KEY")

    # Simple upload
    result = await yetter.upload_file("./my_image.jpg")
    print(f"Uploaded: {result.url}")

    # Upload with progress tracking
    def on_progress(percent: int):
        print(f"Upload progress: {percent}%")

    result = await yetter.upload_file(
        "./large_file.png",
        on_progress=on_progress,
    )
    print(f"Uploaded: {result.url}")

asyncio.run(main())
```

The `upload_file` function returns an `UploadCompleteResponse` containing:
- `url`: Public URL to access the uploaded file
- `key`: S3 object key for reference
- `metadata`: Optional metadata (size, content_type, uploaded_at)

### Examples

See the `examples/` directory:
- `examples/run.py`: minimal one-shot run
- `examples/subscribe.py`: subscription with updates
tldc 0.9.8
too lazy; didn't code
Requires Python: >=3.10

tl;dc
================

## about

This is a work in progress and it'll likely stay that way for a while. It's just another agentic AI CLI tool, with a focus on xAI's response API. Support for stateless APIs is also possible, as evidenced by Ollama support - that one is borked for now though, see below.

## status / roadmap

* xAI/Grok works fine.
* Ollama does not work fine, tool calling is borked, so it's useless for now.
* For now, only 3 tools are available to the AI: listing files, reading a file, writing a file. AI **cannot** leave current directory and **cannot** execute shell commands. This is by design.

## manual

* xAI configuration:
```bash
tldc models add grok-code-fast-1 xai '{"api_key": "<API_KEY>"}'
tldc models set grok-code-fast-1
```
* For the list of available commands, just run `tldc` without parameters.
* Active model is a global setting.
* Context refers to the current working directory. It stores things like message history, last response ID, as well as synchronization status and checksums for all the files.
* _All the files_ above means all the files listed as available to the AI. Some things are excluded, see `constants.py`.

## too lazy; didn't code
_aka what's with the name_

The best way to code is as follows:
* plan what needs to be done
* tell someone else to do it
* grab a coffee
* code review
* profit

You may think that _someone else_ is a bottleneck.
You may think _I'll better do it myself_.
But when it comes to AI, even if it's not as good as you, it **is** faster.

**Orders of magnitude faster**.

So even if you have to repeat those steps several times to get the end result you're after, you're still saving a lot of ~~time~~ money.

And everyone likes money.
yaqd-newport 2025.12.0
yaq daemons for Newport hardware
Requires Python: >=3.7

# yaqd-newport

[![PyPI version](https://badge.fury.io/py/yaqd-newport.svg)](https://badge.fury.io/py/yaqd-newport)
[![Conda](https://img.shields.io/conda/vn/conda-forge/yaqd-newport)](https://anaconda.org/conda-forge/yaqd-newport)
[![yaq](https://img.shields.io/badge/framework-yaq-orange)](https://yaq.fyi/)
[![black](https://img.shields.io/badge/code--style-black-black)](https://black.readthedocs.io/)
[![ver](https://img.shields.io/badge/calver-YYYY.M.MICRO-blue)](https://calver.org/)
[![log](https://img.shields.io/badge/change-log-informational)](https://github.com/yaq-project/yaqd-newport/blob/main/CHANGELOG.md)

yaq daemons for Newport Corporation hardware.

This package contains two daemons:
- [newport-conex-agp](https://yaq.fyi/daemons/newport-conex-agp/)
- [newport-smc100](https://yaq.fyi/daemons/newport-smc100/)
scikit-pns 2.0.0a0
Principal nested spheres (PNS) analysis
Requires Python: >=3.10

# scikit-pns

[![Supported Python Versions](https://img.shields.io/pypi/pyversions/scikit-pns.svg)](https://pypi.python.org/pypi/scikit-pns/)
[![PyPI Version](https://img.shields.io/pypi/v/scikit-pns.svg)](https://pypi.python.org/pypi/scikit-pns/)
[![License](https://img.shields.io/github/license/JSS95/scikit-pns)](https://github.com/JSS95/scikit-pns/blob/master/LICENSE)
[![CI](https://github.com/JSS95/scikit-pns/actions/workflows/ci.yml/badge.svg)](https://github.com/JSS95/scikit-pns/actions/workflows/ci.yml)
[![CD](https://github.com/JSS95/scikit-pns/actions/workflows/cd.yml/badge.svg)](https://github.com/JSS95/scikit-pns/actions/workflows/cd.yml)
[![Docs](https://readthedocs.org/projects/scikit-pns/badge/?version=latest)](https://scikit-pns.readthedocs.io/en/latest/?badge=latest)

![title](https://scikit-pns.readthedocs.io/en/latest/_images/plot-header.png)

Principal nested spheres analysis for scikit-learn.

## Usage

```python
>>> from skpns import IntrinsicPNS
>>> from skpns.util import circular_data
>>> X = circular_data()
>>> X_new = IntrinsicPNS().fit_transform(X)
```

## Installation

```
$ pip install scikit-pns
```

## Documentation

The manual can be found online:

> https://scikit-pns.readthedocs.io

If you want to build the documentation yourself, get the source code and install with `[doc]` dependency.
Then, go to the `doc` directory and build the documentation:

```
$ pip install .[doc]
$ cd doc
$ make html
```

The documentation will be generated in the `build/html` directory. Open `index.html` to see the main page.

## Developing

### Installation

For development features, you must install the package by `pip install -e .[dev]`.