Skip to main content

Ask Donna to do things for you, instead of worrying about pesky syntactical mumbo-jumbo. NOT intended for production purposes.

Project description

Suits ⚖️

Your intelligent Python assistant that operates directly on your code objects, powered by Google's Gemini AI.

Why Suits?

Ever wished you could just tell your code what you want it to do? That's exactly what Suits offers. Unlike traditional chatbots or AI assistants that just provide suggestions, Suits works directly with your Python objects in real-time.

What Makes Suits Different?

  • Direct Object Manipulation: Operates on your actual data structures, not just text
  • Real-time Integration: Results can be immediately used in your code
  • Natural Language Interface: No need to remember complex APIs or methods
  • Intelligent Understanding: Grasps context and intent from your instructions

Perfect For:

  • Data scientists cleaning messy datasets
  • Developers prototyping ideas quickly
  • Anyone who wants to experiment with data transformations
  • Quick proof-of-concepts before writing formal code

Real-World Examples

Data Cleaning & Analysis

# Messy data with inconsistent formats
data = [
    {"date": "2023-01-01", "temp": "25C"},
    {"date": "Jan 2, 2023", "temp": "77F"},
    {"date": "03/01/2023", "temp": "298K"}
]

donna = Donna(data)
donna.briefing(api_key="your-api-key")

# One line to standardize everything
clean_data = donna.i_need_you_to("standardize all dates to ISO format and temperatures to Celsius")
# Result: [
#   {"date": "2023-01-01", "temp": 25.0},
#   {"date": "2023-01-02", "temp": 25.0},
#   {"date": "2023-01-03", "temp": 25.0}
# ]

Pattern Recognition

# Sequence with non-obvious pattern
numbers = [102, 105, 110, 115, 122, 131, 142]

donna = Donna(numbers)
donna.briefing(api_key="your-api-key")

# Understanding and extending patterns
next_values = donna.i_need_you_to("find the pattern and predict the next 3 values")
# Result: [155, 170, 187]

System Analysis with Reasoning

system_data = {
    'server_status': 'running',
    'cpu_usage': 95,
    'memory': '2%',
    'disk_space': '90%',
    'response_time': '3000ms'
}

donna = Donna(system_data)
donna.briefing(api_key="your-api-key")

analysis = donna.i_need_you_to("analyze system health", reasoning=True)
# Result:
# <thinking>
# Examining key metrics:
# 1. CPU usage is extremely high at 95%
# 2. Disk space is concerning at 90%
# 3. Memory usage is surprisingly low at 2%
# This pattern suggests...
# </thinking>
# <output>
# Critical issues detected: High CPU usage (95%) and high disk space usage (90%)
# </output>

Installation

pip install suits

Features

Basic Usage

Ask Donna to perform any task on your data in plain English:

data = [1, "2", None, "4", 5.0]
donna = Donna(data)
donna.briefing(api_key="your-api-key")

# Clean and standardize data
result = donna.i_need_you_to("clean this list and make all elements integers")

Structured Output

Need results in a specific format? Define a schema class and Donna will deliver:

class AnalysisSchema:
    summary: str
    count: int
    
result = donna.i_need_you_to("analyze this data", output_config=AnalysisSchema)
# Returns: {"summary": "...", "count": 42}

Reasoning Mode

Want to see Donna's thought process? Enable reasoning mode:

result = donna.i_need_you_to("solve this complex problem", reasoning=True)
# Returns:
# <thinking>First, let's examine the structure...</thinking>
# <output>Final solution here</output>
# <reflection>Actually, we should consider...</reflection>

Temperature Control

Control the creativity vs precision of responses:

# More precise responses
donna.briefing(api_key="key", temperature=0.1)

# More creative responses
donna.briefing(api_key="key", temperature=0.8)

Notes

  • output_config and reasoning modes cannot be used together
  • Default temperature is 0.2 for optimal balance
  • Requires a Google API key with Gemini access

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

suits-0.0.2.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

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

suits-0.0.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file suits-0.0.2.tar.gz.

File metadata

  • Download URL: suits-0.0.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.6

File hashes

Hashes for suits-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b8ee8423b59dec4c53dd0d6dc4bf3acfd173c05f185accde82113462b985bab7
MD5 d4648bd244edfa385cabbffa2d97b651
BLAKE2b-256 8473441f47059966e9d1e3b73baad1dc94f60226cdf81b5804e2a55f64b75150

See more details on using hashes here.

File details

Details for the file suits-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: suits-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.6

File hashes

Hashes for suits-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 46029733ca68b1d6d82f3640e1bc2e02f8281e2194ce22716fcc7602743151da
MD5 ca5740def67865e440529f4703e525bc
BLAKE2b-256 b324c4dd52282dbb03588a3f5de065d483bee0d5147d1c7179dc8a0425e814b0

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