Skip to main content

Jentic SDK for the discovery and execution of APIs and workflows

Project description

Jentic SDK [Beta]

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

Get Your Jentic UUID

To use the Jentic SDK, you must first obtain a Jentic UUID. The easiest way is using the Jentic CLI. You can optionally include an email address for higher rate limits and for early access to new features.

pip install jentic
jentic register --email '<your_email>'

This will print your UUID and an export command to set it in your environment:

export JENTIC_UUID=<your-jentic-uuid>

Alternatively, you can use curl to register and obtain your UUID:

curl -X POST https://api.jentic.com/api/v1/auth/register \
     -H "Content-Type: application/json" \
     -d '{"email": "<your_email>"}'

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.5.tar.gz (29.0 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.5-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jentic-0.7.5.tar.gz
  • Upload date:
  • Size: 29.0 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.5.tar.gz
Algorithm Hash digest
SHA256 d67a31ce007288a21ed77888acd36588d002f026c7e137b475bebcb2eb12fd63
MD5 26ca620f2c001efd449900fa5254ac76
BLAKE2b-256 fefc928b652b81b66c96ee65654440c182eb0a0fc749e490250604ccbaa268c6

See more details on using hashes here.

Provenance

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

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

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.5-py3-none-any.whl.

File metadata

  • Download URL: jentic-0.7.5-py3-none-any.whl
  • Upload date:
  • Size: 23.3 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 416ad0a9e4c1eb3e9f1d86e39a745f89a6b6dd451ed191798aeb2ed50e794820
MD5 5506cf40a021b060de1016a09845512b
BLAKE2b-256 cd78c69eb8a6171af72dcd911082fbc13410a4d3dc0ada816d88d20541a1b724

See more details on using hashes here.

Provenance

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

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

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