Skip to main content

Jentic SDK for the discovery and execution of APIs and workflows

Project description

Jentic SDK

Jentic SDK is a comprehensive library for discovery and execution of APIs and workflows.

The Jentic SDK is backed by the data in the Open Agentic Knowledge (OAK) repository.

Core API & Use Cases

The main entry point is the Jentic class.

LLM Tool Definition & Execution

A typical agent loop with tool use looks like this:

from jentic import Jentic

class MyAgent:
    def __init__(self):
        self.jentic = Jentic()
        self.jentic_tools = self.jentic.generate_llm_tool_definitions("anthropic")

    async def process_message(self, user_message):

        # Pass your tool definitions here, generated by the Jentic SDK.
        response = self.client.messages.create(
            model='claude-3-5-sonnet-latest',  
            messages=messages,
            tools=self.jentic_tools, 
        )
        
        while response.stop_reason == "tool_use":
            tool_use = next(block for block in response.content if block.type == "tool_use")
            tool_name = tool_use.name
            tool_input = tool_use.input

            # Execute the tool
            tool_result = await self.jentic.run_llm_tool(
                tool_name,
                tool_input 
            )

Components

agent_runtime

A library for generating, managing, and executing LLM-compatible tools from Arazzo workflows and OpenAPI operations.

Features:

  • Generate dynamic tool definitions for OpenAI and Anthropic LLMs from project workflows and API operations
  • Execute workflows and operations as tools via a unified interface
  • Provide runtime classes for tool management (AgentToolManager), tool specification (LLMToolSpecManager), and execution (TaskExecutor)
  • Return standardized results for workflow and operation execution

api

A client for the Jentic API Knowledge Hub.

Set JENTIC_API_URL to set the base URL for the API hub client for local testing or testing against the development environment.

Installation

For Development

To install the package in development mode:

# From the current directory
pip install -e .

Then you can import it in your projects:

import jentic

You can also import it to other projects by referencing the package directory by specifying the following in your pyproject.toml:

dependencies = [
    "jentic @ file:///path/to/jentic/sdk"
]

For Production

pip install jentic

Testing

# Run all tests for jentic
pdm run test

Linting & Formatting

# Run all linting for jentic
pdm run lint

License

Proprietary - Jentic

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

jentic-0.7.2.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

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

jentic-0.7.2-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file jentic-0.7.2.tar.gz.

File metadata

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

File hashes

Hashes for jentic-0.7.2.tar.gz
Algorithm Hash digest
SHA256 ebfa17a75c9ccc3548b8bc1bb0162c7463029c527cad311f8d942e8b03fa2c24
MD5 6907878c5573bee98fd5c91fa61cb336
BLAKE2b-256 11d82b3bcdfeb373dec32d534999b9b2d2d200225d671cbc19f223594e969579

See more details on using hashes here.

Provenance

The following attestation bundles were made for jentic-0.7.2.tar.gz:

Publisher: jentic-sdk-pypi.yaml on jentic/oak

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

File details

Details for the file jentic-0.7.2-py3-none-any.whl.

File metadata

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

File hashes

Hashes for jentic-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a1ebf9e234b012c6769b7d2b3435710181c3d6a603c674da6406bbea1c8c4217
MD5 ae5dccff2786712c69732844e6c0376c
BLAKE2b-256 fe4e75b24a339c4bfd55f20305c68b1675a7b39d0886b7e16757de1ddf0a2ee7

See more details on using hashes here.

Provenance

The following attestation bundles were made for jentic-0.7.2-py3-none-any.whl:

Publisher: jentic-sdk-pypi.yaml on jentic/oak

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