Skip to main content

Python client for PromptFold API - optimize prompts with PromptFold

Project description

PromptFold Client Library

This package provides a simple Python client for the PromptFold API available on PyPI.

Installation

pip install promptfold

Usage

import openai
from promptfold_client import PromptFold

# Initialize PromptFold client, compress your system prompt
pf_client = PromptFold(api_key="YOUR_PROMPTFOLD_API_KEY", system_prompt="Your system prompt.")

# Compress the original user prompt and system prompt
compressed = pf_client.compress_prompt(user_prompt="Input user prompt")

# Call OpenAI's GPT-4 with the compressed prompt
openai.api_key = "YOUR_OPENAI_API_KEY"
response = openai.ChatCompletion.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": compressed.compressed_system_prompt},
        {"role": "user", "content": compressed.compressed_user_prompt}
    ]
)

# Print the response from GPT-4
print(response["choices"][0]["message"]["content"])

Publishing a New Version (for Maintainers)

Publishing the client is handled by a script that automates the entire process.

Prerequisites:

  1. PyPI Account: You need an account on PyPI and an API token.
  2. Twine Configuration: Your local machine must be configured to authenticate with PyPI. You can do this by setting the TWINE_USERNAME and TWINE_PASSWORD environment variables.

To publish a new version:

  1. Navigate to the client directory: cd promptfold_client
  2. Run the publishing script. You have two options:
    • To automatically bump the patch version (e.g., 1.0.1 -> 1.0.2), run the script without arguments:
      ./publish_pypi.sh
      
    • To specify an exact version (e.g., for a major release like 2.0.0), provide it as an argument:
      ./publish_pypi.sh 2.0.0
      
  3. The script will handle everything else automatically.

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

promptfold-1.0.15.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

promptfold-1.0.15-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file promptfold-1.0.15.tar.gz.

File metadata

  • Download URL: promptfold-1.0.15.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for promptfold-1.0.15.tar.gz
Algorithm Hash digest
SHA256 b7c7c9b536a3e99619bdff9edf83410fbdbfa35c548eda924f5728f875e4f91d
MD5 d8be89445fb6bdae039fd513e38bb188
BLAKE2b-256 cd3c24ecc4de65d8678633130bfba5f6ebe572a7c5fc15948f218873fbfdb2ff

See more details on using hashes here.

File details

Details for the file promptfold-1.0.15-py3-none-any.whl.

File metadata

  • Download URL: promptfold-1.0.15-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for promptfold-1.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 23203ced19c2fa362643207cfb181e7e5dd24e3c70309b3514ce93c7ad7f7520
MD5 798f86169650f76da37b0d04a2dc31f8
BLAKE2b-256 aa4f5f0da6d4d086df90c5fa41e5a387f9ab4eb9e4abcaea02210c3298187567

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