utf-queue-client 1.20.1b3__tar.gz → 1.21.0__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.
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/PKG-INFO +1 -1
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/pyproject.toml +1 -1
- utf_queue_client-1.21.0/test/Dockerfile.script_test +14 -0
- utf_queue_client-1.21.0/test/silabs-intermediate.pem +35 -0
- utf_queue_client-1.21.0/test/silabs-root.pem +29 -0
- utf_queue_client-1.21.0/test/test_ca_cert.py +84 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/__init__.py +13 -12
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/PKG-INFO +1 -1
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/SOURCES.txt +3 -0
- utf_queue_client-1.20.1b3/test/Dockerfile.script_test +0 -12
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/.gitignore +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/.gitmodules +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/.idea/.gitignore +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/.idea/modules.xml +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/.idea/utf_queue_client_python.iml +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/.idea/vcs.xml +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/.pre-commit-config.yaml +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/Jenkinsfile +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/README.md +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/examples/example_async_consumer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/requirements.txt +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/setup.cfg +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/sonar-project.properties +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/.gitattributes +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/conftest.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/pytest.ini +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/script_test.groovy +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/stopwatch.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test.hex +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_amqp_connections.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_async_consumer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_connection_retry.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_data_lake_data_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_http_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_models.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_opentelemetry_data_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_publish_release_info.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_publish_test_results.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_rail_data_producer_tests.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_sqa_test_result_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_ubai_copy.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_ubai_search.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_ubai_update_retention.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_ubai_upload.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_utils.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_xray_data_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test-requirements-pydantic-v1.txt +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test-requirements.txt +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tools/build_dist.bat +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tools/setup_venv.bat +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tools/silabs-net.pem +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tools/silabs.pem +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tools/update_schema.bat +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tools/upload_to_nexus.bat +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tools/upload_to_pypi.bat +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tools/upload_to_testpypi.bat +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/tox.ini +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/__init__.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/__init__.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/async_consumer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/base_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/data_lake_data_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/http_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/opentelemetry_data_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/sqa_test_result_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/test_rail_data_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/ubai_artifact_upload_request_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/xray_data_producer.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/exceptions/__init__.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/__init__.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/base_model.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/model_factory.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/schemas/__init__.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/schemas/utf_queue_models/models/python/__init__.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models_pydantic_v1.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models_pydantic_v2.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/schemas/utf_queue_models/schema/queue_message.json +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/publish_release_info_cli.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/publish_test_results_cli.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/ubai_copy_cli.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/ubai_search_cli.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/ubai_update_retention_cli.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/ubai_upload_cli.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/utils/__init__.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/utils/queue_metrics_exporter.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/utils/queue_span_exporter.py +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/dependency_links.txt +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/entry_points.txt +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/requires.txt +0 -0
- {utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
FROM python:3.8
|
|
2
|
+
|
|
3
|
+
RUN apt update && apt install -y curl
|
|
4
|
+
WORKDIR /usr/share/ca-certificates
|
|
5
|
+
COPY test/silabs-root.pem ./silabs/silabs-root.crt
|
|
6
|
+
COPY test/silabs-intermediate.pem ./silabs/silabs-intermediate.crt
|
|
7
|
+
RUN curl --fail -k https://vault.dev.silabs.net/v1/pki/ca/pem -o ./silabs/silabs-net-dev.crt && \
|
|
8
|
+
curl --fail -k https://vault.silabs.net/v1/pki/ca/pem -o ./silabs/silabs-net-prod.crt && \
|
|
9
|
+
echo "silabs/silabs-net-dev.crt" >> /etc/ca-certificates.conf && \
|
|
10
|
+
echo "silabs/silabs-net-prod.crt" >> /etc/ca-certificates.conf && \
|
|
11
|
+
echo "silabs/silabs-root.crt" >> /etc/ca-certificates.conf && \
|
|
12
|
+
echo "silabs/silabs-intermediate.crt" >> /etc/ca-certificates.conf && \
|
|
13
|
+
/usr/sbin/update-ca-certificates
|
|
14
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
34
|
+
YjxAR3YGXOartflPVBb+sNBBTgvHByb9YWwtQg==
|
|
35
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
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
|
|
29
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import pathlib
|
|
2
|
+
import tempfile
|
|
3
|
+
from unittest.mock import patch
|
|
4
|
+
|
|
5
|
+
import requests
|
|
6
|
+
from certifi import contents as certifi_contents
|
|
7
|
+
|
|
8
|
+
from utf_queue_client.scripts import (
|
|
9
|
+
LOCAL_CA_FILE_PATH,
|
|
10
|
+
SILABS_NET_CA,
|
|
11
|
+
get_or_make_ca_file,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
ISRG_X1_CERT = """-----BEGIN CERTIFICATE-----
|
|
15
|
+
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
|
|
44
|
+
-----END CERTIFICATE-----
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def verify_ca(ca_file: str):
|
|
49
|
+
r = requests.get("https://iot-notifications.silabs.net/docs", verify=ca_file)
|
|
50
|
+
assert r.status_code == 200
|
|
51
|
+
|
|
52
|
+
r = requests.get("https://ubai.silabs.net/docs", verify=ca_file)
|
|
53
|
+
assert r.status_code == 200
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def get_ca_and_verify():
|
|
57
|
+
LOCAL_CA_FILE_PATH.unlink(missing_ok=True)
|
|
58
|
+
for _ in range(2):
|
|
59
|
+
ca_file = get_or_make_ca_file()
|
|
60
|
+
assert pathlib.Path(ca_file).is_file()
|
|
61
|
+
ca_file_text = pathlib.Path(ca_file).read_text()
|
|
62
|
+
assert ISRG_X1_CERT in ca_file_text
|
|
63
|
+
assert SILABS_NET_CA in ca_file_text
|
|
64
|
+
|
|
65
|
+
verify_ca(ca_file)
|
|
66
|
+
LOCAL_CA_FILE_PATH.unlink(missing_ok=True)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def test_get_or_make_ca_file_empty_default_ca():
|
|
70
|
+
with patch(
|
|
71
|
+
"utf_queue_client.scripts.LOCAL_CA_FILE_PATH",
|
|
72
|
+
pathlib.Path(tempfile.gettempdir()) / "does-not-exist",
|
|
73
|
+
):
|
|
74
|
+
get_ca_and_verify()
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def test_get_or_make_ca_file_existing_default_ca(tmp_path):
|
|
78
|
+
default_ca_file = tmp_path / "default-ca.crt"
|
|
79
|
+
default_ca_file.write_text(certifi_contents() + SILABS_NET_CA)
|
|
80
|
+
with patch(
|
|
81
|
+
"utf_queue_client.scripts.LOCAL_CA_FILE_PATH",
|
|
82
|
+
default_ca_file,
|
|
83
|
+
):
|
|
84
|
+
get_ca_and_verify()
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import os
|
|
3
|
+
import pathlib
|
|
3
4
|
import tempfile
|
|
4
5
|
from contextlib import contextmanager
|
|
5
6
|
|
|
6
7
|
import urllib3
|
|
8
|
+
from certifi import contents as certifi_contents
|
|
7
9
|
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
|
|
8
10
|
from otel_extensions import (
|
|
9
11
|
TelemetryOptions,
|
|
@@ -17,8 +19,7 @@ telemetry_initialized = False
|
|
|
17
19
|
|
|
18
20
|
SERVICE_NAME = "UTF-Queue-Client-CLI"
|
|
19
21
|
|
|
20
|
-
SILABS_NET_CA = """
|
|
21
|
-
-----BEGIN CERTIFICATE-----
|
|
22
|
+
SILABS_NET_CA = """-----BEGIN CERTIFICATE-----
|
|
22
23
|
MIIDMjCCAhqgAwIBAgIUDGFjXuAmh2l8HHbGrbQcyurWMRowDQYJKoZIhvcNAQEL
|
|
23
24
|
BQAwFTETMBEGA1UEAxMKc2lsYWJzLm5ldDAeFw0yMDA1MjkyMDQyNDBaFw0zMDA1
|
|
24
25
|
MjcyMDQzMDlaMBUxEzARBgNVBAMTCnNpbGFicy5uZXQwggEiMA0GCSqGSIb3DQEB
|
|
@@ -40,19 +41,19 @@ XBhoBcSg
|
|
|
40
41
|
-----END CERTIFICATE-----
|
|
41
42
|
"""
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
|
|
45
|
+
LOCAL_CA_FILE_PATH = (
|
|
46
|
+
pathlib.Path(tempfile.gettempdir()) / "cert-bundle-with-silabs-net-ca.crt"
|
|
47
|
+
)
|
|
44
48
|
|
|
45
49
|
|
|
46
50
|
def get_or_make_ca_file() -> str:
|
|
47
|
-
if
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
with open(ca_file_path, "w") as f:
|
|
54
|
-
f.write(SILABS_NET_CA)
|
|
55
|
-
return ca_file_path
|
|
51
|
+
"""Creates a local CA file, if it doesn't exist already, that includes both the certifi bundle and the silabs.net CA.
|
|
52
|
+
Returns the ca path as a string.
|
|
53
|
+
"""
|
|
54
|
+
if not LOCAL_CA_FILE_PATH.is_file():
|
|
55
|
+
LOCAL_CA_FILE_PATH.write_text(certifi_contents() + SILABS_NET_CA)
|
|
56
|
+
return str(LOCAL_CA_FILE_PATH)
|
|
56
57
|
|
|
57
58
|
|
|
58
59
|
@contextmanager
|
|
@@ -19,10 +19,13 @@ test/Dockerfile.script_test
|
|
|
19
19
|
test/conftest.py
|
|
20
20
|
test/pytest.ini
|
|
21
21
|
test/script_test.groovy
|
|
22
|
+
test/silabs-intermediate.pem
|
|
23
|
+
test/silabs-root.pem
|
|
22
24
|
test/stopwatch.py
|
|
23
25
|
test/test.hex
|
|
24
26
|
test/test_amqp_connections.py
|
|
25
27
|
test/test_async_consumer.py
|
|
28
|
+
test/test_ca_cert.py
|
|
26
29
|
test/test_connection_retry.py
|
|
27
30
|
test/test_data_lake_data_producer.py
|
|
28
31
|
test/test_http_producer.py
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
FROM python:3.8
|
|
2
|
-
|
|
3
|
-
RUN apt update && apt install -y curl
|
|
4
|
-
WORKDIR /usr/local/share/ca-certificates
|
|
5
|
-
RUN curl -k https://vault.dev.silabs.net/v1/pki/ca/pem -o silabs-net-dev.crt && \
|
|
6
|
-
curl -k https://vault.silabs.net/v1/pki/ca/pem -o silabs-net-prod.crt && \
|
|
7
|
-
curl http://pkicorp.silabs.com/certdata/SL%20Root%20CA.crt -o /tmp/slroot.der && \
|
|
8
|
-
curl http://pkicorp.silabs.com/certdata/SL%20Enterprise%20CA01.crt -o /tmp/slintermediate.der && \
|
|
9
|
-
openssl x509 -inform der -in /tmp/slroot.der -out slroot.crt && \
|
|
10
|
-
openssl x509 -inform der -in /tmp/slintermediate.der -out slintermediate.crt && \
|
|
11
|
-
/usr/sbin/update-ca-certificates
|
|
12
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/test/test_opentelemetry_data_producer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/async_consumer.py
RENAMED
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/base_producer.py
RENAMED
|
File without changes
|
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/http_producer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/clients/xray_data_producer.py
RENAMED
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/exceptions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/model_factory.py
RENAMED
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/models/schemas/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/ubai_copy_cli.py
RENAMED
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/ubai_search_cli.py
RENAMED
|
File without changes
|
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/scripts/ubai_upload_cli.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client/utils/queue_span_exporter.py
RENAMED
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/requires.txt
RENAMED
|
File without changes
|
{utf_queue_client-1.20.1b3 → utf_queue_client-1.21.0}/utf_queue_client.egg-info/top_level.txt
RENAMED
|
File without changes
|