diff --git a/libs/cli/langchain_cli/cli.py b/libs/cli/langchain_cli/cli.py index 4aecc23429c1b..9751a503851af 100644 --- a/libs/cli/langchain_cli/cli.py +++ b/libs/cli/langchain_cli/cli.py @@ -6,7 +6,7 @@ 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( diff --git a/libs/cli/langchain_cli/utils/events.py b/libs/cli/langchain_cli/utils/events.py index 61b258d01682a..bd7d8fdacc754 100644 --- a/libs/cli/langchain_cli/utils/events.py +++ b/libs/cli/langchain_cli/utils/events.py @@ -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"), - } - try: - urllib3.request( - "POST", - "https://app.firstpartyhq.com/events/v1/track", - body=json.dumps(data), - headers={"Content-Type": "application/json"}, - ) - except Exception: - pass - - -def create_events(events: List[EventDict]) -> None: - data = { - "events": [ - { - "write_key": WRITE_KEY, - "event": event["event"], - "properties": event.get("properties"), - } - for event in events - ] - } +def create_events(events: List[EventDict]) -> Optional[Any]: try: - urllib3.request( - "POST", - "https://app.firstpartyhq.com/events/v1/track/bulk", - body=json.dumps(data), - headers={"Content-Type": "application/json"}, - ) + data = { + "events": [ + { + "write_key": WRITE_KEY, + "name": event["event"], + "properties": event.get("properties"), + } + for event in events + ] + } + + conn = http.client.HTTPSConnection("app.firstpartyhq.com") + + 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 diff --git a/libs/cli/poetry.lock b/libs/cli/poetry.lock index b57a93982e4e9..a85ee68b5bdbc 100644 --- a/libs/cli/poetry.lock +++ b/libs/cli/poetry.lock @@ -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] diff --git a/libs/cli/pyproject.toml b/libs/cli/pyproject.toml index 56bbdd27a5b70..e92ddea0807d3 100644 --- a/libs/cli/pyproject.toml +++ b/libs/cli/pyproject.toml @@ -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 "] readme = "README.md" diff --git a/libs/cli/tests/test_events.py b/libs/cli/tests/test_events.py new file mode 100644 index 0000000000000..39fe84d3fa81e --- /dev/null +++ b/libs/cli/tests/test_events.py @@ -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"}