Twitter Langchain Toolkit
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
Twitter (X) Langchain Toolkit
Twitter integration with Langchain to enable agentic workflows using the core primitives defined in cdp-agentkit-core.
This toolkit contains tools that enable an LLM agent to interact with Twitter. The toolkit provides a wrapper around the Twitter (X) API, allowing agents to perform social operations like posting text.
Setup
Prerequisites
OpenAI
Twitter (X)
Python
- Python 3.10 or higher
Installation
pip install twitter-langchain
Environment Setup
Set the following environment variables:
export OPENAI_API_KEY=<your-openai-api-key>
export TWITTER_API_KEY=<your-api-key>
export TWITTER_API_SECRET=<your-api-secret>
export TWITTER_ACCESS_TOKEN=<your-access-token>
export TWITTER_ACCESS_TOKEN_SECRET=<your-access-token-secret>
export TWITTER_BEARER_TOKEN=<your-bearer-token>
Usage
Basic Setup
from twitter_langchain import (
TwitterApiWrapper,
TwitterToolkit
)
# Initialize TwitterApiwrapper
twitter_api_wrapper = TwitterApiWrapper()
# Create TwitterToolkit from the api wrapper
twitter_toolkit = TwitterToolkit.from_twitter_api_wrapper(twitter_api_wrapper)
View available tools:
tools = twitter_toolkit.get_tools()
for tool in tools:
print(tool.name)
Available Tools
The toolkit provides the following tools:
- account_details - Get the authenticated account details
- account_mentions - Get mentions for the account
- post_tweet - Post a tweet to the account
- post_tweet_reply - Post a reply to a tweet on Twitter
Using with an Agent
import uuid
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
from langgraph.prebuilt import create_react_agent
llm = ChatOpenAI(model="gpt-4o-mini")
# Create agent
agent_executor = create_react_agent(llm, tools)
# Example - post tweet
events = agent_executor.stream(
{
"messages": [
HumanMessage(content=f"Please post 'hello, world! {uuid.uuid4().hex}' to twitter"),
],
},
stream_mode="values",
)
for event in events:
event["messages"][-1].pretty_print()
Expected output:
================================ Human Message =================================
Please post 'hello, world! c4b8e3744c2e4345be9e0622b4c0a8aa' to twitter
================================== Ai Message ==================================
Tool Calls:
post_tweet (call_xVx4BMCSlCmCcbEQG1yyebbq)
Call ID: call_xVx4BMCSlCmCcbEQG1yyebbq
Args:
tweet: hello, world! c4b8e3744c2e4345be9e0622b4c0a8aa
================================= Tool Message =================================
Name: post_tweet
Successfully posted!
================================== Ai Message ==================================
The message "hello, world! c4b8e3744c2e4345be9e0622b4c0a8aa" has been successfully posted to Twitter!
Examples
Check out twitter-langchain/examples for inspiration and help getting started!
- Chatbot Python: Simple example of a Python Chatbot that can interact on Twitter (X), using OpenAI.
Contributing
See CONTRIBUTING.md for detailed setup instructions and contribution guidelines.
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 twitter_langchain-0.0.9.tar.gz.
File metadata
- Download URL: twitter_langchain-0.0.9.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
115d1119ae6019cf7f1eca9fa0e509768fea6a5095305c3b93214353ebf6fd76
|
|
| MD5 |
5e5be8d9c6c5bd6d9ec2863ff7d74cd9
|
|
| BLAKE2b-256 |
5327911f2c257a93d92752bcfc2af7dca947711043cccd26bdcf1e71bbf09938
|
File details
Details for the file twitter_langchain-0.0.9-py3-none-any.whl.
File metadata
- Download URL: twitter_langchain-0.0.9-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38bca397b877e41e4e472662c2e051798b4888e21f96207f5ad5101dc450cfd7
|
|
| MD5 |
f8f228f5451a735d59ba461bc534b552
|
|
| BLAKE2b-256 |
e048b88052227eb629693bfab99074d05a66474721a33ceb04bd65ab328511b9
|