File remove-mock-and-six.patch of Package python-posthog

From a41965e2be0f6187c98b3725c45d3acae94f506f Mon Sep 17 00:00:00 2001
From: Steve Kowalik <steven@wedontsleep.org>
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",
openSUSE Build Service is sponsored by