Socket
Book a DemoInstallSign in
Socket

chat-object

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chat-object

A simple library for creating and manipulating chat and message objects for LLM applications

pipPyPI
Version
2.0.2
Maintainers
1

chat-object

doctest coverage license python version PyPI Downloads

A simple library for creating and managing chat objects and messages for LLM applications.

Installation

From PyPI:

pip install chat-object

From GitHub:

pip install git+https://github.com/fresh-milkshake/chat-object.git

Or from source:

git clone https://github.com/fresh-milkshake/chat-object.git
cd chat-object
pip install -e .

Quick Start

Basic Chat Usage

Create a chat object and add messages to it:

import openai
from chat_object import Chat, Message, Role

client = openai.OpenAI()

chat = Chat(
    Message(Role.System, "You are a helpful assistant"),
    Message(Role.User, "Hello!")
)

response = client.chat.completions.create(
    model="gpt-5-nano",
    messages=chat.as_dict()
)

print(response.choices[0].message.content)

Using the Prompt Class

The Prompt class automatically handles indentation and formatting:

from chat_object import Prompt

# Clean indentation automatically
prompt = Prompt("""
    You are a helpful assistant.
    Please help me with the following task:
    
    def example_function():
        return "hello world"
    
    Explain what this function does.
""")

# Multiple arguments are joined with newlines
prompt = Prompt(
    "You are a helpful assistant.",
    "Please be concise in your responses.",
    "Focus on practical solutions."
)

# String operations work naturally
prompt += "\n\nAdditional context here"

QOL Features for Quick Development

Use convenience functions for faster development:

from chat_object import chat, msg_user, msg_system, msg_assistant, prmt

# Quick chat creation
chat_obj = chat(
    msg_system("You are a helpful assistant."),
    msg_user("Hello!"),
    msg_assistant("Hi there! How can I help you today?")
)

# Quick prompt creation
prompt = prmt("You are a helpful assistant.")

# Convert to dict for API calls
messages = chat_obj.as_dict()

[!TIP] See examples folder for more comprehensive examples.

Features

  • Well-tested code: Comprehensive test coverage with doctests throughout the codebase (90% coverage)
  • Type safety: Full type hints and enum-based roles
  • Backward compatibility: seamless integration with existing APIs like OpenAI, Anthropic, Together, Ollama, etc.
  • QOL features: Quick and easy message creation with msg_user, msg_assistant, msg_system, prmt, msgs, chat (Recommended, but not required). Pretty rich example usage of qol features is in examples/openai_use_case.py.

License

This project is licensed under the MIT License. See the LICENSE file for details.

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts