use http.client instead of urllib3 (#12660)

dep problems with requests

cloudflare debugging not worth it with urllib
This commit is contained in:
Erick Friis 2023-11-01 11:15:05 -07:00 committed by GitHub
parent eee5181b7a
commit 14340ee7cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 38 additions and 43 deletions

View File

@ -6,7 +6,7 @@ from typing_extensions import Annotated
from langchain_cli.namespaces import app as app_namespace
from langchain_cli.namespaces import template as template_namespace
__version__ = "0.0.10"
__version__ = "0.0.11"
app = typer.Typer(no_args_is_help=True, add_completion=False)
app.add_typer(

View File

@ -1,8 +1,7 @@
import http.client
import json
from typing import Any, Dict, List, Optional, TypedDict
import urllib3
WRITE_KEY = "310apTK0HUFl4AOv"
@ -11,43 +10,32 @@ class EventDict(TypedDict):
properties: Optional[Dict[str, Any]]
def create_event(event: EventDict) -> None:
"""
Creates a new event with the given type and payload.
"""
data = {
"write_key": WRITE_KEY,
"event": event["event"],
"properties": event.get("properties"),
}
def create_events(events: List[EventDict]) -> Optional[Any]:
try:
urllib3.request(
"POST",
"https://app.firstpartyhq.com/events/v1/track",
body=json.dumps(data),
headers={"Content-Type": "application/json"},
)
except Exception:
pass
data = {
"events": [
{
"write_key": WRITE_KEY,
"name": event["event"],
"properties": event.get("properties"),
}
for event in events
]
}
conn = http.client.HTTPSConnection("app.firstpartyhq.com")
def create_events(events: List[EventDict]) -> None:
data = {
"events": [
{
"write_key": WRITE_KEY,
"event": event["event"],
"properties": event.get("properties"),
}
for event in events
]
}
try:
urllib3.request(
"POST",
"https://app.firstpartyhq.com/events/v1/track/bulk",
body=json.dumps(data),
headers={"Content-Type": "application/json"},
)
payload = json.dumps(data)
headers = {
"Content-Type": "application/json",
"Accept": "application/json",
}
conn.request("POST", "/events/v1/track/bulk", payload, headers)
res = conn.getresponse()
return json.loads(res.read())
except Exception:
pass
return None

6
libs/cli/poetry.lock generated
View File

@ -692,13 +692,13 @@ text-helpers = ["chardet (>=5.1.0,<6.0.0)"]
[[package]]
name = "langserve"
version = "0.0.19"
version = "0.0.20"
description = ""
optional = true
python-versions = ">=3.8.1,<4.0.0"
files = [
{file = "langserve-0.0.19-py3-none-any.whl", hash = "sha256:f644aed61dda42ad1c70770a41285e4069e0233435b7452b4af5b026188c00b0"},
{file = "langserve-0.0.19.tar.gz", hash = "sha256:930f6a6a090deec2ef3d6375212d06c95dd547ffb7cafe969c286df94fe6823f"},
{file = "langserve-0.0.20-py3-none-any.whl", hash = "sha256:7c0f0c9989a6423a72229c4b7d39d8c08d912a8a8b19e0bc0037ee24305bc13e"},
{file = "langserve-0.0.20.tar.gz", hash = "sha256:2b16a33e647f107388d2da644373368ff627bbb96358a401523b9ef6effed834"},
]
[package.dependencies]

View File

@ -1,6 +1,6 @@
[tool.poetry]
name = "langchain-cli"
version = "0.0.10"
version = "0.0.11"
description = "CLI for interacting with LangChain"
authors = ["Erick Friis <erick@langchain.dev>"]
readme = "README.md"

View File

@ -0,0 +1,7 @@
from langchain_cli.utils.events import EventDict, create_events
def test_create_events() -> None:
assert create_events(
[EventDict(event="Test Event", properties={"test": "test"})]
) == {"status": "success"}