superu 2025.11.7.1__py3-none-any.whl → 2026.2.5.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- superu/core.py +1074 -209
- superu/example.py +111 -657
- superu-2026.2.5.1.dist-info/METADATA +522 -0
- superu-2026.2.5.1.dist-info/RECORD +7 -0
- {superu-2025.11.7.1.dist-info → superu-2026.2.5.1.dist-info}/WHEEL +1 -1
- superu-2025.11.7.1.dist-info/METADATA +0 -303
- superu-2025.11.7.1.dist-info/RECORD +0 -7
- {superu-2025.11.7.1.dist-info → superu-2026.2.5.1.dist-info}/top_level.txt +0 -0
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: superu
|
|
3
|
-
Version: 2025.11.7.1
|
|
4
|
-
Summary: SuperU SDK to make AI calls - Create intelligent voice assistants for automated phone calls
|
|
5
|
-
Author-email: Paras Chhugani <paras@superu.ai>
|
|
6
|
-
Maintainer-email: Paras Chhugani <peoband@gmail.com>
|
|
7
|
-
License: MIT
|
|
8
|
-
Project-URL: Homepage, https://dev.superu.ai
|
|
9
|
-
Project-URL: Documentation, https://dev.superu.ai
|
|
10
|
-
Project-URL: Repository, https://github.com/superu/superu-python
|
|
11
|
-
Project-URL: Issues, https://github.com/superu/superu-python/issues
|
|
12
|
-
Project-URL: Changelog, https://github.com/superu/superu-python/releases
|
|
13
|
-
Keywords: ai,voice,assistant,phone,calls,automation,superu,sdk
|
|
14
|
-
Classifier: Development Status :: 4 - Beta
|
|
15
|
-
Classifier: Intended Audience :: Developers
|
|
16
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
-
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
-
Classifier: Topic :: Communications :: Telephony
|
|
25
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
26
|
-
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
|
27
|
-
Classifier: Operating System :: OS Independent
|
|
28
|
-
Requires-Python: >=3.7
|
|
29
|
-
Description-Content-Type: text/markdown
|
|
30
|
-
Requires-Dist: plivo
|
|
31
|
-
Requires-Dist: requests
|
|
32
|
-
|
|
33
|
-
# SuperU - AI Voice Assistant Platform
|
|
34
|
-
|
|
35
|
-
[](https://pypi.org/project/superu/)
|
|
36
|
-
[](https://www.python.org/downloads/)
|
|
37
|
-
[](LICENSE)
|
|
38
|
-
|
|
39
|
-
SuperU is a powerful Python SDK for creating AI-powered voice assistants that can make automated phone calls, handle customer interactions, and integrate with your existing APIs and tools.
|
|
40
|
-
|
|
41
|
-
## 🚀 Features
|
|
42
|
-
|
|
43
|
-
- **AI Voice Assistants**: Create intelligent voice agents with custom personalities
|
|
44
|
-
- **Automated Phone Calls**: Make outbound calls with AI assistants
|
|
45
|
-
- **Multi-language Support**: Hindi, English (Indian, American, British accents), and more
|
|
46
|
-
- **Tool Integration**: Connect your APIs for dynamic data retrieval during calls
|
|
47
|
-
- **Call Analytics**: Comprehensive analysis and transcription of all interactions
|
|
48
|
-
- **Flexible Configuration**: Support for multiple AI models, transcribers, and voice providers
|
|
49
|
-
|
|
50
|
-
## 📦 Installation
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
pip install superu
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## 🔑 Getting Started
|
|
57
|
-
|
|
58
|
-
### 1. Get Your API Key
|
|
59
|
-
|
|
60
|
-
1. Visit [dev.superu.ai](https://dev.superu.ai/) and sign up
|
|
61
|
-
2. Go to your dashboard
|
|
62
|
-
3. Copy your API key
|
|
63
|
-
|
|
64
|
-
### 2. Basic Usage
|
|
65
|
-
|
|
66
|
-
```python
|
|
67
|
-
import superu
|
|
68
|
-
|
|
69
|
-
# Initialize the client
|
|
70
|
-
client = superu.SuperU('your_api_key_here')
|
|
71
|
-
|
|
72
|
-
# Create a basic assistant
|
|
73
|
-
assistant = client.assistants.create_basic(
|
|
74
|
-
name="Customer Service Assistant",
|
|
75
|
-
voice_id="90ipbRoKi4CpHXvKVtl0", # Anika - Indian English
|
|
76
|
-
first_message="Hello! How can I help you today?",
|
|
77
|
-
system_prompt="You are a helpful customer service representative."
|
|
78
|
-
)
|
|
79
|
-
|
|
80
|
-
# Make a phone call
|
|
81
|
-
call = client.calls.create(
|
|
82
|
-
from_='918035737904', # Your SuperU number
|
|
83
|
-
to_='+919876543210', # Customer's number
|
|
84
|
-
assistant_id=assistant['id'],
|
|
85
|
-
max_duration_seconds=300
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
print(f"Call initiated: {call['call_uuid']}")
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## 🎯 Advanced Usage
|
|
92
|
-
|
|
93
|
-
### Creating an Advanced Assistant
|
|
94
|
-
|
|
95
|
-
```python
|
|
96
|
-
# Advanced assistant with custom configuration
|
|
97
|
-
advanced_config = {
|
|
98
|
-
"name": "Sales Assistant",
|
|
99
|
-
"voice": {
|
|
100
|
-
"model": "eleven_flash_v2_5",
|
|
101
|
-
"voiceId": "xnx6sPTtvU635ocDt2j7", # Chinmay - Indian English Male
|
|
102
|
-
"provider": "11labs",
|
|
103
|
-
"stability": 0.9,
|
|
104
|
-
"similarityBoost": 0.9,
|
|
105
|
-
"useSpeakerBoost": True
|
|
106
|
-
},
|
|
107
|
-
"model": {
|
|
108
|
-
"model": "gpt-4o-mini",
|
|
109
|
-
"provider": "openai",
|
|
110
|
-
"temperature": 0.7,
|
|
111
|
-
"messages": [
|
|
112
|
-
{
|
|
113
|
-
"role": "system",
|
|
114
|
-
"content": "You are a professional sales representative..."
|
|
115
|
-
}
|
|
116
|
-
]
|
|
117
|
-
},
|
|
118
|
-
"transcriber": {
|
|
119
|
-
"model": "nova-2",
|
|
120
|
-
"language": "en",
|
|
121
|
-
"provider": "deepgram",
|
|
122
|
-
"endpointing": 300
|
|
123
|
-
},
|
|
124
|
-
"firstMessage": "Hi! I'm calling to discuss our latest offers.",
|
|
125
|
-
"endCallMessage": "Thank you for your time. Have a great day!"
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
assistant = client.assistants.create(**advanced_config)
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### Available Voices
|
|
132
|
-
|
|
133
|
-
| Voice ID | Language | Gender | Accent | Name |
|
|
134
|
-
|----------|----------|---------|---------|------|
|
|
135
|
-
| `gHu9GtaHOXcSqFTK06ux` | Hindi | Female | Standard | Anjali - Soothing Hindi Voice |
|
|
136
|
-
| `m5qndnI7u4OAdXhH0Mr5` | Hindi | Male | Standard | Krishna - Energetic Hindi Voice |
|
|
137
|
-
| `90ipbRoKi4CpHXvKVtl0` | English | Female | Indian | Anika - Customer Care Agent |
|
|
138
|
-
| `xnx6sPTtvU635ocDt2j7` | English | Male | Indian | Chinmay - Calm & Energetic |
|
|
139
|
-
| `kdmDKE6EkgrWrrykO9Qt` | English | Female | American | Alexandra |
|
|
140
|
-
| `XA2bIQ92TabjGbpO2xRr` | English | Male | American | Jerry |
|
|
141
|
-
| `MzqUf1HbJ8UmQ0wUsx2p` | English | Female | British | Katie X |
|
|
142
|
-
| `qxjGnozOAtD4eqNuXms4` | English | Male | British | John Shaw - Customer Care |
|
|
143
|
-
|
|
144
|
-
### Creating Custom Tools
|
|
145
|
-
|
|
146
|
-
Enable your assistant to call your APIs during conversations:
|
|
147
|
-
|
|
148
|
-
```python
|
|
149
|
-
# Create a tool for checking user information
|
|
150
|
-
tool = client.tools.create(
|
|
151
|
-
name="check-user-status",
|
|
152
|
-
description="Check if a user exists in our database",
|
|
153
|
-
parameters={
|
|
154
|
-
"type": "object",
|
|
155
|
-
"properties": {
|
|
156
|
-
"email": {
|
|
157
|
-
"type": "string",
|
|
158
|
-
"description": "User's email address"
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
"required": ["email"]
|
|
162
|
-
},
|
|
163
|
-
tool_url="/api/check-user",
|
|
164
|
-
tool_url_domain="https://your-api.com",
|
|
165
|
-
async_=False
|
|
166
|
-
)
|
|
167
|
-
|
|
168
|
-
# Use the tool in your assistant
|
|
169
|
-
assistant_config["model"]["toolIds"] = [tool['id']]
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Call Analysis
|
|
173
|
-
|
|
174
|
-
```python
|
|
175
|
-
# Get call analysis
|
|
176
|
-
call_uuid = call['call_uuid']
|
|
177
|
-
analysis = client.calls.analysis(call_uuid)
|
|
178
|
-
|
|
179
|
-
print(f"Call duration: {analysis['duration']}")
|
|
180
|
-
print(f"Transcript: {analysis['transcript']}")
|
|
181
|
-
print(f"Sentiment: {analysis['sentiment']}")
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### Twilio Integration
|
|
185
|
-
|
|
186
|
-
```python
|
|
187
|
-
# Use your own Twilio number
|
|
188
|
-
call = client.calls.create_twilio_call(
|
|
189
|
-
phoneNumberId="your_twilio_number_id",
|
|
190
|
-
to_="+919876543210",
|
|
191
|
-
assistant_id=assistant['id']
|
|
192
|
-
)
|
|
193
|
-
|
|
194
|
-
# Analyze Twilio calls
|
|
195
|
-
analysis = client.calls.analysis_twilio_call(call['call_uuid'])
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
## 🛠️ Configuration Options
|
|
199
|
-
|
|
200
|
-
### Transcriber Options
|
|
201
|
-
|
|
202
|
-
- **Deepgram**: High-quality, fast transcription with multilingual support
|
|
203
|
-
- **AssemblyAI**: Advanced transcription with sentiment analysis
|
|
204
|
-
- **Azure**: Microsoft's speech-to-text service
|
|
205
|
-
- **11Labs**: ElevenLabs transcription service
|
|
206
|
-
|
|
207
|
-
### AI Models
|
|
208
|
-
|
|
209
|
-
- **OpenAI**: GPT-4o, GPT-4, GPT-3.5-turbo with customizable temperature and tools
|
|
210
|
-
- Support for custom knowledge bases and function calling
|
|
211
|
-
|
|
212
|
-
### Voice Providers
|
|
213
|
-
|
|
214
|
-
- **ElevenLabs**: Premium voice synthesis with multiple models and languages
|
|
215
|
-
- Customizable stability, similarity boost, and speaker enhancement
|
|
216
|
-
|
|
217
|
-
## 📊 Use Cases
|
|
218
|
-
|
|
219
|
-
- **Customer Service**: Automated support calls with intelligent responses
|
|
220
|
-
- **Sales Outreach**: Personalized sales calls with lead qualification
|
|
221
|
-
- **Appointment Booking**: Automated scheduling and reminders
|
|
222
|
-
- **Survey Collection**: Interactive voice surveys with data collection
|
|
223
|
-
- **Lead Qualification**: Intelligent lead scoring and follow-up
|
|
224
|
-
- **Order Status**: Automated order updates and delivery notifications
|
|
225
|
-
|
|
226
|
-
## 🔧 API Reference
|
|
227
|
-
|
|
228
|
-
### Core Methods
|
|
229
|
-
|
|
230
|
-
```python
|
|
231
|
-
# Client initialization
|
|
232
|
-
client = superu.SuperU(api_key)
|
|
233
|
-
|
|
234
|
-
# Assistants
|
|
235
|
-
client.assistants.create_basic(**params)
|
|
236
|
-
client.assistants.create(**params)
|
|
237
|
-
|
|
238
|
-
# Calls
|
|
239
|
-
client.calls.create(**params)
|
|
240
|
-
client.calls.create_twilio_call(**params)
|
|
241
|
-
client.calls.analysis(call_uuid)
|
|
242
|
-
client.calls.analysis_twilio_call(call_uuid)
|
|
243
|
-
|
|
244
|
-
# Tools
|
|
245
|
-
client.tools.create(**params)
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
### Call Parameters
|
|
249
|
-
|
|
250
|
-
| Parameter | Type | Required | Description |
|
|
251
|
-
|-----------|------|----------|-------------|
|
|
252
|
-
| `from_` | str | Yes | Caller ID (international format) |
|
|
253
|
-
| `to_` | str | Yes | Recipient number (international format) |
|
|
254
|
-
| `assistant_id` | str | Yes | Assistant ID to handle the call |
|
|
255
|
-
| `max_duration_seconds` | int | No | Maximum call duration (default: 180) |
|
|
256
|
-
| `first_message_url` | str | No | URL to initial audio message |
|
|
257
|
-
|
|
258
|
-
## 🤝 Support
|
|
259
|
-
|
|
260
|
-
- **Documentation**: [dev.superu.ai](https://dev.superu.ai/)
|
|
261
|
-
- **Issues**: Report bugs and feature requests on GitHub
|
|
262
|
-
- **Email**: Contact support for enterprise solutions
|
|
263
|
-
|
|
264
|
-
## 📄 License
|
|
265
|
-
|
|
266
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
267
|
-
|
|
268
|
-
## 🚀 Getting Help
|
|
269
|
-
|
|
270
|
-
```python
|
|
271
|
-
# Example: Complete workflow
|
|
272
|
-
import superu
|
|
273
|
-
import time
|
|
274
|
-
|
|
275
|
-
# Initialize
|
|
276
|
-
client = superu.SuperU('your_api_key')
|
|
277
|
-
|
|
278
|
-
# Create assistant
|
|
279
|
-
assistant = client.assistants.create_basic(
|
|
280
|
-
name="Demo Assistant",
|
|
281
|
-
voice_id="90ipbRoKi4CpHXvKVtl0",
|
|
282
|
-
first_message="Hello! This is a demo call.",
|
|
283
|
-
system_prompt="You are a friendly demo assistant."
|
|
284
|
-
)
|
|
285
|
-
|
|
286
|
-
# Make call
|
|
287
|
-
call = client.calls.create(
|
|
288
|
-
from_='your_superu_number',
|
|
289
|
-
to_='+919876543210',
|
|
290
|
-
assistant_id=assistant['id']
|
|
291
|
-
)
|
|
292
|
-
|
|
293
|
-
# Wait for call completion
|
|
294
|
-
time.sleep(30)
|
|
295
|
-
|
|
296
|
-
# Get analysis
|
|
297
|
-
analysis = client.calls.analysis(call['call_uuid'])
|
|
298
|
-
print("Call completed successfully!")
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
---
|
|
302
|
-
|
|
303
|
-
**Ready to build intelligent voice applications?** Get started with SuperU today!
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
superu/__init__.py,sha256=XNmATEfXs9i9gwdKZSJQ78Ro00wVQ1sfBRUzWmAwWF4,25
|
|
2
|
-
superu/core.py,sha256=wiEhvd_tpUhzDRMfGB2a8It4YqEfmO4dcuQa9iFMnIg,22350
|
|
3
|
-
superu/example.py,sha256=NtR9QKpDpROtMOntElsOev9CmaO-vyKNVARl7qVT3l4,45486
|
|
4
|
-
superu-2025.11.7.1.dist-info/METADATA,sha256=dt6JWFZag-IOPnsFIVN2bjVOXjnzkTkaGYR44AJtAe0,9370
|
|
5
|
-
superu-2025.11.7.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
6
|
-
superu-2025.11.7.1.dist-info/top_level.txt,sha256=5zVX3cRNVlQ4ErMzcEtWY9LraC6jWjmxpJJPVLIHVnA,7
|
|
7
|
-
superu-2025.11.7.1.dist-info/RECORD,,
|
|
File without changes
|