posthoganalytics 6.3.0__tar.gz → 6.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. {posthoganalytics-6.3.0/posthoganalytics.egg-info → posthoganalytics-6.3.1}/PKG-INFO +1 -1
  2. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/langchain/callbacks.py +29 -1
  3. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/version.py +1 -1
  4. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1/posthoganalytics.egg-info}/PKG-INFO +1 -1
  5. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/LICENSE +0 -0
  6. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/MANIFEST.in +0 -0
  7. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/README.md +0 -0
  8. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/__init__.py +0 -0
  9. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/__init__.py +0 -0
  10. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/anthropic/__init__.py +0 -0
  11. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/anthropic/anthropic.py +0 -0
  12. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/anthropic/anthropic_async.py +0 -0
  13. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/anthropic/anthropic_providers.py +0 -0
  14. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/gemini/__init__.py +0 -0
  15. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/gemini/gemini.py +0 -0
  16. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/langchain/__init__.py +0 -0
  17. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/openai/__init__.py +0 -0
  18. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/openai/openai.py +0 -0
  19. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/openai/openai_async.py +0 -0
  20. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/openai/openai_providers.py +0 -0
  21. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/ai/utils.py +0 -0
  22. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/args.py +0 -0
  23. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/client.py +0 -0
  24. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/consumer.py +0 -0
  25. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/contexts.py +0 -0
  26. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/exception_capture.py +0 -0
  27. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/exception_utils.py +0 -0
  28. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/feature_flags.py +0 -0
  29. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/integrations/__init__.py +0 -0
  30. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/integrations/django.py +0 -0
  31. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/poller.py +0 -0
  32. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/py.typed +0 -0
  33. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/request.py +0 -0
  34. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/__init__.py +0 -0
  35. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_before_send.py +0 -0
  36. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_client.py +0 -0
  37. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_consumer.py +0 -0
  38. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_contexts.py +0 -0
  39. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_exception_capture.py +0 -0
  40. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_feature_flag.py +0 -0
  41. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_feature_flag_result.py +0 -0
  42. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_feature_flags.py +0 -0
  43. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_module.py +0 -0
  44. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_request.py +0 -0
  45. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_size_limited_dict.py +0 -0
  46. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_types.py +0 -0
  47. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/test/test_utils.py +0 -0
  48. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/types.py +0 -0
  49. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics/utils.py +0 -0
  50. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics.egg-info/SOURCES.txt +0 -0
  51. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics.egg-info/dependency_links.txt +0 -0
  52. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics.egg-info/requires.txt +0 -0
  53. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/posthoganalytics.egg-info/top_level.txt +0 -0
  54. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/pyproject.toml +0 -0
  55. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/setup.cfg +0 -0
  56. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/setup.py +0 -0
  57. {posthoganalytics-6.3.0 → posthoganalytics-6.3.1}/setup_analytics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: posthoganalytics
3
- Version: 6.3.0
3
+ Version: 6.3.1
4
4
  Summary: Integrate PostHog into any python application.
5
5
  Home-page: https://github.com/posthog/posthog-python
6
6
  Author: Posthog
@@ -5,6 +5,7 @@ except ImportError:
5
5
  "Please install LangChain to use this feature: 'pip install langchain'"
6
6
  )
7
7
 
8
+ import json
8
9
  import logging
9
10
  import time
10
11
  from dataclasses import dataclass
@@ -29,6 +30,7 @@ from langchain_core.messages import (
29
30
  HumanMessage,
30
31
  SystemMessage,
31
32
  ToolMessage,
33
+ ToolCall,
32
34
  )
33
35
  from langchain_core.outputs import ChatGeneration, LLMResult
34
36
  from pydantic import BaseModel
@@ -629,12 +631,35 @@ def _extract_raw_esponse(last_response):
629
631
  return ""
630
632
 
631
633
 
632
- def _convert_message_to_dict(message: BaseMessage) -> Dict[str, Any]:
634
+ def _convert_lc_tool_calls_to_oai(
635
+ tool_calls: list[ToolCall],
636
+ ) -> list[dict[str, Any]]:
637
+ try:
638
+ return [
639
+ {
640
+ "type": "function",
641
+ "id": tool_call["id"],
642
+ "function": {
643
+ "name": tool_call["name"],
644
+ "arguments": json.dumps(tool_call["args"]),
645
+ },
646
+ }
647
+ for tool_call in tool_calls
648
+ ]
649
+ except KeyError:
650
+ return tool_calls
651
+
652
+
653
+ def _convert_message_to_dict(message: BaseMessage) -> dict[str, Any]:
633
654
  # assistant message
634
655
  if isinstance(message, HumanMessage):
635
656
  message_dict = {"role": "user", "content": message.content}
636
657
  elif isinstance(message, AIMessage):
637
658
  message_dict = {"role": "assistant", "content": message.content}
659
+ if message.tool_calls:
660
+ message_dict["tool_calls"] = _convert_lc_tool_calls_to_oai(
661
+ message.tool_calls
662
+ )
638
663
  elif isinstance(message, SystemMessage):
639
664
  message_dict = {"role": "system", "content": message.content}
640
665
  elif isinstance(message, ToolMessage):
@@ -647,6 +672,9 @@ def _convert_message_to_dict(message: BaseMessage) -> Dict[str, Any]:
647
672
  if message.additional_kwargs:
648
673
  message_dict.update(message.additional_kwargs)
649
674
 
675
+ if "content" in message_dict and not message_dict["content"]:
676
+ message_dict["content"] = ""
677
+
650
678
  return message_dict
651
679
 
652
680
 
@@ -1,4 +1,4 @@
1
- VERSION = "6.3.0"
1
+ VERSION = "6.3.1"
2
2
 
3
3
  if __name__ == "__main__":
4
4
  print(VERSION, end="") # noqa: T201
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: posthoganalytics
3
- Version: 6.3.0
3
+ Version: 6.3.1
4
4
  Summary: Integrate PostHog into any python application.
5
5
  Home-page: https://github.com/posthog/posthog-python
6
6
  Author: Posthog