semvec/pypi-packages huggingface dataset:
poemar 0.0.5
library for writing poems
License: MIT

# poemarpy

## Description

A project by Aarón Montoya-Moraga.

## Installation

```bash
pip install poemar
```

## Use

Import Python module

```Python
import poemar
```

Functions

```Python
poemar.aleatoreizarMayusculas(texto)
```

## License

MIT
auth-agent-mcp 1.0.0
OAuth 2.1 middleware for MCP servers using Auth-Agent
License: MIT
Requires Python: >=3.8
Keywords: oauth, mcp, authorization, fastapi, middleware

# Auth-Agent MCP - Python SDK

OAuth 2.1 authentication middleware for MCP servers using FastAPI.

## Installation

```bash
pip install auth-agent-mcp
```

## Quick Start

```python
from fastapi import FastAPI, Request
from auth_agent_mcp import AuthAgentMiddleware
import os

app = FastAPI()

# Add Auth-Agent authentication
app.add_middleware(
    AuthAgentMiddleware,
    auth_server=os.getenv("AUTH_SERVER", "https://mcp.auth-agent.com"),
    server_id=os.getenv("SERVER_ID"),
    api_key=os.getenv("API_KEY"),
    required_scopes=["files:read"],
)

@app.get("/files")
async def list_files(request: Request):
    # User context injected by middleware
    user_email = request.state.user_email
    scopes = request.state.scopes

    return {
        "user": user_email,
        "files": ["document.txt", "image.png"]
    }
```

## Configuration

### Environment Variables

```bash
AUTH_SERVER=https://mcp.auth-agent.com
SERVER_ID=srv_abc123
API_KEY=sk_xyz789
```

### Middleware Parameters

- `auth_server` (str): Auth-Agent server URL (default: https://mcp.auth-agent.com)
- `server_id` (str): Your MCP server ID from registration
- `api_key` (str): API key for token validation
- `required_scopes` (List[str]): Scopes required for all endpoints
- `public_paths` (List[str]): Paths that don't require authentication

## Manual Token Validation

```python
from auth_agent_mcp import AuthAgentClient

client = AuthAgentClient(
    auth_server="https://mcp.auth-agent.com",
    api_key="sk_xyz789"
)

# Introspect token
result = await client.introspect_token("eyJhbG...")
if result["active"]:
    print(f"Valid token for user: {result['sub']}")
    print(f"Scopes: {result['scope']}")
    print(f"Audience: {result['aud']}")

# Revoke token
await client.revoke_token("eyJhbG...")
```

## License

MIT
zincdl 0.1.0
CLI and python interface for ZINC tranche code generation and batch download
License: MIT
Requires Python: >=3.9
Keywords: ZINC, cheminformatics, chemical database, compound, tranche, download

# zinc-downloader

[![PyPI](https://img.shields.io/pypi/v/zincdl.svg)](https://pypi.org/project/zincdl/)
![Python Versions](https://img.shields.io/pypi/pyversions/zincdl)
![License](https://img.shields.io/github/license/seungchan-an/zinc-downloader)

Reproducible and scriptable downloader for **ZINC tranches**. 
`zincdl` allows reconstruction of ZINC tranche codes from property subsets, retrieval of corresponding download URLs, and batch file download from the public ZINC repository.

**Relevant links**  
- [ZINC tranche browser (ZINC20)](https://zinc.docking.org/tranches) – where tranches are browsable
- [ZINC static files](https://files.docking.org/) – source of downloadable tranche data  
- [ZINC Wiki](https://wiki.docking.org/index.php/Tranche_Browser) – background on tranche organization

> ⚠️ **Note**
> `zincdl` is an independent open-source utility for ZINC data access, and **not affiliated with** or **maintained by** the Irwin Lab @ UCSF.
> This tool only automates access to publicly available ZINC files and does not redistribute any data. Please **avoid excessive parallel downloads**.

---

## 🔧 Installation

```bash
$ pip install zincdl
```

## Usage
You can generate tranche codes and corresponding URLs for arbitrary property selections, and optionally download them.
Note: using predefined subsets (via `subset` in generate_urls or `--subset` in CLI) yields the highest chance of successful downloads.

#### Python API
```python
from zincdl import generate_urls
from zincdl.download import download_tranches

# Generate tranche URLs from an MW × logP region
urls = generate_urls(
    mw=[300, 325],
    logp=[2, 3],
    fmt="mol2",
)

print(urls)
# [
#   'https://files2.docking.org/3D/CD/EBRN/CDEBRN.xaa.mol2.gz',
#   'https://files2.docking.org/3D/CF/EBRN/CFEBRN.xaa.mol2.gz',
#   ...
# ]

# Download into a local directory
download_tranches(urls, out_dir="my_zinc")
```

#### CLI
```bash
# Show help
zincdl --help

# Preview tranche URLs (no download)
zincdl --mw 300,325 --logp 2,3 --fmt smi

# Download predefined subsets
zincdl --subset fragments --fmt mol2 --download --out-dir downloads/fragments
zincdl --subset leadlike --fmt smi --download --out-dir downloads/leadlike

# Include charge, pH, and reactivity filters
zincdl --subset druglike --charge 1 --fmt sdf --download --out-dir downloads/druglike_cationic
```

## Citation
Please cite ZINC20 when using downloaded data:

> Irwin, J. J.; Tang, K. G.; Young, J.; Dandarchuluun, C.; Wong, B. R.; Khurelbaatar, M.; Moroz, Y. S.; Mayfield, J.; Sayle, R. A. **ZINC20 — A Free Ultralarge-Scale Chemical Database for Ligand Discovery.** *J. Chem. Inf. Model.* **2020**, 60, 6065–6073. https://doi.org/10.1021/acs.jcim.0c00675