Api podcast migration (#93)

Creates the API layer for Open Notebook
Creates a services API gateway for the Streamlit front-end
Migrates the SurrealDB SDK to the official one
Change all database calls to async
New podcast framework supporting multiple speaker configurations
Implement the surreal-commands library for async processing
Improve docker image and docker-compose configurations
This commit is contained in:
Luis Novo 2025-07-17 08:36:11 -03:00 committed by GitHub
parent 9814103cc8
commit d7b0fff954
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
125 changed files with 16177 additions and 3296 deletions

View file

@ -52,7 +52,7 @@ class PodcastConfig(ObjectModel):
raise ValueError("Both voice1 and voice2 must be provided")
return self
def generate_episode(
async def generate_episode(
self,
episode_name: str,
text: str,
@ -142,7 +142,7 @@ class PodcastConfig(ObjectModel):
text=str(text),
audio_file=audio_file,
)
episode.save()
await episode.save()
except Exception as e:
logger.error(f"Failed to generate episode {episode_name}: {e}")
raise