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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebfa17a75c9ccc3548b8bc1bb0162c7463029c527cad311f8d942e8b03fa2c24
|
|
| MD5 |
6907878c5573bee98fd5c91fa61cb336
|
|
| BLAKE2b-256 |
11d82b3bcdfeb373dec32d534999b9b2d2d200225d671cbc19f223594e969579
|
Provenance
The following attestation bundles were made for jentic-0.7.2.tar.gz:
Publisher:
jentic-sdk-pypi.yaml on jentic/oak
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jentic-0.7.2.tar.gz -
Subject digest:
ebfa17a75c9ccc3548b8bc1bb0162c7463029c527cad311f8d942e8b03fa2c24 - Sigstore transparency entry: 204671012
- Sigstore integration time:
-
Permalink:
jentic/oak@11c6d0d33883f6366423934d8541add386ad9604 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jentic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
jentic-sdk-pypi.yaml@11c6d0d33883f6366423934d8541add386ad9604 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1ebf9e234b012c6769b7d2b3435710181c3d6a603c674da6406bbea1c8c4217
|
|
| MD5 |
ae5dccff2786712c69732844e6c0376c
|
|
| BLAKE2b-256 |
fe4e75b24a339c4bfd55f20305c68b1675a7b39d0886b7e16757de1ddf0a2ee7
|
Provenance
The following attestation bundles were made for jentic-0.7.2-py3-none-any.whl:
Publisher:
jentic-sdk-pypi.yaml on jentic/oak
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jentic-0.7.2-py3-none-any.whl -
Subject digest:
a1ebf9e234b012c6769b7d2b3435710181c3d6a603c674da6406bbea1c8c4217 - Sigstore transparency entry: 204671013
- Sigstore integration time:
-
Permalink:
jentic/oak@11c6d0d33883f6366423934d8541add386ad9604 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jentic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
jentic-sdk-pypi.yaml@11c6d0d33883f6366423934d8541add386ad9604 -
Trigger Event:
push
-
Statement type: