Integrate Stainless SDK for type-safe API client generation#94
Closed
Integrate Stainless SDK for type-safe API client generation#94
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-authored-by: groupthinking <154503486+groupthinking@users.noreply.github.com>
- Generate OpenAPI 3.1.0 spec from FastAPI backend (2,799 lines, 40 endpoints) - Add Stainless configuration for Python and TypeScript SDK generation - Create GitHub Actions workflow for automated SDK publishing - Add comprehensive SDK documentation and usage examples - Fix import paths in shared.youtube module - Add SDK build artifacts to .gitignore - Create SDK placeholder READMEs for Python and TypeScript Strategic Impact: - Converts EventRelay from tool to platform with consumable SDKs - Enables external developers to integrate Video-to-Anything pipeline - Supports Phase 2 monetization through productized API - Provides zero-friction developer experience with type-safe clients Next Steps: 1. Set up Stainless account and add STAINLESS_API_KEY secret 2. Configure PyPI trusted publisher for eventrelay-sdk 3. Add NPM_TOKEN secret for @groupthinking/eventrelay 4. Generate and test SDKs locally before first publish 5. Create v1.0.0 release to trigger automated SDK publishing Co-authored-by: groupthinking <154503486+groupthinking@users.noreply.github.com>
Owner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements automated SDK generation infrastructure to productize EventRelay's API, enabling external developers to consume the Video-to-Anything pipeline via type-safe Python and TypeScript clients.
OpenAPI Specification
scripts/generate_openapi.pyregenerates from route definitionsStainless Configuration
.stainless.yamldefines SDK generation for:eventrelay-sdk→ PyPI@groupthinking/eventrelay→ npmCI/CD Pipeline
.github/workflows/stainless-sdk.ymlautomates:Usage Examples
Python:
TypeScript:
Documentation
docs/SDK_INTEGRATION.md: Usage patterns, error handling, pagination, streamingdocs/STAINLESS_SETUP.md: Setup guide for Stainless account, PyPI/npm publishingdocs/STAINLESS_IMPLEMENTATION_SUMMARY.md: Architecture and strategic impactImport Path Fixes
Fixed module resolution errors blocking OpenAPI generation:
src/shared/youtube/__init__.py: Changedsrc.youtube_extension→youtube_extensionsrc/youtube_extension/services/workflows/transcript_action_workflow.py: Changedsrc.shared.youtube→shared.youtubeNext Steps
Requires manual setup to activate SDK publishing:
STAINLESS_API_KEYsecret (from stainless.com)eventrelay-sdkNPM_TOKENsecret for@groupthinking/eventrelayWarning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/graphql/usr/bin/gh gh issue view 94 --repo groupthinking/EventRelay --json number,title,body,state,url /home/REDACTED/.nvm/nvm.sh /home/REDACTED/.nvm/package.json /home/REDACTED/.nvm/rename_test.sh /home/REDACTED/.nvm/test(http block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt