SDK for building and self-hosting skills for the Articom Agentic Marketplace.
Project description
Articom Skills SDK (Python)
This SDK provides the tools to build, test, and serve custom skills for the Articom Agentic Marketplace Platform. It allows developers to create skills that can be self-hosted and made observable to the Articom server.
Features
-
Declarative Syntax: Use simple Python decorators to define skills and their tools.
-
Automatic Schema Generation: Pydantic models are used for inputs and outputs, which automatically generate the
skill.jsonmanifest. -
Built-in Security: Automatic HMAC signature verification for all incoming requests from the Articom server.
-
Integrated Web Server: A simple CLI to run a production-ready web server (FastAPI + Uvicorn).
Installation
pip install articom-sdk
Quickstart
1. Create your skill file (e.g., main.py):
from pydantic import BaseModel
from articom_sdk import ArticomSkill, Tool
# Define the skill using a decorator
@ArticomSkill(
name="SupportDeskConnector",
version="1.0.0",
author="My Company",
description="A skill to connect to a generic support desk."
)
class MySkill:
# Define the input data model for a tool
class CreateTicketInput(BaseModel):
customer_email: str
subject: str
priority: str
# Define the output data model
class CreateTicketOutput(BaseModel):
ticket_id: str
status: str
# Define a tool using a decorator
@Tool(
name="create_customer_ticket",
description="Creates a new support ticket for a customer."
)
def create_ticket(self, data: CreateTicketInput) -> CreateTicketOutput:
"""
This is where your core logic goes.
Make an API call to your actual support desk system here.
"""
print(f"Creating ticket for {data.customer_email} with subject '{data.subject}'")
new_ticket_id = "TICKET-12345"
return self.CreateTicketOutput(ticket_id=new_ticket_id, status="open")
2. Create a .env file for your signing secret:
# .env
ARTICOM_SIGNING_SECRET=your_super_secret_string_from_articom_portal
3. Run your skill server:
The SDK provides a command-line tool. You just need to point it to your skill file and the class name.
poetry run articom serve main:MySkill --port 8000
Your skill is now running and ready to be registered with Articom!
4. Generate the Manifest:
You can also generate the skill.json manifest without running the server. This is useful for CI/CD or validation.
poetry run articom generate-manifest main:MySkill
This will print the JSON manifest to the console.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file articom_sdk-0.1.0.tar.gz.
File metadata
- Download URL: articom_sdk-0.1.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
117390ff3bbd0c3870792cadf87601c88dc6b290bb8701fea0c148a145310465
|
|
| MD5 |
e1e5d2187f23f7ecf2c5fdb19b4fcee1
|
|
| BLAKE2b-256 |
57e1c6bc421398ca101d18cbf2c87fee03bf1e57f66b64083764db0053f03906
|
Provenance
The following attestation bundles were made for articom_sdk-0.1.0.tar.gz:
Publisher:
publish.yml on Inforwaves/articom-skill-sdk-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
articom_sdk-0.1.0.tar.gz -
Subject digest:
117390ff3bbd0c3870792cadf87601c88dc6b290bb8701fea0c148a145310465 - Sigstore transparency entry: 462783647
- Sigstore integration time:
-
Permalink:
Inforwaves/articom-skill-sdk-python@8b8086bfdf55da6e0331e04925b1748d9b09c962 -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/Inforwaves
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8b8086bfdf55da6e0331e04925b1748d9b09c962 -
Trigger Event:
release
-
Statement type:
File details
Details for the file articom_sdk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: articom_sdk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87ee544661d5f0e2ac2186a120dcc11b39b9945b9030e9b08bbc68af0b0861b6
|
|
| MD5 |
a7f8602fbba90ef42f7ca57d04bf372a
|
|
| BLAKE2b-256 |
05f1e0eadab59fa88ed579984ea95c9e807bebda8d16c99b5adc5f85c8ac81da
|
Provenance
The following attestation bundles were made for articom_sdk-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Inforwaves/articom-skill-sdk-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
articom_sdk-0.1.0-py3-none-any.whl -
Subject digest:
87ee544661d5f0e2ac2186a120dcc11b39b9945b9030e9b08bbc68af0b0861b6 - Sigstore transparency entry: 462783663
- Sigstore integration time:
-
Permalink:
Inforwaves/articom-skill-sdk-python@8b8086bfdf55da6e0331e04925b1748d9b09c962 -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/Inforwaves
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8b8086bfdf55da6e0331e04925b1748d9b09c962 -
Trigger Event:
release
-
Statement type: