Skip to content

feat(python): Add FishAudioSettings and HedraSettings#42

Merged
ywkim merged 1 commit into
mainfrom
feature/integrate-external-service-settings
Dec 31, 2025
Merged

feat(python): Add FishAudioSettings and HedraSettings#42
ywkim merged 1 commit into
mainfrom
feature/integrate-external-service-settings

Conversation

@ywkim

@ywkim ywkim commented Dec 31, 2025

Copy link
Copy Markdown
Contributor

개요

외부 서비스(Fish Audio, Hedra) 설정을 aioia-core로 통합하여 Buppy, fancall에서 공통으로 사용할 수 있도록 추가했습니다.

변경사항

  • FishAudioSettings: Fish Audio API 통합 설정 추가

    • enabled: Fish Audio 사용 여부 (기본값: False)
    • api_key: Fish Audio API 키 (enabled=True일 때 필수)
    • 환경변수: FISH_ENABLED, FISH_API_KEY
  • HedraSettings: Hedra API 통합 설정 추가

    • enabled: Hedra 사용 여부 (기본값: False)
    • api_key: Hedra API 키 (enabled=True일 때 필수)
    • 환경변수: HEDRA_ENABLED, HEDRA_API_KEY
  • Pydantic v2 스타일로 작성 (model_validator 사용)

  • 각 설정에서 enabled=True일 때 api_key 필수 검증

영향도

  • aioia-core에만 변경 (신규 클래스 추가)
  • 기존 설정(DatabaseSettings, OpenAIAPISettings, JWTSettings) 영향 없음
  • Buppy, fancall에서 이 설정들을 임포트하면 환경변수 자동 로드

테스트

  • Lint: 10.00/10 ✅
  • Type-check (mypy, pyright): 통과 ✅
  • Unit tests: 26/26 통과 ✅

🤖 Generated with Claude Code


외부 서비스 설정을 aioia-core로 통합하여 Buppy, fancall에서 공통으로 사용할 수 있도록 추가:
- FishAudioSettings: Fish Audio API 통합 설정
- HedraSettings: Hedra API 통합 설정
- Pydantic v2 스타일로 작성 (model_validator)
- enabled/api_key 검증 로직 포함

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이 PR은 외부 서비스(Fish Audio, Hedra) 설정을 aioia-core에 통합하기 위해 FishAudioSettingsHedraSettings 클래스를 추가합니다. Pydantic v2의 model_validator를 사용하여 enabledTrue일 때 api_key가 필수적으로 존재하도록 검증하는 로직이 포함되어 있습니다. 전반적으로 좋은 추가 기능이지만, 두 클래스 간에 상당한 코드 중복이 발견되었습니다. DRY 원칙을 적용하여 유지보수성을 높일 수 있도록 기본 클래스를 활용한 리팩토링을 제안했습니다. 이 부분을 수정하면 더 완성도 높은 코드가 될 것 같습니다.

Comment thread python/aioia_core/settings.py
@ywkim
ywkim merged commit 2717a7c into main Dec 31, 2025
2 checks passed
@ywkim
ywkim deleted the feature/integrate-external-service-settings branch December 31, 2025 01:54
@github-actions

github-actions Bot commented Feb 4, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 2.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant