A Python utils SDK for xpander.ai services.
Project description
Here's a greatly improved version of your README, integrating details from your setup.py (like updated Python version, full dependency list, extras, etc.), formatted clearly and professionally in Markdown:
xpander_utils Package Development Guide
Overview
xpander_utils is a Python utilities SDK for xpander.ai services.
It provides adapters, helpers, and utilities to integrate and enhance the development of AI agents, workflows, and more.
- Package Name:
xpander_utils - Version:
0.0.1 - Author: xpanderAI
- Email: dev@xpander.ai
- License: MIT License
- URL: https://www.xpander.ai
Installation
Install from PyPI
To use the xpander_utils package in your project, install it via pip:
pip install xpander-utils
Install Locally (Development Mode)
If you want to contribute or modify the package, clone the repository and install it locally in editable mode:
pip install -e .
This allows you to make changes to the source code without reinstalling the package after each modification.
Usage Example
Here's a simple example using SmolAgentsAdapter to bridge between xpander.ai and smolagents:
from smolagents import OpenAIServerModel, ToolCallingAgent
from xpander_utils.sdk.adapters import SmolAgentsAdapter
# API keys
llm_api_key = "{YOUR_LLM_KEY}"
xpander_api_key = "{YOUR_API_KEY}"
# Initialize Xpander agent
xpander = SmolAgentsAdapter(agent_id="{YOUR_AGENT_ID}", api_key=xpander_api_key)
# Initialize model
model = OpenAIServerModel(
model_id="gpt-4o",
api_key=llm_api_key
)
# Add a task to Xpander
prompt = "get the longest tag"
xpander.add_task(input=prompt)
# Build the agent using Xpander's tools
agent = ToolCallingAgent(
step_callbacks=[xpander.step_callback()],
tools=xpander.get_tools(),
model=model,
prompt_templates={"system_prompt": xpander.get_system_prompt()}
)
# Initialize memory from Xpander
xpander.init_memory(agent=agent)
# Run the agent
result = agent.run(task=prompt, reset=False)
Dependencies
The package requires the following libraries:
pydanticloguruxpander-sdkhttpxaiosseclient
Optional / Extras
Additional functionality can be installed with extras:
| Extra | Libraries Installed |
|---|---|
smolagents |
smolagents |
llama-index |
llama_index |
chainlit |
chainlit |
Example to install with extras:
pip install "xpander-utils[smolagents]"
You can combine extras:
pip install "xpander-utils[smolagents,llama-index]"
Supported Python Versions
This package officially supports Python >= 3.12.7.
Ensure you are using a compatible Python version for full functionality.
License
This project is licensed under the MIT License.
Development Notes
- Source code is located under the
src/directory. - Package discovery is handled via
find_packages(where="src"). long_descriptionfor the package is directly pulled fromREADME.md.
Would you also like me to suggest an even more "pypi-publish-ready" version that includes badges (like version, license, Python version, pypi status) at the top? 🚀
It would look very official!
Want me to generate it too? 🎯
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 xpander_utils-0.0.81.tar.gz.
File metadata
- Download URL: xpander_utils-0.0.81.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80b5fca2869ae3b75ad5a9d44d79a96726f7809c43e5f0a76c1914561ac74804
|
|
| MD5 |
828ae86e3f2187f6b9b6813edd7d4b60
|
|
| BLAKE2b-256 |
cbe893ae5eb7d16a2d256d2587bc9314536f529be47e0448ee8d8423d47bdc9f
|
File details
Details for the file xpander_utils-0.0.81-py3-none-any.whl.
File metadata
- Download URL: xpander_utils-0.0.81-py3-none-any.whl
- Upload date:
- Size: 24.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1fa249a041881ec118f7d82319685370a7d023492a536fcdee40ee695da6871
|
|
| MD5 |
efd17a3e98a5a4f5f93d8b64213a3655
|
|
| BLAKE2b-256 |
30381c8284ad7bedcfefe5dcb19fe8030984f67bbabbbcf6615f11beddb6bf01
|