Clean up notebook merge request
This commit is contained in:
parent
7c015e525d
commit
e0e93ae379
4 changed files with 53 additions and 107 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -5,7 +5,7 @@
|
|||
cognee/.data/
|
||||
|
||||
*.lance/
|
||||
|
||||
.DS_Store
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
|
|
|
|||
90
poetry.lock
generated
90
poetry.lock
generated
|
|
@ -1,4 +1,4 @@
|
|||
# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
|
||||
# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand.
|
||||
|
||||
[[package]]
|
||||
name = "aiofiles"
|
||||
|
|
@ -3215,6 +3215,54 @@ docs = ["mkdocs", "mkdocs-jupyter", "mkdocs-material", "mkdocstrings[python]"]
|
|||
embeddings = ["awscli (>=1.29.57)", "boto3 (>=1.28.57)", "botocore (>=1.31.57)", "cohere", "google-generativeai", "huggingface-hub", "ibm-watsonx-ai (>=1.1.2)", "instructorembedding", "ollama", "open-clip-torch", "openai (>=1.6.1)", "pillow", "sentence-transformers", "torch"]
|
||||
tests = ["aiohttp", "boto3", "duckdb", "pandas (>=1.4)", "polars (>=0.19,<=1.3.0)", "pytest", "pytest-asyncio", "pytest-mock", "pytz", "tantivy"]
|
||||
|
||||
[[package]]
|
||||
name = "langchain-core"
|
||||
version = "0.3.15"
|
||||
description = "Building applications with LLMs through composability"
|
||||
optional = false
|
||||
python-versions = "<4.0,>=3.9"
|
||||
files = [
|
||||
{file = "langchain_core-0.3.15-py3-none-any.whl", hash = "sha256:3d4ca6dbb8ed396a6ee061063832a2451b0ce8c345570f7b086ffa7288e4fa29"},
|
||||
{file = "langchain_core-0.3.15.tar.gz", hash = "sha256:b1a29787a4ffb7ec2103b4e97d435287201da7809b369740dd1e32f176325aba"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
jsonpatch = ">=1.33,<2.0"
|
||||
langsmith = ">=0.1.125,<0.2.0"
|
||||
packaging = ">=23.2,<25"
|
||||
pydantic = {version = ">=2.5.2,<3.0.0", markers = "python_full_version < \"3.12.4\""}
|
||||
PyYAML = ">=5.3"
|
||||
tenacity = ">=8.1.0,<8.4.0 || >8.4.0,<10.0.0"
|
||||
typing-extensions = ">=4.7"
|
||||
|
||||
[[package]]
|
||||
name = "langchain-text-splitters"
|
||||
version = "0.3.2"
|
||||
description = "LangChain text splitting utilities"
|
||||
optional = false
|
||||
python-versions = "<4.0,>=3.9"
|
||||
files = [
|
||||
{file = "langchain_text_splitters-0.3.2-py3-none-any.whl", hash = "sha256:0db28c53f41d1bc024cdb3b1646741f6d46d5371e90f31e7e7c9fbe75d01c726"},
|
||||
{file = "langchain_text_splitters-0.3.2.tar.gz", hash = "sha256:81e6515d9901d6dd8e35fb31ccd4f30f76d44b771890c789dc835ef9f16204df"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
langchain-core = ">=0.3.15,<0.4.0"
|
||||
|
||||
[[package]]
|
||||
name = "langdetect"
|
||||
version = "1.0.9"
|
||||
description = "Language detection library ported from Google's language-detection."
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
files = [
|
||||
{file = "langdetect-1.0.9-py2-none-any.whl", hash = "sha256:7cbc0746252f19e76f77c0b1690aadf01963be835ef0cd4b56dddf2a8f1dfc2a"},
|
||||
{file = "langdetect-1.0.9.tar.gz", hash = "sha256:cbc1fef89f8d062739774bd51eda3da3274006b3661d199c2655f6b3f6d605a0"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
six = "*"
|
||||
|
||||
[[package]]
|
||||
name = "langfuse"
|
||||
version = "2.53.9"
|
||||
|
|
@ -3681,24 +3729,6 @@ htmlmin2 = ">=0.1.13"
|
|||
jsmin = ">=3.0.1"
|
||||
mkdocs = ">=1.4.1"
|
||||
|
||||
[[package]]
|
||||
name = "mkdocs-redirects"
|
||||
version = "1.2.1"
|
||||
description = "A MkDocs plugin for dynamic page redirects to prevent broken links."
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
files = [
|
||||
{file = "mkdocs-redirects-1.2.1.tar.gz", hash = "sha256:9420066d70e2a6bb357adf86e67023dcdca1857f97f07c7fe450f8f1fb42f861"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
mkdocs = ">=1.1.1"
|
||||
|
||||
[package.extras]
|
||||
dev = ["autoflake", "black", "isort", "pytest", "twine (>=1.13.0)"]
|
||||
release = ["twine (>=1.13.0)"]
|
||||
test = ["autoflake", "black", "isort", "pytest"]
|
||||
|
||||
[[package]]
|
||||
name = "mkdocstrings"
|
||||
version = "0.26.2"
|
||||
|
|
@ -5035,8 +5065,8 @@ argon2-cffi = {version = ">=23.1.0,<24", optional = true, markers = "extra == \"
|
|||
bcrypt = {version = ">=4.1.2,<5", optional = true, markers = "extra == \"bcrypt\""}
|
||||
|
||||
[package.extras]
|
||||
argon2 = ["argon2-cffi (==23.1.0)"]
|
||||
bcrypt = ["bcrypt (==4.1.2)"]
|
||||
argon2 = ["argon2-cffi (>=23.1.0,<24)"]
|
||||
bcrypt = ["bcrypt (>=4.1.2,<5)"]
|
||||
|
||||
[[package]]
|
||||
name = "pyarrow"
|
||||
|
|
@ -5769,24 +5799,6 @@ async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\
|
|||
hiredis = ["hiredis (>=3.0.0)"]
|
||||
ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==23.2.1)", "requests (>=2.31.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "redis"
|
||||
version = "5.1.1"
|
||||
description = "Python client for Redis database and key-value store"
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "redis-5.1.1-py3-none-any.whl", hash = "sha256:f8ea06b7482a668c6475ae202ed8d9bcaa409f6e87fb77ed1043d912afd62e24"},
|
||||
{file = "redis-5.1.1.tar.gz", hash = "sha256:f6c997521fedbae53387307c5d0bf784d9acc28d9f1d058abeac566ec4dbed72"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""}
|
||||
|
||||
[package.extras]
|
||||
hiredis = ["hiredis (>=3.0.0)"]
|
||||
ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==23.2.1)", "requests (>=2.31.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "referencing"
|
||||
version = "0.35.1"
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ langsmith = "0.1.139"
|
|||
langdetect = "1.0.9"
|
||||
posthog = "^3.5.0"
|
||||
lancedb = "0.15.0"
|
||||
litellm = "1.38.10"
|
||||
litellm = "1.49.1"
|
||||
groq = "0.8.0"
|
||||
langfuse = "^2.32.0"
|
||||
pydantic-settings = "^2.2.1"
|
||||
|
|
|
|||
|
|
@ -1,66 +0,0 @@
|
|||
import tweepy
|
||||
import requests
|
||||
import json
|
||||
from datetime import datetime, timezone
|
||||
|
||||
# Twitter API credentials from GitHub Secrets
|
||||
API_KEY = '${{ secrets.TWITTER_API_KEY }}'
|
||||
API_SECRET = '${{ secrets.TWITTER_API_SECRET }}'
|
||||
ACCESS_TOKEN = '${{ secrets.TWITTER_ACCESS_TOKEN }}'
|
||||
ACCESS_SECRET = '${{ secrets.TWITTER_ACCESS_SECRET }}'
|
||||
USERNAME = '${{ secrets.TWITTER_USERNAME }}'
|
||||
SEGMENT_WRITE_KEY = '${{ secrets.SEGMENT_WRITE_KEY }}'
|
||||
|
||||
# Initialize Tweepy API
|
||||
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
|
||||
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
|
||||
twitter_api = tweepy.API(auth)
|
||||
|
||||
# Segment endpoint
|
||||
SEGMENT_ENDPOINT = 'https://api.segment.io/v1/track'
|
||||
|
||||
|
||||
def get_follower_count(username):
|
||||
try:
|
||||
user = twitter_api.get_user(screen_name=username)
|
||||
return user.followers_count
|
||||
except tweepy.TweepError as e:
|
||||
print(f'Error fetching follower count: {e}')
|
||||
return None
|
||||
|
||||
|
||||
def send_data_to_segment(username, follower_count):
|
||||
current_time = datetime.now(timezone.utc).isoformat()
|
||||
|
||||
data = {
|
||||
'userId': username,
|
||||
'event': 'Follower Count Update',
|
||||
'properties': {
|
||||
'username': username,
|
||||
'follower_count': follower_count,
|
||||
'timestamp': current_time
|
||||
},
|
||||
'timestamp': current_time
|
||||
}
|
||||
|
||||
headers = {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': f'Basic {SEGMENT_WRITE_KEY.encode("utf-8").decode("utf-8")}'
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post(SEGMENT_ENDPOINT, headers=headers, data=json.dumps(data))
|
||||
|
||||
if response.status_code == 200:
|
||||
print(f'Successfully sent data to Segment for {username}')
|
||||
else:
|
||||
print(f'Failed to send data to Segment. Status code: {response.status_code}, Response: {response.text}')
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f'Error sending data to Segment: {e}')
|
||||
|
||||
|
||||
follower_count = get_follower_count(USERNAME)
|
||||
if follower_count is not None:
|
||||
send_data_to_segment(USERNAME, follower_count)
|
||||
else:
|
||||
print('Failed to retrieve follower count.')
|
||||
Loading…
Add table
Reference in a new issue