Skip to main content

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.json manifest.

  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

articom_sdk-0.1.1.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

articom_sdk-0.1.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file articom_sdk-0.1.1.tar.gz.

File metadata

  • Download URL: articom_sdk-0.1.1.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for articom_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fc3789dd635d30eb9f4aadd13e9c112edc76aed73f5e8090446e5286e884a669
MD5 ee6b5042b76e95474e681447ea8ff216
BLAKE2b-256 fece83685a76e5f9236cd42939917d9b905ce28e13bd06a58aa15dc9a62bc5dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for articom_sdk-0.1.1.tar.gz:

Publisher: publish.yml on Inforwaves/articom-skill-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file articom_sdk-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: articom_sdk-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for articom_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1b9373ab9ecf07e49731f79c5ae65c6d00ba61cd79c355292de538799d7a75d3
MD5 3d8e5c4bcaca5e94764f7d99d540c582
BLAKE2b-256 26b5b433aff67df07220d83d6b835857df2765a022505079f26f580a2cc128cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for articom_sdk-0.1.1-py3-none-any.whl:

Publisher: publish.yml on Inforwaves/articom-skill-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page