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.11.tar.gz (4.6 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.11-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: promptfold-1.0.11.tar.gz
  • Upload date:
  • Size: 4.6 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.11.tar.gz
Algorithm Hash digest
SHA256 325ee79ff33da4d895fdacb575d29746d71f67dbbda6063b41584ec03683f465
MD5 d3a0957de720871df520b062f5152820
BLAKE2b-256 c5734f72bb35c527bdbf7437171e99f1fe6a5541507487f40d8eb99ef2b766f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: promptfold-1.0.11-py3-none-any.whl
  • Upload date:
  • Size: 4.7 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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 fa35614791f296dd78571021456463731a882b2b194f78ee0d5d936f94b29b40
MD5 10a4c2fc6a908eb56bf53e9bc4af01e3
BLAKE2b-256 8eb690efaa54c210d919496198f0b3e57caa50467658a9761b7d10feadb7521f

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