Observed since 20 Oct, 22:38 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Official SDK for developing extensions for the Agently framework
The official SDK for developing extensions for the Agently framework. Currently focused on plugin development, with more capabilities planned for future releases.
pip install agently-sdk
For development versions or pre-releases:
pip install agently-sdk==0.5.2.dev0
See our Versioning Guide for information about our release process and version numbering.
Create a simple plugin:
from agently_sdk.plugins import Plugin, PluginVariable, kernel_function
class HelloPlugin(Plugin):
name = "hello"
description = "A simple hello world plugin"
default_name = PluginVariable(
name="default_name",
description="Default name to use in greetings",
default="World"
)
@kernel_function
def greet(self, name=None) -> str:
"""Greet the user."""
return f"Hello, {name or self.default_name}!"
The Plugin class is the base class for all Agently plugins. It provides the structure and interface for creating plugins that can be used by Agently agents.
| Attribute | Type | Required | Description |
|---|---|---|---|
name | str | Yes | The name of the plugin, used for identification |
description | str | Yes | A brief description of what the plugin does |
| Method | Description |
|---|---|
get_kernel_functions() | Returns a dictionary of all methods decorated with @kernel_function |
get_plugin_variables() | Returns a dictionary of all PluginVariable instances defined in the class |
The PluginVariable class represents a configurable variable for a plugin. It allows plugins to be configured with different values when they are loaded by Agently.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | str | Yes | - | The name of the variable |
description | str | Yes | - | A description of what the variable is used for |
default | Any | No | None | The default value if none is provided |
required | bool | No | False | Whether this variable must be provided |
validator | Callable[[Any], bool] | No | None | Optional function that validates the value |
choices | List[Any] | No | None | Optional list of valid choices for the value |
type | Type | No | None | Optional type constraint for the value |
| Method | Description |
|---|---|
validate(value) | Validates a value against this variable's constraints |
to_dict() | Converts this variable to a dictionary representation |
Agently SDK provides two decorators for marking methods as callable by agents:
@agently_function - The recommended decorator for Agently plugins@kernel_function - An alias for @agently_function provided for backward compatibilityBoth decorators wrap the kernel_function decorator from semantic_kernel.functions while maintaining compatibility with our existing code. If the Semantic Kernel package is not available, they fall back to a compatible implementation.
from agently_sdk.plugins import Plugin, PluginVariable, agently_function
class MyPlugin(Plugin):
name = "my_plugin"
description = "A sample plugin"
@agently_function
def my_function(self, param1: str, param2: int = 0) -> str:
"""
Function docstring that describes what this function does.
Args:
param1: Description of param1
param2: Description of param2
Returns:
Description of the return value
"""
# Implementation
return result
MIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.5.2 | 8 Mar 2025 | 1 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 22:38 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:c2c4118053c96968979003e1df3aaecdbf73448c94ff14ad14c8c8e1b7d52c1e