autonomous-app 0.3.22__tar.gz → 0.3.23__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.
Files changed (70) hide show
  1. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/PKG-INFO +1 -1
  2. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/__init__.py +1 -1
  3. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/audioagent.py +4 -0
  4. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/models/gemini.py +44 -41
  5. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous_app.egg-info/PKG-INFO +1 -1
  6. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/README.md +0 -0
  7. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/pyproject.toml +0 -0
  8. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/requirements.txt +0 -0
  9. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/setup.cfg +0 -0
  10. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/setup.py +0 -0
  11. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/__init__.py +0 -0
  12. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/baseagent.py +0 -0
  13. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/imageagent.py +0 -0
  14. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/jsonagent.py +0 -0
  15. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/models/__init__.py +0 -0
  16. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/models/aws.py +0 -0
  17. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/models/deepseek.py +0 -0
  18. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/models/local.py +0 -0
  19. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/models/openai.py +0 -0
  20. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/ai/textagent.py +0 -0
  21. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/apis/version_control/GHCallbacks.py +0 -0
  22. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/apis/version_control/GHOrganization.py +0 -0
  23. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/apis/version_control/GHRepo.py +0 -0
  24. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/apis/version_control/GHVersionControl.py +0 -0
  25. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/apis/version_control/__init__.py +0 -0
  26. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/auth/__init__.py +0 -0
  27. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/auth/autoauth.py +0 -0
  28. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/auth/github.py +0 -0
  29. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/auth/google.py +0 -0
  30. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/auth/user.py +0 -0
  31. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/cli.py +0 -0
  32. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/__init__.py +0 -0
  33. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/base/__init__.py +0 -0
  34. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/base/common.py +0 -0
  35. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/base/datastructures.py +0 -0
  36. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/base/document.py +0 -0
  37. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/base/fields.py +0 -0
  38. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/base/metaclasses.py +0 -0
  39. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/base/utils.py +0 -0
  40. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/common.py +0 -0
  41. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/connection.py +0 -0
  42. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/context_managers.py +0 -0
  43. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/dereference.py +0 -0
  44. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/document.py +0 -0
  45. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/errors.py +0 -0
  46. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/fields.py +0 -0
  47. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/mongodb_support.py +0 -0
  48. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/pymongo_support.py +0 -0
  49. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/queryset/__init__.py +0 -0
  50. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/queryset/base.py +0 -0
  51. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/queryset/field_list.py +0 -0
  52. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/queryset/manager.py +0 -0
  53. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/queryset/queryset.py +0 -0
  54. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/queryset/transform.py +0 -0
  55. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/queryset/visitor.py +0 -0
  56. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/db/signals.py +0 -0
  57. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/logger.py +0 -0
  58. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/model/__init__.py +0 -0
  59. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/model/autoattr.py +0 -0
  60. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/model/automodel.py +0 -0
  61. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/storage/__init__.py +0 -0
  62. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/storage/imagestorage.py +0 -0
  63. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/storage/localstorage.py +0 -0
  64. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/tasks/__init__.py +0 -0
  65. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/tasks/autotask.py +0 -0
  66. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous/utils/markdown.py +0 -0
  67. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous_app.egg-info/SOURCES.txt +0 -0
  68. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous_app.egg-info/dependency_links.txt +0 -0
  69. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous_app.egg-info/requires.txt +0 -0
  70. {autonomous_app-0.3.22 → autonomous_app-0.3.23}/src/autonomous_app.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autonomous-app
3
- Version: 0.3.22
3
+ Version: 0.3.23
4
4
  Summary: Containerized application framework built on Flask with additional libraries and tools for rapid development of web applications.
5
5
  Author-email: Steven A Moore <samoore@binghamton.edu>
6
6
  Project-URL: homepage, https://github.com/Sallenmoore/autonomous
@@ -1,4 +1,4 @@
1
- __version__ = "0.3.22"
1
+ __version__ = "0.3.23"
2
2
 
3
3
  from dotenv import load_dotenv
4
4
 
@@ -1,3 +1,4 @@
1
+ import filters
1
2
  from autonomous import log
2
3
  from autonomous.ai.baseagent import BaseAgent
3
4
  from autonomous.model.autoattr import ReferenceAttr, StringAttr
@@ -24,3 +25,6 @@ class AudioAgent(BaseAgent):
24
25
 
25
26
  def transcribe(self, audio, **kwargs):
26
27
  return self.get_client().generate_audio_text(audio, **kwargs)
28
+
29
+ def available_voices(self, filters=filters):
30
+ return self.get_client().list_voices(filters=filters)
@@ -1,18 +1,14 @@
1
- import datetime
2
1
  import io
3
- import json
4
2
  import os
5
3
  import random
6
4
  import wave
7
- from http import client
8
5
 
9
6
  from google import genai
10
7
  from google.genai import types
11
- from PIL import Image as PILImage
12
8
  from pydub import AudioSegment
13
9
 
14
10
  from autonomous import log
15
- from autonomous.model.autoattr import DictAttr, ListAttr, StringAttr
11
+ from autonomous.model.autoattr import ListAttr, StringAttr
16
12
  from autonomous.model.automodel import AutoModel
17
13
 
18
14
 
@@ -25,6 +21,38 @@ class GeminiAIModel(AutoModel):
25
21
  _stt_model = "gemini-3-pro-preview"
26
22
  _tts_model = "gemini-2.5-flash-preview-tts"
27
23
  MAX_FILES = 14
24
+ VOICES = {
25
+ "Zephyr": ["female"],
26
+ "Puck": ["male"],
27
+ "Charon": ["male"],
28
+ "Kore": ["female"],
29
+ "Fenrir": ["non-binary"],
30
+ "Leda": ["female"],
31
+ "Orus": ["male"],
32
+ "Aoede": ["female"],
33
+ "Callirhoe": ["female"],
34
+ "Autonoe": ["female"],
35
+ "Enceladus": ["male"],
36
+ "Iapetus": ["male"],
37
+ "Umbriel": ["male"],
38
+ "Algieba": ["male"],
39
+ "Despina": ["female"],
40
+ "Erinome": ["female"],
41
+ "Algenib": ["male"],
42
+ "Rasalgethi": ["non-binary"],
43
+ "Laomedeia": ["female"],
44
+ "Achernar": ["female"],
45
+ "Alnilam": ["male"],
46
+ "Schedar": ["male"],
47
+ "Gacrux": ["female"],
48
+ "Pulcherrima": ["non-binary"],
49
+ "Achird": ["male"],
50
+ "Zubenelgenubi": ["male"],
51
+ "Vindemiatrix": ["female"],
52
+ "Sadachbia": ["male"],
53
+ "Sadaltager": ["male"],
54
+ "Sulafar": ["female"],
55
+ }
28
56
 
29
57
  messages = ListAttr(StringAttr(default=[]))
30
58
  name = StringAttr(default="agent")
@@ -163,42 +191,17 @@ class GeminiAIModel(AutoModel):
163
191
  )
164
192
  return response.text
165
193
 
166
- def generate_audio(self, prompt, voice=None):
167
- voice = voice or random.choice(
168
- [
169
- "Zephyr",
170
- "Puck",
171
- "Charon",
172
- "Kore",
173
- "Fenrir",
174
- "Leda",
175
- "Orus",
176
- "Aoede",
177
- "Callirhoe",
178
- "Autonoe",
179
- "Enceladus",
180
- "Iapetus",
181
- "Umbriel",
182
- "Algieba",
183
- "Despina",
184
- "Erinome",
185
- "Algenib",
186
- "Rasalgethi",
187
- "Laomedeia",
188
- "Achernar",
189
- "Alnilam",
190
- "Schedar",
191
- "Gacrux",
192
- "Pulcherrima",
193
- "Achird",
194
- "Zubenelgenubi",
195
- "Vindemiatrix",
196
- "Sadachbia",
197
- "Sadaltager",
198
- "Sulafar",
199
- ]
200
- )
201
-
194
+ def list_voices(self, filters=[]):
195
+ if not filters:
196
+ return list(self.VOICES.keys())
197
+ voices = []
198
+ for voice, attribs in self.VOICES.items():
199
+ if any(f.lower() in attribs for f in filters):
200
+ voices.append(voice)
201
+ return voices
202
+
203
+ def generate_audio(self, prompt, voice=None, **kwargs):
204
+ voice = voice or random.choice(self.list_voices())
202
205
  try:
203
206
  response = self.client.models.generate_content(
204
207
  model=self._tts_model,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autonomous-app
3
- Version: 0.3.22
3
+ Version: 0.3.23
4
4
  Summary: Containerized application framework built on Flask with additional libraries and tools for rapid development of web applications.
5
5
  Author-email: Steven A Moore <samoore@binghamton.edu>
6
6
  Project-URL: homepage, https://github.com/Sallenmoore/autonomous