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.13.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.13-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: promptfold-1.0.13.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.13.tar.gz
Algorithm Hash digest
SHA256 508533500259ab860bc0e324bc771a4016ef721fd4aac6d4595c253d0f432220
MD5 d0030bb033e3874dde02672100810d96
BLAKE2b-256 c0b5c78d05360740ba064521d244b720b15cf879b16997d1bb0603de4bfae6ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: promptfold-1.0.13-py3-none-any.whl
  • Upload date:
  • Size: 4.9 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.13-py3-none-any.whl
Algorithm Hash digest
SHA256 9bfa2dd255ec239f8b77112675e28b035a81aebd60e24764fb430beee2e304cb
MD5 59941265f836dd5cbc52e60e34a874b1
BLAKE2b-256 156bfedf6039f4e65394f5f497f3db4319778325adab164770a90f2ebe2bd16a

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