Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-posthog for openSUSE:Factory 
checked in at 2026-02-20 17:44:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-posthog (Old)
 and      /work/SRC/openSUSE:Factory/.python-posthog.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-posthog"

Fri Feb 20 17:44:11 2026 rev:4 rq:1334091 version:7.9.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-posthog/python-posthog.changes    
2024-10-09 22:13:06.478656668 +0200
+++ /work/SRC/openSUSE:Factory/.python-posthog.new.1977/python-posthog.changes  
2026-02-20 17:52:34.544413931 +0100
@@ -1,0 +2,67 @@
+Fri Feb 20 01:13:24 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Update to 7.9.3:
+  * fix(llma): make prompt fetches deterministic by requiring project_api_key
+    and sending it as token query param
+  * feat: Support device_id as bucketing identifier for local evaluation
+  * fix: limit collections scanning in code variables
+  * fix: openAI input image sanitization
+  * fix: avoid return from finally block to fix Python 3.14 SyntaxWarning
+  * feat: Add automatic retries for feature flag requests
+  * Add support for the async version of Gemini.
+  * Add support for Python 3.14. Python 3.9 is no longer supported.
+  * feat(llma): send web search calls to be used for LLM cost calculations
+  * fix(django): Handle request.user access in async middleware context to
+    prevent SynchronousOnlyOperation errors in Django 5+
+  * fix(django): Restore process_exception method to capture view and
+    downstream middleware exceptions
+  * feat: Django middleware now supports async request handling.
+  * feat: Add support for feature flag dependencies
+  * fix: correctly capture exceptions processed by Django from views or
+    middleware
+  * feat: add a feature flag evaluation cache (local storage or redis)
+  * feat: Add `setup()` function to initialise default client
+  * Add context management.
+  * Add support for google gemini
+  * Moved ai openai package to a composition approach over inheritance.
+  * Remove deprecated monotonic library.
+  * Added new method get_feature_flag_result.
+  * Roll out new `/flags` endpoint to 100% of `/decide` traffic.
+  * Fix hash inclusion/exclusion for flag rollout
+  * Roll out new /flags endpoint to 10% of /decide traffic
+  * Add `log_captured_exceptions` option to proxy setup
+  * Add config option to `log_captured_exceptions`
+  * Add more information to `$feature_flag_called` events.
+  * Support serializing dataclasses.
+  * Add support for tool calls in OpenAI and Anthropic.
+  * Improve quota-limited feature flag logs
+  * Add support for Azure OpenAI.
+  * The LangChain handler now captures tools in `$ai_generation` events, in
+    property `$ai_tools`.
+  * Fix async client support for OpenAI.
+  * Support quota-limited feature flags
+  * Evaluate feature flag payloads with case sensitivity correctly.
+  * Add support for Bedrock Anthropic Usage
+  * Automatically retry connection errors
+  * Add support for OpenAI beta parse API.
+  * Fix LangChain callback handler to capture parent run ID.
+  * Add the `$ai_span` event to the LangChain callback handler to capture the
+    input and output of intermediary chains.
+  * Fix serialiazation of Pydantic models in methods.
+  * Add `$ai_error` and `$ai_is_error` properties to LangChain callback
+    handler, OpenAI, and Anthropic.
+  * Fix capturing of multiple traces in the LangChain callback handler.
+  * Fix importing of LangChain callback handler under certain circumstances.
+  * Add `$ai_trace` event emission to LangChain callback handler.
+  * Add LLM Observability with support for OpenAI and Langchain callbacks.
+  * Adds a new `super_properties` parameter on the client that are appended
+    to every /capture call.
+  * Fix manual capture support for in app frames
+  * Fix django integration support for manual exception capture.
+- Drop patches:
+  * python-posthog-no-mock.patch
+  * python-posthog-no-six.patch
+  * no-more-monotonic.patch
+- Add patch remove-mock-and-six.patch, which is the first two dropped patches.
+
+-------------------------------------------------------------------

Old:
----
  no-more-monotonic.patch
  posthog-3.6.0.tar.gz
  python-posthog-no-mock.patch
  python-posthog-no-six.patch

New:
----
  posthog-7.9.3.tar.gz
  remove-mock-and-six.patch

----------(Old B)----------
  Old:  * python-posthog-no-six.patch
  * no-more-monotonic.patch
- Add patch remove-mock-and-six.patch, which is the first two dropped patches.
  Old:- Drop patches:
  * python-posthog-no-mock.patch
  * python-posthog-no-six.patch
  Old:  * python-posthog-no-mock.patch
  * python-posthog-no-six.patch
  * no-more-monotonic.patch
----------(Old E)----------

----------(New B)----------
  New:  * no-more-monotonic.patch
- Add patch remove-mock-and-six.patch, which is the first two dropped patches.
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-posthog.spec ++++++
--- /var/tmp/diff_new_pack.gM0wZ9/_old  2026-02-20 17:52:35.600458170 +0100
+++ /var/tmp/diff_new_pack.gM0wZ9/_new  2026-02-20 17:52:35.604458337 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-posthog
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,15 +18,14 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-posthog
-Version:        3.6.0
+Version:        7.9.3
 Release:        0
 Summary:        PostHog is developer-friendly, self-hosted product analytics
 License:        MIT
 URL:            https://github.com/posthog/posthog-python
 Source:         
https://files.pythonhosted.org/packages/source/p/posthog/posthog-%{version}.tar.gz
-Patch1:         python-posthog-no-mock.patch
-Patch2:         python-posthog-no-six.patch
-Patch3:         no-more-monotonic.patch
+# PATCH-FIX-UPSTREAM Based on gh#PostHog/posthog-python#442
+Patch0:         remove-mock-and-six.patch
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module wheel}
@@ -34,15 +33,22 @@
 # SECTION test requirements
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module backoff >= 1.10.0}
+BuildRequires:  %{python_module distro >= 1.5}
 BuildRequires:  %{python_module freezegun}
+BuildRequires:  %{python_module parameterized >= 0.8.1}
+BuildRequires:  %{python_module pydantic}
 BuildRequires:  %{python_module pytest-timeout}
+BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module python-dateutil > 2.1}
 BuildRequires:  %{python_module requests >= 2.7}
+BuildRequires:  %{python_module typing_extensions >= 4.2}
 # /SECTION
 BuildRequires:  fdupes
 Requires:       python-backoff >= 1.10.0
-Requires:       python-python-dateutil > 2.1
+Requires:       python-distro >= 1.5
+Requires:       python-python-dateutil > 2.2
 Requires:       python-requests >= 2.7
+Requires:       python-typing_extensions >= 4.2
 Suggests:       python-black
 Suggests:       python-isort
 Suggests:       python-flake8

++++++ posthog-3.6.0.tar.gz -> posthog-7.9.3.tar.gz ++++++
++++ 31335 lines of diff (skipped)

++++++ remove-mock-and-six.patch ++++++
>From a41965e2be0f6187c98b3725c45d3acae94f506f Mon Sep 17 00:00:00 2001
From: Steve Kowalik <[email protected]>
Date: Thu, 19 Feb 2026 16:39:03 +1100
Subject: [PATCH] chore: remove use of six and mock

mock has been in the standard library since Python 3.3, and six stopped
being required when Python 2 support was dropped, so remove both of
them.
---
 integration_tests/django5/uv.lock        | 21 ++++++--------
 posthog/client.py                        |  3 +-
 posthog/test/test_before_send.py         |  3 +-
 posthog/test/test_client.py              |  5 ++--
 posthog/test/test_consumer.py            |  2 +-
 posthog/test/test_feature_flag_result.py |  3 +-
 posthog/test/test_feature_flags.py       |  2 +-
 posthog/test/test_request.py             |  2 +-
 posthog/test/test_utils.py               |  3 +-
 posthog/utils.py                         |  7 ++---
 pyproject.toml                           |  4 ---
 uv.lock                                  | 35 ------------------------
 12 files changed, 19 insertions(+), 71 deletions(-)

Index: posthog-7.9.3/posthog/client.py
===================================================================
--- posthog-7.9.3.orig/posthog/client.py
+++ posthog-7.9.3/posthog/client.py
@@ -8,7 +8,6 @@ from typing import Any, Dict, Optional,
 from uuid import uuid4
 
 from dateutil.tz import tzutc
-from six import string_types
 from typing_extensions import Unpack
 
 from posthog.args import ID_TYPES, ExceptionArg, OptionalCaptureArgs, 
OptionalSetArgs
@@ -2339,6 +2338,6 @@ class Client(object):
 def stringify_id(val):
     if val is None:
         return None
-    if isinstance(val, string_types):
+    if isinstance(val, str):
         return val
     return str(val)
Index: posthog-7.9.3/posthog/test/test_before_send.py
===================================================================
--- posthog-7.9.3.orig/posthog/test/test_before_send.py
+++ posthog-7.9.3/posthog/test/test_before_send.py
@@ -1,6 +1,5 @@
 import unittest
-
-import mock
+from unittest import mock
 
 from posthog.client import Client
 from posthog.test.test_utils import FAKE_TEST_API_KEY
Index: posthog-7.9.3/posthog/test/test_client.py
===================================================================
--- posthog-7.9.3.orig/posthog/test/test_client.py
+++ posthog-7.9.3/posthog/test/test_client.py
@@ -3,8 +3,7 @@ import unittest
 from datetime import datetime
 from uuid import uuid4
 
-import mock
-import six
+from unittest import mock
 from parameterized import parameterized
 
 from posthog.client import Client
@@ -1728,7 +1727,7 @@ class TestClient(unittest.TestCase):
         self.assertIsNone(msg_uuid)
 
     def test_unicode(self):
-        Client(six.u("unicode_key"))
+        Client("unicode_key")
 
     def test_numeric_distinct_id(self):
         self.client.capture("python event", distinct_id=1234)
Index: posthog-7.9.3/posthog/test/test_consumer.py
===================================================================
--- posthog-7.9.3.orig/posthog/test/test_consumer.py
+++ posthog-7.9.3/posthog/test/test_consumer.py
@@ -3,7 +3,7 @@ import time
 import unittest
 from typing import Any
 
-import mock
+from unittest import mock
 from parameterized import parameterized
 
 try:
Index: posthog-7.9.3/posthog/test/test_feature_flag_result.py
===================================================================
--- posthog-7.9.3.orig/posthog/test/test_feature_flag_result.py
+++ posthog-7.9.3/posthog/test/test_feature_flag_result.py
@@ -1,6 +1,5 @@
 import unittest
-
-import mock
+from unittest import mock
 
 from posthog.client import Client
 from posthog.test.test_utils import FAKE_TEST_API_KEY
Index: posthog-7.9.3/posthog/test/test_feature_flags.py
===================================================================
--- posthog-7.9.3.orig/posthog/test/test_feature_flags.py
+++ posthog-7.9.3/posthog/test/test_feature_flags.py
@@ -1,7 +1,7 @@
 import datetime
 import unittest
 
-import mock
+from unittest import mock
 from dateutil import parser, tz
 from freezegun import freeze_time
 
Index: posthog-7.9.3/posthog/test/test_request.py
===================================================================
--- posthog-7.9.3.orig/posthog/test/test_request.py
+++ posthog-7.9.3/posthog/test/test_request.py
@@ -1,8 +1,8 @@
 import json
 import unittest
 from datetime import date, datetime
+from unittest import mock
 
-import mock
 import pytest
 import requests
 
Index: posthog-7.9.3/posthog/test/test_utils.py
===================================================================
--- posthog-7.9.3.orig/posthog/test/test_utils.py
+++ posthog-7.9.3/posthog/test/test_utils.py
@@ -7,7 +7,6 @@ from decimal import Decimal
 from typing import Optional
 from uuid import UUID
 
-import six
 from dateutil.tz import tzutc
 from parameterized import parameterized
 from pydantic import BaseModel
@@ -48,7 +47,7 @@ class TestUtils(unittest.TestCase):
     def test_clean(self):
         simple = {
             "decimal": Decimal("0.142857"),
-            "unicode": six.u("woo"),
+            "unicode": "woo",
             "date": datetime.now(),
             "long": 200000000,
             "integer": 1,
Index: posthog-7.9.3/posthog/utils.py
===================================================================
--- posthog-7.9.3.orig/posthog/utils.py
+++ posthog-7.9.3/posthog/utils.py
@@ -13,7 +13,6 @@ import sys
 import platform
 import distro  # For Linux OS detection
 
-import six
 from dateutil.tz import tzlocal, tzutc
 
 log = logging.getLogger("posthog")
@@ -58,9 +57,7 @@ def clean(item):
         return float(item)
     if isinstance(item, UUID):
         return str(item)
-    if isinstance(
-        item, (six.string_types, bool, numbers.Number, datetime, date, 
type(None))
-    ):
+    if isinstance(item, (str, bool, numbers.Number, datetime, date, 
type(None))):
         return item
     if isinstance(item, (set, list, tuple)):
         return _clean_list(item)
@@ -88,7 +85,7 @@ def _clean_list(list_):
 
 def _clean_dict(dict_):
     data = {}
-    for k, v in six.iteritems(dict_):
+    for k, v in dict_.items():
         try:
             data[k] = clean(v)
         except TypeError:
Index: posthog-7.9.3/pyproject.toml
===================================================================
--- posthog-7.9.3.orig/pyproject.toml
+++ posthog-7.9.3/pyproject.toml
@@ -25,7 +25,6 @@ classifiers = [
 ]
 dependencies = [
     "requests>=2.7,<3.0",
-    "six>=1.5",
     "python-dateutil>=2.2",
     "backoff>=1.10.0",
     "distro>=1.5.0",
@@ -43,11 +42,9 @@ dev = [
     "lxml",
     "mypy",
     "mypy-baseline",
-    "types-mock",
     "types-python-dateutil",
     "types-requests",
     "types-setuptools",
-    "types-six",
     "pre-commit",
     "pydantic",
     "ruff",
@@ -59,7 +56,6 @@ dev = [
     "tomli_w",
 ]
 test = [
-    "mock>=2.0.0",
     "freezegun==1.5.1",
     "coverage",
     "pytest",

Reply via email to