logtail-python 0.3.0__py2.py3-none-any.whl → 0.3.2__py2.py3-none-any.whl

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.
logtail/__init__.py CHANGED
@@ -5,6 +5,6 @@ from .handler import LogtailHandler
5
5
  from .helpers import LogtailContext, DEFAULT_CONTEXT
6
6
  from .formatter import LogtailFormatter
7
7
 
8
- __version__ = '0.3.0'
8
+ __version__ = '0.3.2'
9
9
 
10
10
  context = DEFAULT_CONTEXT
logtail/frame.py CHANGED
@@ -60,17 +60,28 @@ def _parse_custom_events(record, include_extra_attributes):
60
60
  def _remove_circular_dependencies(obj, memo=None):
61
61
  if memo is None:
62
62
  memo = set()
63
- if id(obj) in memo:
63
+
64
+ # Skip immutable types, which can't contain circular dependencies
65
+ if isinstance(obj, (str, int, float, bool, type(None))):
66
+ return obj
67
+
68
+ # For mutable objects, check for circular references
69
+ obj_id = id(obj)
70
+ if obj_id in memo:
64
71
  return "<omitted circular reference>"
65
- memo.add(id(obj))
72
+ memo.add(obj_id)
73
+
66
74
  if isinstance(obj, dict):
67
75
  new_dict = {}
68
76
  for key, value in obj.items():
69
- new_dict[key] = _remove_circular_dependencies(value, memo)
77
+ new_dict[key] = _remove_circular_dependencies(value, memo.copy())
70
78
  return new_dict
71
79
  elif isinstance(obj, list):
72
- new_list = [_remove_circular_dependencies(item, memo) for item in obj]
73
- return new_list
80
+ return [_remove_circular_dependencies(item, memo.copy()) for item in obj]
81
+ elif isinstance(obj, tuple):
82
+ return tuple(_remove_circular_dependencies(item, memo.copy()) for item in obj)
83
+ elif isinstance(obj, set):
84
+ return {_remove_circular_dependencies(item, memo.copy()) for item in obj}
74
85
  else:
75
86
  return obj
76
87
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: logtail-python
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: Logtail.com client library
5
5
  Home-page: https://github.com/logtail/logtail-python
6
- Download-URL: https://github.com/logtail/logtail-python/tarball/0.3.0
6
+ Download-URL: https://github.com/logtail/logtail-python/tarball/0.3.2
7
7
  Author: Logtail
8
8
  Author-email: hello@logtail.com
9
9
  License: ISC
@@ -21,8 +21,8 @@ Classifier: Programming Language :: Python
21
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE.md
24
- Requires-Dist: requests >=2.18.4
25
- Requires-Dist: msgpack >=0.5.6
24
+ Requires-Dist: requests>=2.18.4
25
+ Requires-Dist: msgpack>=0.5.6
26
26
 
27
27
  # [Better Stack](https://betterstack.com/logs) Python client
28
28
 
@@ -1,13 +1,13 @@
1
- logtail/__init__.py,sha256=LAwFKiVnk3vYJD53wCf8Y1izkDu_i5QPPtdh2sXichc,252
1
+ logtail/__init__.py,sha256=mW9hgF_57c5C9EU8XI5m86EQN-pRrMLEAn5MtxiW2q0,252
2
2
  logtail/compat.py,sha256=KbZmcmDpj_vbMotp16pADPwJ1FkEHGDNjKbOfCy-c10,141
3
3
  logtail/flusher.py,sha256=5P9MY6wn8H2rF72DEEtN6X5NTpxCZXFvmMzoUj3QcsE,3749
4
4
  logtail/formatter.py,sha256=nk4W1G95P19ijylPBJ8D9FlO_qbh3tfbv7xzCSfpDN8,968
5
- logtail/frame.py,sha256=21q6jxu-1qrzs6v-fqnP7PFG6a80ZDFlPYEK5PYPYO8,2887
5
+ logtail/frame.py,sha256=p7vVYcajZvjH4FJDt4ADLfYljVbQXKTGKk3kFec5JUs,3335
6
6
  logtail/handler.py,sha256=5Z9wJQMc0nv72_wwNw_WGXKSCAwgb-z--5OS3c6I5i0,2994
7
7
  logtail/helpers.py,sha256=ezDTLsTBAtCtIh_XptSYOiBrZFa-E9wo2SWTnjKgOOU,1156
8
8
  logtail/uploader.py,sha256=qBhQjXKMKId4dHC1BRSgajQ6Zh-jOygQEnc5oj2zuN0,805
9
- logtail_python-0.3.0.dist-info/LICENSE.md,sha256=aCBMqxfm7QNyFR9JiJ2GSMvhAURXN2E0yTcYNQloqI0,737
10
- logtail_python-0.3.0.dist-info/METADATA,sha256=6MnvKOKXS3nu7e407NqjOm3W6PVhl39I2k4dcoAHfl8,2127
11
- logtail_python-0.3.0.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
12
- logtail_python-0.3.0.dist-info/top_level.txt,sha256=QZIbQogN1yFBgjiJ-8NlYArVCL00gBoYbEUT_Ew8l-Q,8
13
- logtail_python-0.3.0.dist-info/RECORD,,
9
+ logtail_python-0.3.2.dist-info/LICENSE.md,sha256=aCBMqxfm7QNyFR9JiJ2GSMvhAURXN2E0yTcYNQloqI0,737
10
+ logtail_python-0.3.2.dist-info/METADATA,sha256=f7BJ9oLDQtQOV3UDNvejCY6eJZgNiG-6PmS6A3PyH_g,2125
11
+ logtail_python-0.3.2.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
12
+ logtail_python-0.3.2.dist-info/top_level.txt,sha256=QZIbQogN1yFBgjiJ-8NlYArVCL00gBoYbEUT_Ew8l-Q,8
13
+ logtail_python-0.3.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any