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_configandreasoningmodes cannot be used together- Default temperature is 0.2 for optimal balance
- Requires a Google API key with Gemini access
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8ee8423b59dec4c53dd0d6dc4bf3acfd173c05f185accde82113462b985bab7
|
|
| MD5 |
d4648bd244edfa385cabbffa2d97b651
|
|
| BLAKE2b-256 |
8473441f47059966e9d1e3b73baad1dc94f60226cdf81b5804e2a55f64b75150
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46029733ca68b1d6d82f3640e1bc2e02f8281e2194ce22716fcc7602743151da
|
|
| MD5 |
ca5740def67865e440529f4703e525bc
|
|
| BLAKE2b-256 |
b324c4dd52282dbb03588a3f5de065d483bee0d5147d1c7179dc8a0425e814b0
|