Metadata-Version: 2.4
Name: pyagentspec
Version: 26.1.2
Summary: Package defining the PyAgentSpec library for Agents and LLM fixed-flows abstractions.
Home-page: 
Author: Oracle
Author-email: 
License: Apache-2.0 OR UPL-1.0
Keywords: NLP,text generation,code generation,LLM,Assistant,Tool,Agent
Classifier: Development Status :: 3 - Alpha
Classifier: Natural Language :: English
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: jsonschema<5,>=4.23.0
Requires-Dist: pydantic<2.14,>=2.12.5
Requires-Dist: pyyaml<7,>=6
Requires-Dist: typing-extensions>=4.15.0
Provides-Extra: autogen
Requires-Dist: autogen-core>=0.5.6; python_version < "3.13" and extra == "autogen"
Requires-Dist: autogen-ext[ollama,openai]>=0.5.6; python_version < "3.13" and extra == "autogen"
Requires-Dist: autogen-agentchat>=0.5.6; python_version < "3.13" and extra == "autogen"
Requires-Dist: httpx>0.28.0; python_version < "3.13" and extra == "autogen"
Requires-Dist: certifi>=2025.1.31; python_version < "3.13" and extra == "autogen"
Requires-Dist: urllib3>=2.7.0; python_version < "3.13" and extra == "autogen"
Provides-Extra: openai-agents
Requires-Dist: openai-agents>=0.6.9; extra == "openai-agents"
Requires-Dist: libcst<2,>=1.5; extra == "openai-agents"
Requires-Dist: httpx>0.28.0; extra == "openai-agents"
Requires-Dist: certifi>=2025.1.31; extra == "openai-agents"
Requires-Dist: cryptography>=46.0.7; extra == "openai-agents"
Requires-Dist: urllib3>=2.7.0; extra == "openai-agents"
Provides-Extra: crewai
Requires-Dist: crewai[litellm]>=1.6.1; python_version < "3.14" and extra == "crewai"
Requires-Dist: httpx>0.28.0; python_version < "3.14" and extra == "crewai"
Requires-Dist: certifi>=2025.1.31; python_version < "3.14" and extra == "crewai"
Requires-Dist: cryptography>=46.0.7; python_version < "3.14" and extra == "crewai"
Requires-Dist: litellm<2.0,>=1.84.0; python_version < "3.14" and extra == "crewai"
Requires-Dist: urllib3>=2.7.0; python_version < "3.14" and extra == "crewai"
Provides-Extra: langgraph
Requires-Dist: langgraph<1.3.0,>=1.2.0; extra == "langgraph"
Requires-Dist: langchain-core<1.5.0,>=1.4.0; extra == "langgraph"
Requires-Dist: langchain<1.4.0,>=1.3.1; extra == "langgraph"
Requires-Dist: langchain-openai<1.3.0,>=1.2.1; extra == "langgraph"
Requires-Dist: langchain-ollama>=1.0.1; extra == "langgraph"
Requires-Dist: anyio<4.12.0,>=4.10.0; extra == "langgraph"
Requires-Dist: httpx>0.28.0; extra == "langgraph"
Requires-Dist: langgraph-swarm>=0.1.0; extra == "langgraph"
Requires-Dist: certifi>=2025.1.31; extra == "langgraph"
Requires-Dist: langgraph-checkpoint<5.0.0,>=4.0.1; extra == "langgraph"
Requires-Dist: langsmith<1.0.0,>=0.8.0; extra == "langgraph"
Requires-Dist: urllib3>=2.7.0; extra == "langgraph"
Provides-Extra: langgraph-full
Requires-Dist: langgraph<1.3.0,>=1.2.0; extra == "langgraph-full"
Requires-Dist: langchain-core<1.5.0,>=1.4.0; extra == "langgraph-full"
Requires-Dist: langchain<1.4.0,>=1.3.1; extra == "langgraph-full"
Requires-Dist: langchain-openai<1.3.0,>=1.2.1; extra == "langgraph-full"
Requires-Dist: langchain-ollama>=1.0.1; extra == "langgraph-full"
Requires-Dist: anyio<4.12.0,>=4.10.0; extra == "langgraph-full"
Requires-Dist: httpx>0.28.0; extra == "langgraph-full"
Requires-Dist: langgraph-swarm>=0.1.0; extra == "langgraph-full"
Requires-Dist: certifi>=2025.1.31; extra == "langgraph-full"
Requires-Dist: langgraph-checkpoint<5.0.0,>=4.0.1; extra == "langgraph-full"
Requires-Dist: langsmith<1.0.0,>=0.8.0; extra == "langgraph-full"
Requires-Dist: urllib3>=2.7.0; extra == "langgraph-full"
Requires-Dist: langchain-mcp-adapters>=0.2.2; extra == "langgraph-full"
Requires-Dist: langchain-oci>=0.2.6; extra == "langgraph-full"
Requires-Dist: cryptography>=46.0.7; extra == "langgraph-full"
Requires-Dist: pyOpenSSL<27.0.0,>=26.0.0; extra == "langgraph-full"
Provides-Extra: wayflow
Requires-Dist: wayflowcore>=26.1.2; extra == "wayflow"
Requires-Dist: certifi>=2025.1.31; python_version < "3.14" and extra == "wayflow"
Requires-Dist: cryptography>=46.0.7; python_version < "3.14" and extra == "wayflow"
Provides-Extra: wayflow-oci
Requires-Dist: wayflowcore[oci]>=26.1.2; extra == "wayflow-oci"
Requires-Dist: certifi>=2025.1.31; python_version < "3.14" and extra == "wayflow-oci"
Requires-Dist: cryptography>=46.0.7; python_version < "3.14" and extra == "wayflow-oci"
Requires-Dist: pyOpenSSL<27.0.0,>=26.0.0; python_version < "3.14" and extra == "wayflow-oci"
Requires-Dist: urllib3>=2.7.0; python_version < "3.14" and extra == "wayflow-oci"
Provides-Extra: wayflow-a2a
Requires-Dist: wayflowcore[a2a]>=26.1.2; extra == "wayflow-a2a"
Requires-Dist: certifi>=2025.1.31; python_version < "3.14" and extra == "wayflow-a2a"
Requires-Dist: cryptography>=46.0.7; python_version < "3.14" and extra == "wayflow-a2a"
Provides-Extra: wayflow-datastore
Requires-Dist: wayflowcore[datastore]>=26.1.2; extra == "wayflow-datastore"
Requires-Dist: certifi>=2025.1.31; python_version < "3.14" and extra == "wayflow-datastore"
Requires-Dist: cryptography>=46.0.7; python_version < "3.14" and extra == "wayflow-datastore"
Provides-Extra: agent-framework
Requires-Dist: agent-framework>=1.0.0b260130; python_version < "3.14" and extra == "agent-framework"
Requires-Dist: httpx>0.28.0; python_version < "3.14" and extra == "agent-framework"
Requires-Dist: certifi>=2025.1.31; python_version < "3.14" and extra == "agent-framework"
Requires-Dist: cryptography>=46.0.7; python_version < "3.14" and extra == "agent-framework"
Requires-Dist: opentelemetry-semantic-conventions-ai<0.4.14; extra == "agent-framework"
Requires-Dist: urllib3>=2.7.0; python_version < "3.14" and extra == "agent-framework"
Provides-Extra: evaluation
Requires-Dist: anyio<4.12.0,>=4.10.0; extra == "evaluation"
Requires-Dist: litellm<2.0,>=1.84.0; python_version < "3.14" and extra == "evaluation"
Requires-Dist: pandas<3.0.0,>=2.3.0; extra == "evaluation"
Requires-Dist: oci>=2.158.2; extra == "evaluation"
Requires-Dist: numpy>=2.2.6; extra == "evaluation"
Requires-Dist: certifi>=2025.1.31; extra == "evaluation"
Requires-Dist: cryptography>=46.0.7; extra == "evaluation"
Requires-Dist: pyOpenSSL<27.0.0,>=26.0.0; extra == "evaluation"
Requires-Dist: urllib3>=2.7.0; extra == "evaluation"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: keywords
Dynamic: license
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

This folder and subfolders contain the code that constitutes the Agent Spec reading/writing python library.

## Build (recommended)

It is advised that you create a Python environment for all modules. In the main folder:

```bash
$ source ./clean-install-dev.sh
```

Then for development, install the assistant in editable mode and the dev dependencies with:

```bash
$ cd pyagentspec
$ ./install-dev.sh
```

## Run tests

To run the tests, please export the URL to the model

```bash
export LLAMA_API_URL=/url/to/some/remote/llm
```
and run the tests with:

```bash
pytest tests
```
