SDKs overview
Open Skills offers official Software Development Kits (SDKs) and supports community-contributed libraries to facilitate integration with its suite of APIs, which include the Open Skills Skills API, Jobs API, and Profiles API. These SDKs are designed to abstract the underlying HTTP requests and JSON parsing, allowing developers to interact with Open Skills services using native language constructs rather than direct API calls. The primary goal is to reduce boilerplate code and accelerate development cycles for applications requiring skills taxonomy management, job description enrichment, or candidate matching functionalities.
The official SDKs are maintained by Open Skills and provide idiomatic interfaces for popular programming languages. They handle authentication, request serialization, and response deserialization, ensuring a consistent and robust developer experience. While official SDKs are the recommended path for most integrations, the Open Skills ecosystem also encourages community contributions, which can extend functionality or provide support for additional languages and frameworks.
Developers new to Open Skills can consult the Open Skills official documentation for detailed guides on getting started with the APIs and SDKs. The documentation provides a comprehensive API reference, quickstart guides, and examples for various use cases, from retrieving skill definitions to analyzing labor market trends.
Official SDKs by language
Open Skills provides official SDKs for several programming languages, ensuring broad compatibility and ease of integration for developers. These SDKs are actively maintained and kept up-to-date with the latest API versions and features. The following table outlines the currently available official SDKs, their respective package names, installation commands, and maturity status.
| Language | Package Name | Installation Command | Maturity |
|---|---|---|---|
| Python | openskill-python |
pip install openskill-python |
Stable |
| TypeScript | @openskill/sdk |
npm install @openskill/sdk or yarn add @openskill/sdk |
Stable |
| Go | github.com/openskill/go-sdk |
go get github.com/openskill/go-sdk |
Stable |
| Ruby | openskill-ruby |
gem install openskill-ruby |
Stable |
Each SDK is designed to reflect the best practices of its respective language ecosystem, providing an intuitive interface for common operations such as authentication, making API requests, and handling responses. For specific versioning information and detailed API client methods, developers should refer to the Open Skills API reference documentation.
Installation
Installing an Open Skills SDK is typically straightforward, leveraging the standard package management tools for each language. Below are the installation instructions for the primary official SDKs.
Python
To install the Open Skills Python SDK, use pip, the Python package installer:
pip install openskill-python
Ensure you have a compatible Python version installed (e.g., Python 3.8+). For more details, consult the Open Skills Python SDK documentation.
TypeScript / JavaScript
For TypeScript or JavaScript projects, use npm or yarn to install the Open Skills SDK:
npm install @openskill/sdk
# or
yarn add @openskill/sdk
This package is compatible with both Node.js environments and modern web browsers. Refer to the Open Skills TypeScript SDK guide for browser-specific usage and framework integrations.
Go
To integrate the Open Skills Go SDK into your Go project, use the go get command:
go get github.com/openskill/go-sdk
After installation, you can import the package into your Go source files. The Open Skills Go SDK documentation provides examples for setting up the client and making requests.
Ruby
Install the Open Skills Ruby SDK using RubyGems:
gem install openskill-ruby
Once installed, you can require the gem in your Ruby applications. The Open Skills Ruby SDK reference contains further instructions and usage patterns.
Quickstart example
This quickstart example demonstrates how to use the Open Skills Python SDK to authenticate and retrieve a list of skills. This process is similar across other SDKs, with syntax variations specific to each language.
Python Quickstart
First, ensure you have installed the openskill-python package as described in the installation section.
import os
from openskill_sdk import OpenSkillClient
# Initialize the client with your API key
# It's recommended to load your API key from environment variables for security
api_key = os.environ.get("OPEN_SKILLS_API_KEY")
if not api_key:
raise ValueError("OPEN_SKILLS_API_KEY environment variable not set.")
client = OpenSkillClient(api_key=api_key)
try:
# Fetch a list of skills
# For a full list of parameters, refer to the API reference
skills_response = client.skills.list(limit=10, offset=0)
print("Successfully fetched skills:")
for skill in skills_response.data:
print(f"- {skill.name} (ID: {skill.id})")
except Exception as e:
print(f"An error occurred: {e}")
Before running this code, set your Open Skills API key as an environment variable named OPEN_SKILLS_API_KEY. You can obtain your API key from your Open Skills account dashboard.
This example demonstrates a basic interaction: client initialization, authentication via an API key, and a call to the skills.list method. The response object typically contains a data attribute with the requested resources and potentially pagination metadata. Developers can explore other methods available on the client.skills, client.jobs, and client.profiles objects for more advanced interactions, such as searching for specific skills, enriching job descriptions, or analyzing candidate profiles. For comprehensive method signatures and response structures, consult the Open Skills API documentation.
For additional context on API key management and secure coding practices, resources like the Google Cloud API Keys documentation provide guidance on protecting sensitive credentials.
Community libraries
Beyond the officially supported SDKs, the Open Skills community may develop and maintain libraries that extend functionality, provide integrations with specific frameworks, or support additional programming languages. While these libraries are not officially maintained or supported by Open Skills, they can offer valuable tools for developers working in diverse environments.
Community libraries often emerge to fill specific niches or to demonstrate innovative uses of the Open Skills API. These might include:
- Framework-specific integrations: Libraries that integrate Open Skills with popular web frameworks like Django, Ruby on Rails, or React.
- Data visualization tools: Tools that help visualize skills data or labor market trends using Open Skills API responses.
- Language wrappers: SDKs for languages not officially supported, such as C#, PHP, or Rust.
- Utility functions: Helpers for common tasks not directly covered by the official SDKs, such as advanced data filtering or transformation.
Developers interested in exploring community contributions should search public code repositories like GitHub or relevant developer forums. When using community-contributed libraries, it is important to review their documentation, licensing, and active maintenance status. Contributions to the Open Skills ecosystem, whether official or community-driven, help foster a robust and adaptable platform for skills intelligence. Developers are encouraged to share their own tools and libraries, contributing to the broader utility of Open Skills data.
For information on contributing to Open Skills or engaging with the developer community, refer to the Open Skills contribution guidelines, which often include details on how to propose new features or report issues for both official and community projects.