rudder-sdk-python 2.1.3__tar.gz → 2.1.4__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.
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/PKG-INFO +3 -3
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudder_sdk_python.egg-info/PKG-INFO +3 -3
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudder_sdk_python.egg-info/requires.txt +2 -2
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/client.py +2 -2
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/consumer.py +4 -5
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/request.py +2 -2
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_consumer.py +1 -1
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_utils.py +2 -2
- rudder_sdk_python-2.1.4/rudderstack/analytics/version.py +1 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/setup.py +2 -3
- rudder_sdk_python-2.1.3/rudderstack/analytics/version.py +0 -1
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/LICENSE.md +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/README.md +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudder_sdk_python.egg-info/SOURCES.txt +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudder_sdk_python.egg-info/dependency_links.txt +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudder_sdk_python.egg-info/not-zip-safe +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudder_sdk_python.egg-info/top_level.txt +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/__init__.py +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/get_env.py +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/__init__.py +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_client.py +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_constants.py +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_module.py +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_request.py +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/utils.py +0 -0
- {rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: rudder-sdk-python
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.4
|
|
4
4
|
Summary: RudderStack is an open-source Segment alternative written in Go, built for the enterprise.
|
|
5
5
|
Home-page: https://github.com/rudderlabs/rudder-sdk-python
|
|
6
6
|
Author: RudderStack
|
|
@@ -31,8 +31,8 @@ Requires-Dist: python-dateutil<3.0,>=2.2
|
|
|
31
31
|
Requires-Dist: python-dotenv<2.0.0,>=1.0.1
|
|
32
32
|
Requires-Dist: deprecation<3.0.0,>=2.1.0
|
|
33
33
|
Provides-Extra: test
|
|
34
|
-
Requires-Dist: mock==
|
|
35
|
-
Requires-Dist: flake8==7.1.
|
|
34
|
+
Requires-Dist: mock==5.1.0; extra == "test"
|
|
35
|
+
Requires-Dist: flake8==7.1.1; extra == "test"
|
|
36
36
|
|
|
37
37
|
# RudderStack Python SDK
|
|
38
38
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: rudder-sdk-python
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.4
|
|
4
4
|
Summary: RudderStack is an open-source Segment alternative written in Go, built for the enterprise.
|
|
5
5
|
Home-page: https://github.com/rudderlabs/rudder-sdk-python
|
|
6
6
|
Author: RudderStack
|
|
@@ -31,8 +31,8 @@ Requires-Dist: python-dateutil<3.0,>=2.2
|
|
|
31
31
|
Requires-Dist: python-dotenv<2.0.0,>=1.0.1
|
|
32
32
|
Requires-Dist: deprecation<3.0.0,>=2.1.0
|
|
33
33
|
Provides-Extra: test
|
|
34
|
-
Requires-Dist: mock==
|
|
35
|
-
Requires-Dist: flake8==7.1.
|
|
34
|
+
Requires-Dist: mock==5.1.0; extra == "test"
|
|
35
|
+
Requires-Dist: flake8==7.1.1; extra == "test"
|
|
36
36
|
|
|
37
37
|
# RudderStack Python SDK
|
|
38
38
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from datetime import datetime
|
|
1
|
+
from datetime import datetime, timezone
|
|
2
2
|
from uuid import uuid4
|
|
3
3
|
import logging
|
|
4
4
|
import numbers
|
|
@@ -245,7 +245,7 @@ class Client(object):
|
|
|
245
245
|
"""Push a new `msg` onto the queue, return `(success, msg)`"""
|
|
246
246
|
timestamp = msg['timestamp']
|
|
247
247
|
if timestamp is None:
|
|
248
|
-
timestamp = datetime.
|
|
248
|
+
timestamp = datetime.now(timezone.utc).replace(tzinfo=tzutc())
|
|
249
249
|
message_id = msg.get('messageId')
|
|
250
250
|
if message_id is None:
|
|
251
251
|
message_id = uuid4()
|
|
@@ -8,11 +8,10 @@ from rudderstack.analytics.request import post, APIError, DatetimeSerializer
|
|
|
8
8
|
|
|
9
9
|
from queue import Empty
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
# Our servers only accept batches less than 500KB. Here limit is set slightly
|
|
11
|
+
# Our servers only accept payloads within this limit. Here limit is set slightly
|
|
14
12
|
# lower to leave space for extra data that will be added later, eg. "sentAt".
|
|
15
|
-
|
|
13
|
+
MAX_MSG_SIZE = 4 << 10 << 10 ## 4 mb
|
|
14
|
+
BATCH_SIZE_LIMIT = 4 << 10 << 10 ## 4 mb
|
|
16
15
|
|
|
17
16
|
|
|
18
17
|
class Consumer(Thread):
|
|
@@ -94,7 +93,7 @@ class Consumer(Thread):
|
|
|
94
93
|
item, cls=DatetimeSerializer).encode())
|
|
95
94
|
if item_size > MAX_MSG_SIZE:
|
|
96
95
|
self.log.error(
|
|
97
|
-
'Item exceeds
|
|
96
|
+
'Item exceeds 4mb limit, dropping. (%s)', str(item))
|
|
98
97
|
continue
|
|
99
98
|
items.append(item)
|
|
100
99
|
total_size += item_size
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from datetime import date, datetime
|
|
1
|
+
from datetime import date, datetime, timezone
|
|
2
2
|
from io import BytesIO
|
|
3
3
|
from gzip import GzipFile
|
|
4
4
|
import logging
|
|
@@ -17,7 +17,7 @@ def post(write_key, host=None, gzip=True, timeout=15, proxies=None, **kwargs):
|
|
|
17
17
|
"""Post the `kwargs` to the API"""
|
|
18
18
|
log = logging.getLogger('rudderstack')
|
|
19
19
|
body = kwargs
|
|
20
|
-
body["sentAt"] = datetime.
|
|
20
|
+
body["sentAt"] = datetime.now(timezone.utc).replace(tzinfo=tzutc()).isoformat()
|
|
21
21
|
url = remove_trailing_slash(host or 'https://api.rudderstack.com') + '/v1/batch'
|
|
22
22
|
auth = HTTPBasicAuth(write_key, '')
|
|
23
23
|
data = json.dumps(body, cls=DatetimeSerializer)
|
{rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_consumer.py
RENAMED
|
@@ -196,7 +196,7 @@ class TestConsumer(unittest.TestCase):
|
|
|
196
196
|
}
|
|
197
197
|
msg_size = len(json.dumps(track).encode())
|
|
198
198
|
# number of messages in a maximum-size batch
|
|
199
|
-
n_msgs = int(
|
|
199
|
+
n_msgs = int((4 << 10 << 10) / msg_size)
|
|
200
200
|
|
|
201
201
|
def mock_post_fn(_, data, **kwargs):
|
|
202
202
|
res = mock.Mock()
|
{rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_utils.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from datetime import date, datetime, timedelta
|
|
1
|
+
from datetime import date, datetime, timedelta, timezone
|
|
2
2
|
from decimal import Decimal
|
|
3
3
|
import unittest
|
|
4
4
|
|
|
@@ -51,7 +51,7 @@ class TestUtils(unittest.TestCase):
|
|
|
51
51
|
def test_clean_with_dates(self):
|
|
52
52
|
dict_with_dates = {
|
|
53
53
|
'birthdate': date(1980, 1, 1),
|
|
54
|
-
'registration': datetime.
|
|
54
|
+
'registration': datetime.now(timezone.utc),
|
|
55
55
|
}
|
|
56
56
|
self.assertEqual(dict_with_dates, utils.clean(dict_with_dates))
|
|
57
57
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = '2.1.4'
|
|
@@ -18,8 +18,8 @@ install_requires = [
|
|
|
18
18
|
]
|
|
19
19
|
|
|
20
20
|
tests_require = [
|
|
21
|
-
"mock==
|
|
22
|
-
"flake8==7.1.
|
|
21
|
+
"mock==5.1.0",
|
|
22
|
+
"flake8==7.1.1",
|
|
23
23
|
]
|
|
24
24
|
|
|
25
25
|
setup(
|
|
@@ -30,7 +30,6 @@ setup(
|
|
|
30
30
|
author_email='sdk@rudderstack.com',
|
|
31
31
|
maintainer='RudderStack',
|
|
32
32
|
maintainer_email='sdk@rudderstack.com',
|
|
33
|
-
test_suite='rudderstack.analytics.test.all',
|
|
34
33
|
packages=['rudderstack.analytics', 'rudderstack.analytics.test'],
|
|
35
34
|
python_requires='>=3.8.0',
|
|
36
35
|
license='MIT License',
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
VERSION = '2.1.3'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudder_sdk_python.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudder_sdk_python.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_client.py
RENAMED
|
File without changes
|
{rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_constants.py
RENAMED
|
File without changes
|
{rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_module.py
RENAMED
|
File without changes
|
{rudder_sdk_python-2.1.3 → rudder_sdk_python-2.1.4}/rudderstack/analytics/test/test_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|