Skip to main content

Prompts Aligned to Guidelines and Normalization System for OpenAI, Anthropic, xAI, and Google models

Project description

PAGANS - Prompt Optimization Framework

PAGANS Logo

PyPI version Python 3.12+ License: MIT Build Test Lint

PAGANS (Prompts Aligned to Guidelines and Normalization System) is a prompt optimization framework for LLM applications. It adapts prompts to the target model family automatically so the same prompt can perform better across OpenAI, Anthropic, Google, and xAI model series.

Features

  • Fast prompt optimization for production workflows
  • Family-aware optimization for OpenAI, Anthropic, Google, and xAI models
  • Automatic model-family detection from short and provider-prefixed names
  • Async-first API for single, compare, and batch operations
  • Built-in caching to reduce repeated optimization cost
  • CLI support for optimize, compare, and batch workflows
  • Optimizer provider support for OpenRouter, OpenAI, Google AI Studio, Anthropic, and Z.ai

Installation

pip install pagans

Quick Start

import asyncio

from pagans import PAGANSOptimizer, Provider


async def main() -> None:
    async with PAGANSOptimizer(provider=Provider.OPENROUTER) as optimizer:
        result = await optimizer.optimize(
            prompt="Write a robust retry policy for external API calls.",
            target_model="openai/gpt-4o",
        )
        print(result.optimized)


asyncio.run(main())

Provider Configuration

Set one provider key (or pass api_key and base_url explicitly).

# OpenRouter
export OPENROUTER_API_KEY="your-openrouter-api-key"
export OPENROUTER_BASE_URL="https://openrouter.ai/api/v1"

# OpenAI
export OPENAI_API_KEY="your-openai-api-key"
export OPENAI_BASE_URL="https://api.openai.com/v1"

# Google AI Studio (Gemini OpenAI-compatible endpoint)
export GOOGLE_API_KEY="your-gemini-api-key"
export GOOGLE_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai"

# Anthropic
export ANTHROPIC_API_KEY="your-anthropic-api-key"
export ANTHROPIC_BASE_URL="https://api.anthropic.com/v1"

# Z.ai
export ZAI_API_KEY="your-zai-api-key"
export ZAI_BASE_URL="https://api.z.ai/api/paas/v4"

# Optional global override for optimizer model
export PAGANS_OPTIMIZER_MODEL="openai/gpt-4o-mini"

Python Provider Examples

from pagans import PAGANSOptimizer, Provider

# OpenAI as optimizer provider
optimizer = PAGANSOptimizer(provider=Provider.OPENAI)

# Google AI Studio as optimizer provider
optimizer = PAGANSOptimizer(provider=Provider.GOOGLE)

# Anthropic as optimizer provider
optimizer = PAGANSOptimizer(provider=Provider.ANTHROPIC)

# Z.ai as optimizer provider
optimizer = PAGANSOptimizer(provider=Provider.ZAI)

CLI

PAGANS installs a CLI as pagans.

pagans --provider openrouter optimize \
  --prompt "Explain quantum computing for beginners" \
  --target-model gpt-4o
pagans --provider openai compare \
  --prompt "Design an event-driven order system" \
  --models "gpt-4o,claude-sonnet-4,gemini-2.5-pro"
pagans --provider anthropic batch \
  --prompts-file ./prompts.txt \
  --target-model gemini-2.5-pro

Model Family Series

PAGANS optimizes prompts for these model families and series:

  • OpenAI GPT series
  • Anthropic Claude series
  • Google Gemini series
  • xAI Grok series

PAGANS detects the target model family and applies the matching optimization strategy automatically.

Notebooks

Provider notebook examples are available in notebooks/:

  • pagans_quickstart.ipynb
  • pagans_openrouter_optimizer.ipynb
  • pagans_openai_optimizer.ipynb
  • pagans_google_optimizer.ipynb
  • pagans_anthropic_optimizer.ipynb
  • pagans_zai_optimizer.ipynb

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pagans-0.1.4.tar.gz (339.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pagans-0.1.4-py3-none-any.whl (47.6 kB view details)

Uploaded Python 3

File details

Details for the file pagans-0.1.4.tar.gz.

File metadata

  • Download URL: pagans-0.1.4.tar.gz
  • Upload date:
  • Size: 339.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pagans-0.1.4.tar.gz
Algorithm Hash digest
SHA256 025deeeadb8b9f1d17eb96a0c60be00763cd63bbef5e3e709ca438367176ece9
MD5 31a66b3abde85839069157cbb9b680b2
BLAKE2b-256 27df8a7916268fd4dbfc51f2086782d5308a95f179daa96a2d4b6f3e1c6e875e

See more details on using hashes here.

File details

Details for the file pagans-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: pagans-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 47.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pagans-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8472726345b811769ae06bf770f2e9636e2ca1117cbdfc41e8a5ac3fa4979b36
MD5 aadbf44763830a7978ae4b4a320723eb
BLAKE2b-256 0370a44eadd3789624fa4b289ea5960ac5c220c6d4f474a09c5f2caf38379458

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page