@skyfire-xyz/skyfire-sdk
v0.8.5
Published
## Example Usage
Downloads
233
Keywords
Readme
Skyfire SDK
Example Usage
Install
npm install @skyfire-xyz/skyfire-sdk
Using the SDK
import { SkyfireClient } from "@skyfire-xyz/skyfire-sdk";
async function main() {
const client = new SkyfireClient({
environment: "sandbox",
apiKey: "your-api-key",
});
client.chat
.createOpenAIChatCompletion({
messages: [{ content: "what is the sum of 10 + 11?", role: "user" }],
model: "gpt-4o",
})
.then((response) => {
console.log(response.choices[0].message.content);
})
.catch((error) => {
console.error(error);
});
}
if (require.main === module) {
main().then().catch(console.error);
}
Development
Requirements
- Nodejs (v20+)
- JDK (
brew install openjdk
)
Setup
Clone Repo
With Github CLI
gh repo clone skyfire-xyz/skyfire-sdk
With HTTPS
git clone https://github.com/skyfire-xyz/skyfire-sdk.git
Updating TypeScript SDK
- Update the skyfire-openapi to latest
yarn update-sdk
Or
yarn update-sdk-local
If you are working on a local version of the openapi. When running local, make sure to build the sky-service project before running the update-sdk-local command.
- Update the generated SDK
npm run gen-typescript
- Update package version
yarn version --minor
--major auto-increment major version number
--minor auto-increment minor version number
--patch auto-increment patch version number
--premajor auto-increment premajor version number
--preminor auto-increment preminor version number
--prepatch auto-increment prepatch version number
--prerelease auto-increment prerelease version number
--preid [preid] add a custom identifier to the prerelease
NOTE: Pre-release versions are published in pull requests so they can be tested
- Endpoints that have the same tag (Chat, Toolkit, etc) need no further changes. Skip to Publish. If there are new endpoints using different tags, update client.ts. See /sdks/typescript/client.ts.
- Build the SDK
npm run build
- Publish the SDK
npm publish
Note: Build and publish is not needed if you are merging the changes to main branch. Github CI will automatically publish new versions.
Testing Typescript SDK
Update ./examples/main.ts
with your api key and run the following command.
npx ts-node ./examples/main.ts
Updating Python SDK
- Update the skyfire-openapi to latest
Follow the same steps as the TypeScript SDK.
- Change the Python SDK version in
package.json
Change packageVersion=0.6.3
to the new version.
- Update the generated SDK
npm run gen-python
- Ensure you have
TWINE_USERNAME
andTWINE_PASSWORD
set in.env
.
TWIN_USERNAME is the username of your pypi
account. The password is is the API token generated at the API tokens
section of your pypi
account here.
- Publish the SDK
make docker-publish-python
Testing Python SDK
Write your python tests in ./sdks/python/test.py
and run the following command.
Note: The tests are run using the latest version of the SDK. Make sure you published the SDK before running the tests.
make docker-test-python