@skyfire-xyz/skyfire-sdk v0.10.0
Skyfire SDK
Example Usage
Install
npm install @skyfire-xyz/skyfire-sdkUsing 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-sdkWith HTTPS
git clone https://github.com/skyfire-xyz/skyfire-sdk.gitUpdating TypeScript SDK
- Update the skyfire-openapi to latest
yarn update-sdkOr
yarn update-sdk-localIf 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 prereleaseNOTE: 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 publishNote: 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.tsUpdating 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_USERNAMEandTWINE_PASSWORDset 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-pythonTesting 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-python11 months ago
12 months ago
12 months ago
8 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago