superu 2025.9.18.1__tar.gz → 2025.10.6.2__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superu
3
- Version: 2025.9.18.1
3
+ Version: 2025.10.6.2
4
4
  Summary: SuperU SDK to make AI calls - Create intelligent voice assistants for automated phone calls
5
5
  Author-email: Paras Chhugani <paras@superu.ai>
6
6
  Maintainer-email: Paras Chhugani <peoband@gmail.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "superu"
3
- version = "2025.09.18.01"
3
+ version = "2025.10.06.02"
4
4
  description = "SuperU SDK to make AI calls - Create intelligent voice assistants for automated phone calls"
5
5
  readme = {file = "README.md", content-type = "text/markdown"}
6
6
  requires-python = ">=3.7"
@@ -283,8 +283,9 @@ class ToolWrapper:
283
283
  return response.json()
284
284
 
285
285
  class PlutoWrapper:
286
- def __init__(self, api_key, assistants):
286
+ def __init__(self, api_key , user_id , assistants):
287
287
  self.api_key = api_key
288
+ self.user_id = user_id
288
289
  self.assistants = assistants
289
290
  self.pluto_url = "pluto-ws.superu.ai"
290
291
  self.pluto_1_1_url = "pluto-ws.superu.ai"
@@ -325,13 +326,13 @@ class PlutoWrapper:
325
326
  system_prompt = assistant['model']['messages'][0]['content']
326
327
  first_message = assistant['firstMessage']
327
328
 
328
- final_system_prompt = system_prompt + "\n\n" + """Always Use " to enclose your response. And dont keep the conversation going , do not just answer to customer , keep the conversation flowing by asking a brief, relevant follow-up question."""
329
+ final_system_prompt = system_prompt
329
330
 
330
331
  json_for_url = {
331
332
  "eleven_labs_voice_id" : voice_id,
332
333
  "system_message" : final_system_prompt,
333
334
  "first_message" : first_message,
334
- "user_id" : self.api_key,
335
+ "user_id" : self.user_id,
335
336
  "language_clue" : language_clue,
336
337
  "background_audio" : background_audio,
337
338
  "telephony" : Telephony,
@@ -365,7 +366,7 @@ class PlutoWrapper:
365
366
  "eleven_labs_voice_id" : voice_id,
366
367
  "system_message" : final_system_prompt,
367
368
  "first_message" : first_message,
368
- "user_id" : self.api_key,
369
+ "user_id" : self.user_id,
369
370
  "language_clue" : language_clue,
370
371
  "background_audio" : background_audio,
371
372
  "telephony" : Telephony,
@@ -432,7 +433,7 @@ class SuperU:
432
433
  self.calls = CallWrapper(self.api_key)
433
434
  self.assistants = AssistantWrapper(self.api_key)
434
435
  self.tools = ToolWrapper(self.api_key)
435
- self.pluto = PlutoWrapper(self.api_key , assistants=self.assistants)
436
+ self.pluto = PlutoWrapper(self.api_key , self.user_id , assistants=self.assistants)
436
437
 
437
438
  def validate_api_key(self, api_key):
438
439
  response = requests.post(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superu
3
- Version: 2025.9.18.1
3
+ Version: 2025.10.6.2
4
4
  Summary: SuperU SDK to make AI calls - Create intelligent voice assistants for automated phone calls
5
5
  Author-email: Paras Chhugani <paras@superu.ai>
6
6
  Maintainer-email: Paras Chhugani <peoband@gmail.com>
@@ -1,6 +1,5 @@
1
1
  README.md
2
2
  pyproject.toml
3
- superu/README.md
4
3
  superu/__init__.py
5
4
  superu/core.py
6
5
  superu/example.py
@@ -1,271 +0,0 @@
1
- # SuperU - AI Voice Assistant Platform
2
-
3
- [![PyPI version](https://img.shields.io/pypi/v/superu.svg)](https://pypi.org/project/superu/)
4
- [![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
5
- [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
6
-
7
- 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.
8
-
9
- ## 🚀 Features
10
-
11
- - **AI Voice Assistants**: Create intelligent voice agents with custom personalities
12
- - **Automated Phone Calls**: Make outbound calls with AI assistants
13
- - **Multi-language Support**: Hindi, English (Indian, American, British accents), and more
14
- - **Tool Integration**: Connect your APIs for dynamic data retrieval during calls
15
- - **Call Analytics**: Comprehensive analysis and transcription of all interactions
16
- - **Flexible Configuration**: Support for multiple AI models, transcribers, and voice providers
17
-
18
- ## 📦 Installation
19
-
20
- ```bash
21
- pip install superu
22
- ```
23
-
24
- ## 🔑 Getting Started
25
-
26
- ### 1. Get Your API Key
27
-
28
- 1. Visit [dev.superu.ai](https://dev.superu.ai/) and sign up
29
- 2. Go to your dashboard
30
- 3. Copy your API key
31
-
32
- ### 2. Basic Usage
33
-
34
- ```python
35
- import superu
36
-
37
- # Initialize the client
38
- client = superu.SuperU('your_api_key_here')
39
-
40
- # Create a basic assistant
41
- assistant = client.assistants.create_basic(
42
- name="Customer Service Assistant",
43
- voice_id="90ipbRoKi4CpHXvKVtl0", # Anika - Indian English
44
- first_message="Hello! How can I help you today?",
45
- system_prompt="You are a helpful customer service representative."
46
- )
47
-
48
- # Make a phone call
49
- call = client.calls.create(
50
- from_='918035737904', # Your SuperU number
51
- to_='+919876543210', # Customer's number
52
- assistant_id=assistant['id'],
53
- max_duration_seconds=300
54
- )
55
-
56
- print(f"Call initiated: {call['call_uuid']}")
57
- ```
58
-
59
- ## 🎯 Advanced Usage
60
-
61
- ### Creating an Advanced Assistant
62
-
63
- ```python
64
- # Advanced assistant with custom configuration
65
- advanced_config = {
66
- "name": "Sales Assistant",
67
- "voice": {
68
- "model": "eleven_flash_v2_5",
69
- "voiceId": "xnx6sPTtvU635ocDt2j7", # Chinmay - Indian English Male
70
- "provider": "11labs",
71
- "stability": 0.9,
72
- "similarityBoost": 0.9,
73
- "useSpeakerBoost": True
74
- },
75
- "model": {
76
- "model": "gpt-4o-mini",
77
- "provider": "openai",
78
- "temperature": 0.7,
79
- "messages": [
80
- {
81
- "role": "system",
82
- "content": "You are a professional sales representative..."
83
- }
84
- ]
85
- },
86
- "transcriber": {
87
- "model": "nova-2",
88
- "language": "en",
89
- "provider": "deepgram",
90
- "endpointing": 300
91
- },
92
- "firstMessage": "Hi! I'm calling to discuss our latest offers.",
93
- "endCallMessage": "Thank you for your time. Have a great day!"
94
- }
95
-
96
- assistant = client.assistants.create(**advanced_config)
97
- ```
98
-
99
- ### Available Voices
100
-
101
- | Voice ID | Language | Gender | Accent | Name |
102
- |----------|----------|---------|---------|------|
103
- | `gHu9GtaHOXcSqFTK06ux` | Hindi | Female | Standard | Anjali - Soothing Hindi Voice |
104
- | `m5qndnI7u4OAdXhH0Mr5` | Hindi | Male | Standard | Krishna - Energetic Hindi Voice |
105
- | `90ipbRoKi4CpHXvKVtl0` | English | Female | Indian | Anika - Customer Care Agent |
106
- | `xnx6sPTtvU635ocDt2j7` | English | Male | Indian | Chinmay - Calm & Energetic |
107
- | `kdmDKE6EkgrWrrykO9Qt` | English | Female | American | Alexandra |
108
- | `XA2bIQ92TabjGbpO2xRr` | English | Male | American | Jerry |
109
- | `MzqUf1HbJ8UmQ0wUsx2p` | English | Female | British | Katie X |
110
- | `qxjGnozOAtD4eqNuXms4` | English | Male | British | John Shaw - Customer Care |
111
-
112
- ### Creating Custom Tools
113
-
114
- Enable your assistant to call your APIs during conversations:
115
-
116
- ```python
117
- # Create a tool for checking user information
118
- tool = client.tools.create(
119
- name="check-user-status",
120
- description="Check if a user exists in our database",
121
- parameters={
122
- "type": "object",
123
- "properties": {
124
- "email": {
125
- "type": "string",
126
- "description": "User's email address"
127
- }
128
- },
129
- "required": ["email"]
130
- },
131
- tool_url="/api/check-user",
132
- tool_url_domain="https://your-api.com",
133
- async_=False
134
- )
135
-
136
- # Use the tool in your assistant
137
- assistant_config["model"]["toolIds"] = [tool['id']]
138
- ```
139
-
140
- ### Call Analysis
141
-
142
- ```python
143
- # Get call analysis
144
- call_uuid = call['call_uuid']
145
- analysis = client.calls.analysis(call_uuid)
146
-
147
- print(f"Call duration: {analysis['duration']}")
148
- print(f"Transcript: {analysis['transcript']}")
149
- print(f"Sentiment: {analysis['sentiment']}")
150
- ```
151
-
152
- ### Twilio Integration
153
-
154
- ```python
155
- # Use your own Twilio number
156
- call = client.calls.create_twilio_call(
157
- phoneNumberId="your_twilio_number_id",
158
- to_="+919876543210",
159
- assistant_id=assistant['id']
160
- )
161
-
162
- # Analyze Twilio calls
163
- analysis = client.calls.analysis_twilio_call(call['call_uuid'])
164
- ```
165
-
166
- ## 🛠️ Configuration Options
167
-
168
- ### Transcriber Options
169
-
170
- - **Deepgram**: High-quality, fast transcription with multilingual support
171
- - **AssemblyAI**: Advanced transcription with sentiment analysis
172
- - **Azure**: Microsoft's speech-to-text service
173
- - **11Labs**: ElevenLabs transcription service
174
-
175
- ### AI Models
176
-
177
- - **OpenAI**: GPT-4o, GPT-4, GPT-3.5-turbo with customizable temperature and tools
178
- - Support for custom knowledge bases and function calling
179
-
180
- ### Voice Providers
181
-
182
- - **ElevenLabs**: Premium voice synthesis with multiple models and languages
183
- - Customizable stability, similarity boost, and speaker enhancement
184
-
185
- ## 📊 Use Cases
186
-
187
- - **Customer Service**: Automated support calls with intelligent responses
188
- - **Sales Outreach**: Personalized sales calls with lead qualification
189
- - **Appointment Booking**: Automated scheduling and reminders
190
- - **Survey Collection**: Interactive voice surveys with data collection
191
- - **Lead Qualification**: Intelligent lead scoring and follow-up
192
- - **Order Status**: Automated order updates and delivery notifications
193
-
194
- ## 🔧 API Reference
195
-
196
- ### Core Methods
197
-
198
- ```python
199
- # Client initialization
200
- client = superu.SuperU(api_key)
201
-
202
- # Assistants
203
- client.assistants.create_basic(**params)
204
- client.assistants.create(**params)
205
-
206
- # Calls
207
- client.calls.create(**params)
208
- client.calls.create_twilio_call(**params)
209
- client.calls.analysis(call_uuid)
210
- client.calls.analysis_twilio_call(call_uuid)
211
-
212
- # Tools
213
- client.tools.create(**params)
214
- ```
215
-
216
- ### Call Parameters
217
-
218
- | Parameter | Type | Required | Description |
219
- |-----------|------|----------|-------------|
220
- | `from_` | str | Yes | Caller ID (international format) |
221
- | `to_` | str | Yes | Recipient number (international format) |
222
- | `assistant_id` | str | Yes | Assistant ID to handle the call |
223
- | `max_duration_seconds` | int | No | Maximum call duration (default: 180) |
224
- | `first_message_url` | str | No | URL to initial audio message |
225
-
226
- ## 🤝 Support
227
-
228
- - **Documentation**: [dev.superu.ai](https://dev.superu.ai/)
229
- - **Issues**: Report bugs and feature requests on GitHub
230
- - **Email**: Contact support for enterprise solutions
231
-
232
- ## 📄 License
233
-
234
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
235
-
236
- ## 🚀 Getting Help
237
-
238
- ```python
239
- # Example: Complete workflow
240
- import superu
241
- import time
242
-
243
- # Initialize
244
- client = superu.SuperU('your_api_key')
245
-
246
- # Create assistant
247
- assistant = client.assistants.create_basic(
248
- name="Demo Assistant",
249
- voice_id="90ipbRoKi4CpHXvKVtl0",
250
- first_message="Hello! This is a demo call.",
251
- system_prompt="You are a friendly demo assistant."
252
- )
253
-
254
- # Make call
255
- call = client.calls.create(
256
- from_='your_superu_number',
257
- to_='+919876543210',
258
- assistant_id=assistant['id']
259
- )
260
-
261
- # Wait for call completion
262
- time.sleep(30)
263
-
264
- # Get analysis
265
- analysis = client.calls.analysis(call['call_uuid'])
266
- print("Call completed successfully!")
267
- ```
268
-
269
- ---
270
-
271
- **Ready to build intelligent voice applications?** Get started with SuperU today!
File without changes
File without changes