Paper - Pytorch
Project description
Swarms Tools
Welcome to Swarms Tools, the ultimate package for integrating cutting-edge APIs into Python functions with seamless multi-agent system compatibility. Designed for enterprises at the forefront of innovation, Swarms Tools is your key to simplifying complexity and unlocking operational excellence.
๐ Features
- Unified API Integration: Ready-to-use Python functions for financial data, social media, IoT, and more.
- Enterprise-Grade Design: Comprehensive type hints, structured outputs, and robust documentation.
- Agent-Ready Framework: Optimized for seamless integration into Swarms' multi-agent orchestration systems.
- Expandable Architecture: Easily extend functionality with a standardized schema for new tools.
๐ง Installation
pip3 install -U swarms-tools
๐ Directory Structure
swarms-tools/
โโโ swarms_tools/
โ โโโ finance/
โ โ โโโ htx_tool.py
โ โ โโโ eodh_api.py
โ โ โโโ coingecko_tool.py
โ โโโ social_media/
โ โ โโโ telegram_tool.py
โ โโโ utilities/
โ โ โโโ logging.py
โโโ tests/
โ โโโ test_financial_data.py
โ โโโ test_social_media.py
โโโ README.md
๐ผ Use Cases
Finance
Explore our diverse range of financial tools, designed to streamline your operations. If you need a tool not listed, feel free to submit an issue or accelerate integration by contributing a pull request with your tool of choice.
| Tool Name | Function | Description |
|---|---|---|
fetch_stock_news |
fetch_stock_news |
Fetches the latest stock news and updates. |
fetch_htx_data |
fetch_htx_data |
Retrieves financial data from the HTX platform. |
yahoo_finance_api |
yahoo_finance_api |
Fetches comprehensive stock data from Yahoo Finance, including prices and trends. |
coin_gecko_coin_api |
coin_gecko_coin_api |
Fetches cryptocurrency data from CoinGecko, including market and price information. |
helius_api_tool |
helius_api_tool |
Retrieves blockchain account, transaction, or token data using the Helius API. |
okx_api_tool |
okx_api_tool |
Fetches detailed cryptocurrency data for coins from the OKX exchange. |
Financial Data Retrieval
Enable precise and actionable financial insights:
Example 1: Fetch Historical Data
from swarms_tools import fetch_htx_data
# Fetch historical trading data for "Swarms Corporation"
response = fetch_htx_data("swarms")
print(response)
Example 2: Stock News Analysis
from swarms_tools import fetch_stock_news
# Retrieve latest stock news for Apple
news = fetch_stock_news("AAPL")
print(news)
Example 3: Cryptocurrency Metrics
from swarms_tools import coin_gecko_coin_api
# Fetch live data for Bitcoin
crypto_data = coin_gecko_coin_api("bitcoin")
print(crypto_data)
Social Media Automation
Streamline communication and engagement:
Example: Telegram Bot Messaging
from swarms_tools import telegram_dm_or_tag_api
def send_alert(response: str):
telegram_dm_or_tag_api(response)
# Send a message to a user or group
send_alert("Mission-critical update from Swarms.")
Dex Screener
This is a tool that allows you to fetch data from the Dex Screener API. It supports multiple chains and multiple tokens.
from swarms_tools.finance.dex_screener import (
fetch_latest_token_boosts,
fetch_dex_screener_profiles,
)
fetch_dex_screener_profiles()
fetch_latest_token_boosts()
Structs
The tool chainer enables the execution of multiple tools in a sequence, allowing for the aggregation of their results in either a parallel or sequential manner.
# Example usage
from loguru import logger
from swarms_tools.structs import tool_chainer
if __name__ == "__main__":
logger.add("tool_chainer.log", rotation="500 MB", level="INFO")
# Example tools
def tool1():
return "Tool1 Result"
def tool2():
return "Tool2 Result"
# def tool3():
# raise ValueError("Simulated error in Tool3")
tools = [tool1, tool2]
# Parallel execution
parallel_results = tool_chainer(tools, parallel=True)
print("Parallel Results:", parallel_results)
# Sequential execution
# sequential_results = tool_chainer(tools, parallel=False)
# print("Sequential Results:", sequential_results)
๐งฉ Standardized Schema
Every tool in Swarms Tools adheres to a strict schema for maintainability and interoperability:
Schema Template
-
Functionality:
- Encapsulate API logic into a modular, reusable function.
-
Typing:
- Leverage Python type hints for input validation and clarity.
Example:
def fetch_data(symbol: str, date_range: str) -> str: """ Fetch financial data for a given symbol and date range. Args: symbol (str): Ticker symbol of the asset. date_range (str): Timeframe for the data (e.g., '1d', '1m', '1y'). Returns: dict: A dictionary containing financial metrics. """ pass
-
Documentation:
- Include detailed docstrings with parameter explanations and usage examples.
-
Output Standardization:
- Ensure consistent outputs (e.g., strings) for easy downstream agent integration.
-
API-Key Management:
- All API keys must be fetched with
os.getenv("YOUR_KEY")
- All API keys must be fetched with
๐ Documentation
Comprehensive documentation is available to guide developers and enterprises. Visit our official docs for detailed API references, usage examples, and best practices.
๐ Contributing
We welcome contributions from the global developer community. To contribute:
- Fork the Repository: Start by forking the repository.
- Create a Feature Branch: Use a descriptive branch name:
feature/add-new-tool. - Commit Your Changes: Write meaningful commit messages.
- Submit a Pull Request: Open a pull request for review.
๐ก๏ธ License
This project is licensed under the MIT License. See the LICENSE file for details.
๐ Join the Future
Explore the limitless possibilities of agent-based systems. Together, we can build a smarter, faster, and more interconnected world.
Visit us: Swarms Corporation
Follow us: Twitter
"The future belongs to those who dare to automate it."
โ The Swarms Corporation
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 swarms_tools-0.0.9.tar.gz.
File metadata
- Download URL: swarms_tools-0.0.9.tar.gz
- Upload date:
- Size: 31.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.8 Darwin/23.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1bd2f7b18c3f889766d7e78df13d10d5e4ae22284e1617598e0f0d0faf4b3131
|
|
| MD5 |
44701f2f96ea4735c4887bdf06c9b977
|
|
| BLAKE2b-256 |
a681535c3e774eb8dfb5237fb3c3c80d13326a1836ae140808c54a4d8d2f4968
|
File details
Details for the file swarms_tools-0.0.9-py3-none-any.whl.
File metadata
- Download URL: swarms_tools-0.0.9-py3-none-any.whl
- Upload date:
- Size: 39.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.8 Darwin/23.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b37411c9da5b0d4ad598aa36a40044ffcffc8632bc5881f60132dbd4c89e0d87
|
|
| MD5 |
c7bf96b17667c53a0a3ab51074cab89c
|
|
| BLAKE2b-256 |
6748d09e06b4abb7a4e34515be82afe5df24222fa522ed6a88b5d4aaa941ec35
|