{"id":22089822,"url":"https://github.com/speakeasy-api/speakeasy-stainless-comparison","last_synced_at":"2025-03-23T22:49:20.161Z","repository":{"id":265748495,"uuid":"810799676","full_name":"speakeasy-api/speakeasy-stainless-comparison","owner":"speakeasy-api","description":"Code Example for Speakeasy vs Stainless May 2024","archived":false,"fork":false,"pushed_at":"2024-06-05T11:31:48.000Z","size":206,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-15T23:56:01.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/speakeasy-api.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-05T11:28:25.000Z","updated_at":"2024-06-05T11:31:53.000Z","dependencies_parsed_at":"2024-11-30T19:45:02.278Z","dependency_job_id":"af866a2d-7031-4d8a-963b-e6fae5d2d92b","html_url":"https://github.com/speakeasy-api/speakeasy-stainless-comparison","commit_stats":null,"previous_names":["speakeasy-api/speakeasy-stainless-comparison"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fspeakeasy-stainless-comparison","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fspeakeasy-stainless-comparison/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fspeakeasy-stainless-comparison/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fspeakeasy-stainless-comparison/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/speakeasy-api","download_url":"https://codeload.github.com/speakeasy-api/speakeasy-stainless-comparison/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245181550,"owners_count":20573718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-01T02:14:23.691Z","updated_at":"2025-03-23T22:49:20.128Z","avatar_url":"https://github.com/speakeasy-api.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SDK Generation Tests\n\nThis repo is for testing SDK generators Speakeasy and Stainless.\n\nThis is a companion repo to the [In Depth: Speakeasy vs Stainless](https://speakeasyapi.dev/post/speakeasy-vs-stainless) blog post by Speakeasy.\n\n1. Clone this repository and navigate to the root directory.\n\n2. Install the [Speakeasy CLI](https://github.com/speakeasy-api/speakeasy?tab=readme-ov-file#installation) from GitHub, or using Homebrew (macOS):\n\n```bash\nbrew install speakeasy\n```\n\n3. Authenticate with Speakeasy:\n\n```bash\nspeakeasy auth login\n```\n\n4. Install [Bun](https://bun.sh/)\n\n5. Generate the Speakeasy SDK:\n\n```bash\nspeakeasy generate sdk \\\n    --schema openapi.yaml \\\n    --lang typescript \\\n    --out ./sdks/techbooks-ts\n```\n\n6. Navigate to [Stainless](https://www.stainlessapi.com/) and generate the SDK for the same schema.\n\n7. Download the SDK generated by Stainless and place it in the `sdks/techbooks-node` directory.\n\n8. Build the Speakeasy SDK:\n\n```bash\ncd sdks/techbooks-ts\nbun i\nbun run build\n```\n\n9. Link the Speakeasy SDK using Bun:\n\n```bash\nbun link\n```\n\n 10. Build the Stainless SDK:\n\n```bash\ncd ../techbooks-node\nyarn install\nyarn run build\n```\n\n11. Link the Stainless SDK using Bun:\n\n```bash\ncd dist\nbun link\n```\n\n11. Install [Prism](https://github.com/stoplightio/prism):\n\n```bash\nnpm install -g @stoplight/prism-cli\n```\n\n12. Start the Prism mock server:\n\n```bash\ncd ../../..\nprism mock openapi.yaml\n```\n\n13. In a new terminal, run the tests:\n\n```bash\ncd sdk-tests\nbun test\n```\n\n14. Compare the results of the tests.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeakeasy-api%2Fspeakeasy-stainless-comparison","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspeakeasy-api%2Fspeakeasy-stainless-comparison","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeakeasy-api%2Fspeakeasy-stainless-comparison/lists"}