semvec/pypi-packages huggingface dataset:
pokit-stack 0.0.0a4
Lightweight ASGI framework for building JSON APIs.
Requires Python: <4.0,>=3.12

# Pokit Stack

Stack is an experimental ASGI Python framework for building JSON APIs. It is in early development and is not suitable
for production use. Any APIs exposed by this framework are subject to change without notice.

## Installation

```bash
pip install pokit-stack
```

## Example Program

`example.py`

```python
import json

from pokit.stack import Stack
from pokit.stack.types import HTTPMethod, RequestContext


async def home(request: RequestContext) -> str:
    assert request.method == HTTPMethod.GET

    out = f"Hello World! You are on path: {request.path}, using the method: {request.method}"

    out += "\n\n==== Query Params ====\n\n"
    out += json.dumps(request.query, indent=4)

    out += "\n\n==== Request Headers ====\n\n"
    out += json.dumps(request.headers, indent=4)

    return out


app = Stack(handler=home)
```

```bash
uvicorn example:app
```
pywarera 0.2.0
WarEra browser game API wrapper
Requires Python: >=3.10

**This package is EXPERIMENTAL, NOT stable and  NOT intended for use in anything other than your own private projects.**

**pywarera** is a simple Python wrapper for the WarEra API. 
It provides high-level classes for working with game models and a low-level `wareraapi` module for making raw API requests.

API documentation is available at https://api2.warera.io/docs/.

License: GNU General Public License v3.0

## Features
- high-level classes to work with API models
- ability to manually send API requests
- caching (x2 - x5 less requests!)
- batching
- delays

## Supported models
- 🟢 the wrapper can reliably reproduce this model from the get request
- 🟡 the wrapper can reproduce most properties, but reliability has not been tested
- 🔴 the wrapper is not yet able to work with this model, so you will have to process the response from the API yourself


- 🟡company
- 🟡country
- 🔴event
- 🟡government
- 🟡region
- 🔴battle
- 🔴round
- 🔴battleRanking
- 🔴itemTrading
- 🔴tradingOrder
- 🔴workOffer
- 🔴ranking
- 🔴search
- 🔴gameConfig
- 🟡user
- 🔴article
- 🟡mu
- 🔴transaction
- 🔴upgrade


## How to install
Requires Python 3.10+
```bash 
pip install pywarera
```

## Examples
```python
import pywarera

pywarera.update_api_token("<YOUR_API_TOKEN>")

# Returns country id
country_id = pywarera.get_country_id_by_name("Ukraine")
print(country_id)

# I want to know if Ukraine has a president
government = pywarera.get_government(country_id)

is_there_a_president = government.has_president()

if is_there_a_president:
    president_id = government.president
    print(president_id)

# Let's check the wealth of a random citizen
import random

romania_citizens = pywarera.get_country_citizens_by_name("Romania")
random_citizen = random.choice(romania_citizens)
print(random_citizen.wealth)
```

## Example of a manual API request
```python
from pywarera import wareraapi

wareraapi.update_api_token("<YOUR_API_TOKEN>")

# Regular request, will be cached
user_response = wareraapi.user_get_user_lite(user_id="123456").execute()

# Batched request, will be cached
from pywarera.wareraapi import BatchSession

with BatchSession() as batch:
    batch.add(wareraapi.user_get_user_lite(user_id="123456"))
    batch.add(wareraapi.user_get_user_lite(user_id="7891011"))

print(batch.responses)
```
abhanti 1.0.0
Universal AI Client - Works out of the box with FREE endpoint
Requires Python: >=3.8
Keywords: ai llm openai free universal-client

# 🚀 Abhanti - Universal AI Client

**Works out of the box with FREE endpoint!**
```python
from abhanti import ai

# Works immediately - no setup needed!
response = ai("What is Python?")
print(response)
```

## ✨ Features

- ✅ **Zero config** - works instantly
- ✅ **FREE by default** - uses llm7.io
- ✅ **Universal** - supports ollama.com, OpenAI, etc.
- ✅ **Smart API keys** - prompts when needed
- ✅ **Model discovery** - fetch available models
- ✅ **LangChain compatible**

## 📦 Installation
```bash
pip install abhanti
```

## 🚀 Quick Start

### Zero Config (FREE)
```python
from abhanti import ai

print(ai("What is 2+2?"))
print(ai("Explain AI"))
```

### Ollama.com (with API key)
```python
from abhanti import AIClient

# Get API key from: https://ollama.com/account
client = AIClient(
    url="https://ollama.com/v1",
    api_key="your-ollama-key"
)

# Get available models
models = client.get_available_models()
print([m['name'] for m in models])

# Use specific model
client.model = "gpt-oss:120b"
response = client.ask("Hello!")
```

### Environment Variables
```bash
export ABHANTI_URL="https://ollama.com/v1"
export ABHANTI_API_KEY="your-key"
export ABHANTI_MODEL="gpt-oss:120b"
```

## 🔥 Supported Providers

- **llm7.io** (FREE, default)
- **ollama.com** (requires API key)
- **OpenAI** (requires API key)
- **Groq** (requires API key)
- **Anthropic** (requires API key)

## 📖 Examples

See `examples/` folder for more examples.

## 📄 License

MIT License
ouch 0.0.28
Odd Utility Collection Hub
Requires Python: >=3.6
Keywords: utilities, functional

<p align="center"> <img src="https://raw.githubusercontent.com/thyeem/ouch/main/ouch.png" height="250"/></p>

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

# ouch

_Odd Utiltiy Collection Hub_.

[`ouch`](https://github.com/thyeem/ouch) is a collection of utilities that are based on and aligned with [`foc`](https://github.com/thyeem/foc).

```bash
$ pip install -U ouch
```

```python
from ouch import *

# soft flatten
>>> flatten([1, [2, 3, (4, 5)]])
[1, 2, 3, (4, 5)]
# hard flatten
>>> [1, [(2,), [[{3}, (x for x in range(3))]]]] | flat | collect
[1, 2, 3, 0, 1, 2]

# 'shell' command
>>> shell(f"du -hs ouch/__init__.py 2>/dev/null") | fst | ob(_.split)()
['40K', 'ouch/__init__.py']

# 'ls' command
>>> ls(".", r=True, grep="^(ouch).*py$")
['ouch/__init__.py']

# poor man's dot-accessible dict, 'dmap' and pretty-printer 'pp'
>>> d = dmap(name="yunchan lim", age=19)
>>> d.cliburn.semifinal.concerto = "Mozart Piano Concerto No.22, K.482"
>>> d.cliburn.semifinal.recital = "Liszt 12 Transcendental Etudes"
>>> d.cliburn.final = "Rachmaninov Piano Concerto No.3, Op.30"
>>> d | pp
  cliburn |     final | Rachmaninov Piano Concerto No.3, Op.30
            semifinal | concerto | Mozart Piano Concerto No.22, K.482
                         recital | Liszt 12 Transcendental Etudes
     name | yunchan lim

# poor man's 'tabulate'
>>> data = [['Name', 'Age'], ['Sofia', 9], ['Maria', 7]]
>>> print(tabulate(data, style='grid'))    # style={'org', 'markdown', ...}
+-------+-----+
| Name  | Age |
+=======+=====+
| Sofia | 9   |
+-------+-----+
| Maria | 7   |
+-------+-----+

# poor man's progress bar, 'tracker'
>>> for batch in tracker(dataloader, "training"):  # single progress bar
...     model(batch)

>>> for i in tracker(range(10), "outer"):  # nested progress bars
...     ...             
...     for j in tracker(range(20), "inner"):
...         ...              

>>> g = (x for x in range(100))
>>> for item in tracker(g, "task", total=100):  # generator with known length
...     process(item)


# and see more poor man's things in 'ouch'
```