utf-queue-client 1.17.2b2__tar.gz → 1.18.0a0__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.
Files changed (93) hide show
  1. utf_queue_client-1.18.0a0/.gitignore +14 -0
  2. utf_queue_client-1.18.0a0/.gitmodules +3 -0
  3. utf_queue_client-1.18.0a0/.idea/.gitignore +15 -0
  4. utf_queue_client-1.18.0a0/.idea/modules.xml +8 -0
  5. utf_queue_client-1.18.0a0/.idea/utf_queue_client_python.iml +19 -0
  6. utf_queue_client-1.18.0a0/.idea/vcs.xml +7 -0
  7. utf_queue_client-1.18.0a0/.pre-commit-config.yaml +10 -0
  8. utf_queue_client-1.18.0a0/Jenkinsfile +137 -0
  9. {utf-queue-client-1.17.2b2/utf_queue_client.egg-info → utf_queue_client-1.18.0a0}/PKG-INFO +20 -24
  10. utf_queue_client-1.18.0a0/examples/example_async_consumer.py +20 -0
  11. utf_queue_client-1.18.0a0/pyproject.toml +72 -0
  12. utf_queue_client-1.18.0a0/requirements.txt +14 -0
  13. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/setup.cfg +4 -7
  14. utf_queue_client-1.18.0a0/sonar-project.properties +9 -0
  15. utf_queue_client-1.18.0a0/test/.gitattributes +1 -0
  16. utf_queue_client-1.18.0a0/test/Dockerfile.script_test +12 -0
  17. utf_queue_client-1.18.0a0/test/conftest.py +341 -0
  18. utf_queue_client-1.18.0a0/test/pytest.ini +7 -0
  19. utf_queue_client-1.18.0a0/test/script_test.groovy +38 -0
  20. utf_queue_client-1.18.0a0/test/stopwatch.py +21 -0
  21. utf_queue_client-1.18.0a0/test/test.hex +1 -0
  22. utf_queue_client-1.18.0a0/test/test_amqp_connections.py +47 -0
  23. utf_queue_client-1.18.0a0/test/test_async_consumer.py +14 -0
  24. utf_queue_client-1.18.0a0/test/test_connection_retry.py +41 -0
  25. utf_queue_client-1.18.0a0/test/test_data_lake_data_producer.py +58 -0
  26. utf_queue_client-1.18.0a0/test/test_http_producer.py +91 -0
  27. utf_queue_client-1.18.0a0/test/test_models.py +125 -0
  28. utf_queue_client-1.18.0a0/test/test_opentelemetry_data_producer.py +167 -0
  29. utf_queue_client-1.18.0a0/test/test_publish_release_info.py +167 -0
  30. utf_queue_client-1.18.0a0/test/test_publish_test_results.py +193 -0
  31. utf_queue_client-1.18.0a0/test/test_rail_data_producer_tests.py +64 -0
  32. utf_queue_client-1.18.0a0/test/test_sqa_test_result_producer.py +48 -0
  33. utf_queue_client-1.18.0a0/test/test_ubai_copy.py +132 -0
  34. utf_queue_client-1.18.0a0/test/test_ubai_search.py +83 -0
  35. utf_queue_client-1.18.0a0/test/test_ubai_update_retention.py +63 -0
  36. utf_queue_client-1.18.0a0/test/test_ubai_upload.py +131 -0
  37. utf_queue_client-1.18.0a0/test/test_utils.py +78 -0
  38. utf_queue_client-1.18.0a0/test-requirements-pydantic-v1.txt +14 -0
  39. utf_queue_client-1.18.0a0/test-requirements.txt +14 -0
  40. utf_queue_client-1.18.0a0/tools/build_dist.bat +12 -0
  41. utf_queue_client-1.18.0a0/tools/setup_venv.bat +8 -0
  42. utf_queue_client-1.18.0a0/tools/silabs-net.pem +20 -0
  43. utf_queue_client-1.18.0a0/tools/silabs.pem +174 -0
  44. utf_queue_client-1.18.0a0/tools/update_schema.bat +2 -0
  45. utf_queue_client-1.18.0a0/tools/upload_to_nexus.bat +19 -0
  46. utf_queue_client-1.18.0a0/tools/upload_to_pypi.bat +15 -0
  47. utf_queue_client-1.18.0a0/tools/upload_to_testpypi.bat +15 -0
  48. utf_queue_client-1.18.0a0/tox.ini +18 -0
  49. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/__init__.py +1 -1
  50. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/__init__.py +47 -48
  51. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/async_consumer.py +581 -579
  52. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/base_producer.py +165 -164
  53. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/data_lake_data_producer.py +134 -135
  54. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/http_producer.py +210 -207
  55. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/opentelemetry_data_producer.py +51 -53
  56. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/sqa_test_result_producer.py +172 -171
  57. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/test_rail_data_producer.py +95 -95
  58. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/clients/ubai_artifact_upload_request_producer.py +124 -123
  59. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/exceptions/__init__.py +20 -20
  60. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/models/__init__.py +1 -1
  61. utf_queue_client-1.18.0a0/utf_queue_client/models/base_model.py +57 -0
  62. utf_queue_client-1.18.0a0/utf_queue_client/models/model_factory.py +13 -0
  63. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/models/schemas/__init__.py +22 -22
  64. utf_queue_client-1.18.0a0/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models.py +54 -0
  65. utf_queue_client-1.18.0a0/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models_pydantic_v1.py +286 -0
  66. utf_queue_client-1.18.0a0/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models_pydantic_v2.py +297 -0
  67. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/models/schemas/utf_queue_models/schema/queue_message.json +661 -661
  68. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/scripts/__init__.py +90 -86
  69. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/scripts/publish_release_info_cli.py +5 -5
  70. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/scripts/publish_test_results_cli.py +148 -146
  71. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/scripts/ubai_copy_cli.py +8 -11
  72. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/scripts/ubai_search_cli.py +80 -78
  73. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/scripts/ubai_update_retention_cli.py +75 -73
  74. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/scripts/ubai_upload_cli.py +133 -135
  75. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/utils/__init__.py +89 -89
  76. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/utils/queue_metrics_exporter.py +87 -85
  77. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/utils/queue_span_exporter.py +87 -86
  78. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0/utf_queue_client.egg-info}/PKG-INFO +20 -24
  79. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client.egg-info/SOURCES.txt +48 -6
  80. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client.egg-info/requires.txt +1 -1
  81. utf-queue-client-1.17.2b2/MANIFEST.in +0 -18
  82. utf-queue-client-1.17.2b2/setup.py +0 -64
  83. utf-queue-client-1.17.2b2/utf_queue_client/models/base_model.py +0 -164
  84. utf-queue-client-1.17.2b2/utf_queue_client/models/model_factory.py +0 -19
  85. utf-queue-client-1.17.2b2/utf_queue_client/models/schemas/utf_queue_models/models/python/__pycache__/__init__.cpython-39.pyc +0 -0
  86. utf-queue-client-1.17.2b2/utf_queue_client/models/schemas/utf_queue_models/models/python/__pycache__/generated_models.cpython-39.pyc +0 -0
  87. utf-queue-client-1.17.2b2/utf_queue_client/models/schemas/utf_queue_models/models/python/generated_models.py +0 -291
  88. utf-queue-client-1.17.2b2/utf_queue_client/models/schemas/utf_queue_models/schema/queue_message.ts +0 -568
  89. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/README.md +0 -0
  90. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client/models/schemas/utf_queue_models/models/python/__init__.py +0 -0
  91. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client.egg-info/dependency_links.txt +0 -0
  92. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client.egg-info/entry_points.txt +0 -0
  93. {utf-queue-client-1.17.2b2 → utf_queue_client-1.18.0a0}/utf_queue_client.egg-info/top_level.txt +0 -0
@@ -0,0 +1,14 @@
1
+ *.pyc
2
+ **/venv/
3
+ **/venv2/
4
+ **/venv_2/
5
+ build/
6
+ dist/
7
+ utf_queue_client.egg-info/
8
+ test/vault-ca-dev.crt
9
+ test/vault-ca.crt
10
+ test/silabs-net.pem
11
+ test/test_results/
12
+ .coverage*
13
+ /*idea
14
+ **/*.env
@@ -0,0 +1,3 @@
1
+ [submodule "models/schemas/utf_queue_models"]
2
+ path = utf_queue_client/models/schemas/utf_queue_models
3
+ url = ../../utf/utf_queue_models
@@ -0,0 +1,15 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ misc.xml
5
+ inspectionProfiles/
6
+ sonarlint/
7
+ watcherTasks.xml
8
+ # Datasource local storage ignored files
9
+ dataSources/
10
+ /dataSources.local.xml
11
+ # Editor-based HTTP Client requests
12
+ /httpRequests/
13
+
14
+ # GitHub Copilot persisted chat sessions
15
+ /copilot/chatSessions
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/utf_queue_client_python.iml" filepath="$PROJECT_DIR$/.idea/utf_queue_client_python.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="PYTHON_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/.idea/copilot/chatSessions" />
6
+ <excludeFolder url="file://$MODULE_DIR$/venv" />
7
+ <excludeFolder url="file://$MODULE_DIR$/venv2" />
8
+ </content>
9
+ <orderEntry type="jdk" jdkName="Python 3.13 (utf_queue_client_python)" jdkType="Python SDK" />
10
+ <orderEntry type="sourceFolder" forTests="false" />
11
+ </component>
12
+ <component name="PyDocumentationSettings">
13
+ <option name="format" value="PLAIN" />
14
+ <option name="myDocStringFormat" value="Plain" />
15
+ </component>
16
+ <component name="TestRunnerService">
17
+ <option name="PROJECT_TEST_RUNNER" value="pytest" />
18
+ </component>
19
+ </module>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ <mapping directory="$PROJECT_DIR$/utf_queue_client/models/schemas/utf_queue_models" vcs="Git" />
6
+ </component>
7
+ </project>
@@ -0,0 +1,10 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ # Ruff version.
4
+ rev: v0.8.3
5
+ hooks:
6
+ # Run the linter.
7
+ - id: ruff
8
+ args: [ --fix ]
9
+ # Run the formatter.
10
+ - id: ruff-format
@@ -0,0 +1,137 @@
1
+ @Library('utf-pipeline-libraries') _
2
+
3
+ def vaultSecrets = [
4
+ [
5
+ path: 'teams/infra-sw/app/pypi-tokens',
6
+ secretValues: [
7
+ [
8
+ envVar: 'TWINE_PASSWORD',
9
+ vaultKey: 'utf-queue-client'
10
+ ]
11
+ ]
12
+ ]
13
+ ]
14
+
15
+ pipeline {
16
+ agent {
17
+ label "AWSLinuxWorker"
18
+ }
19
+ options {
20
+ disableConcurrentBuilds()
21
+ lock(resource: 'utf-queue-central-testing')
22
+ }
23
+ environment {
24
+ GIT_HASH = GIT_COMMIT.take(10)
25
+ TEST_RESULTS_DIR = 'test/test_results'
26
+ OTEL_EXPORTER_OTLP_ENDPOINT = "https://otel-collector-http.silabs.net"
27
+ OTEL_EXPORTER_OTLP_PROTOCOL = "http/protobuf"
28
+ OTEL_EXPORTER_OTLP_CERTIFICATE = "/usr/share/ca-certificates/vault/vault-ca-prod.crt"
29
+ UTF_QUEUE_VIRTUAL_HOST = "testing"
30
+ OTEL_SERVICE_NAME = "utf-queue-client-tests"
31
+ PYENV_VERSION = "3.9"
32
+ }
33
+ stages {
34
+ stage("environment setup") {
35
+ steps {
36
+ withCredentials([sshUserPrivateKey(credentialsId: '87616d18-3af5-4fa6-b20f-538f92b10079',
37
+ keyFileVariable: 'JENKINS_SSH_KEY_PATH',
38
+ passphraseVariable: 'PASSPHRASE_UNUSED', \
39
+ usernameVariable: 'USERNAME_UNUSED')]) {
40
+ sh '''
41
+ export GIT_SSH_COMMAND=ssh\\ -o\\ StrictHostKeyChecking=no\\ -i\\ \\"$JENKINS_SSH_KEY_PATH\\"
42
+ git fetch --no-tags --force --progress -- ssh://git@stash.silabs.com/utf/utf_queue_client_python.git +refs/heads/main:refs/remotes/origin/main
43
+ '''
44
+ }
45
+ // set up first venv with test-requirements.txt
46
+ sh '''
47
+ python3 -m venv venv
48
+ . venv/bin/activate
49
+ uv pip install --upgrade pip wheel
50
+ uv pip install -r test-requirements.txt
51
+
52
+ pre-commit run --all-files
53
+ '''
54
+ // set up second venv with test-requirements-pydantic-v1.txt
55
+ sh '''
56
+ python3 -m venv venv_2
57
+ . venv_2/bin/activate
58
+ uv pip install --upgrade pip wheel
59
+ uv pip install -r test-requirements-pydantic-v1.txt
60
+ '''
61
+ }
62
+ }
63
+ stage('Run Tests') {
64
+ steps {
65
+ withCredentials([usernamePassword(credentialsId: 'sqatest_readwrite', passwordVariable: 'UTF_QUEUE_PASSWORD', usernameVariable: 'UTF_QUEUE_USERNAME'),
66
+ usernamePassword(credentialsId: 'mwlabuser_jenkins', passwordVariable: 'UTF_QUEUE_PASSWORD_LDAP', usernameVariable: 'UTF_QUEUE_USERNAME_LDAP')]) {
67
+ catchError(buildResult: 'FAILURE', message: "[ERROR] One or more unit tests have failed", stageResult: 'FAILURE') {
68
+ sh '''
69
+ . venv/bin/activate
70
+ rm -rf ${TEST_RESULTS_DIR}
71
+ mkdir -p ${TEST_RESULTS_DIR}
72
+ set +e
73
+ export PYTHONPATH=$PWD
74
+
75
+ # test with venv from test-requirements.txt
76
+ python -m pytest test -n auto --dist loadscope --junit-prefix=test --junitxml=${TEST_RESULTS_DIR}/junit_report_unit.xml --cov-branch --cov=utf_queue_client
77
+ exitcode=$?
78
+
79
+ . venv_2/bin/activate
80
+ # test with venv from test-requirements-pydantic-v1.txt
81
+ python -m pytest test -n auto --dist loadscope --cov-append --cov-report xml:${TEST_RESULTS_DIR}/coverage.xml --cov-report html:${TEST_RESULTS_DIR}/cov_html --cov-branch --cov=utf_queue_client
82
+ exitcode_2=$?
83
+
84
+ if [ $exitcode -ne 0 ] || [ $exitcode_2 -ne 0 ]; then
85
+ exit 1
86
+ fi
87
+ '''
88
+ }
89
+ }
90
+
91
+ archiveArtifacts artifacts: "${TEST_RESULTS_DIR}/junit_report_*.xml,${TEST_RESULTS_DIR}/cov_html/*.*"
92
+ junit allowEmptyResults: false, testResults: "${TEST_RESULTS_DIR}/junit_report_*.xml"
93
+ cobertura autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: "${TEST_RESULTS_DIR}/coverage.xml", conditionalCoverageTargets:'70,0,0', failUnhealthy:false, failUnstable:false, lineCoverageTargets: '80,0,0', maxNumberOfBuilds:0, methodCoverageTargets: '80,0,0', onlyStable:false, sourceEncoding:'ASCII', zoomCoverageChart: false
94
+
95
+ withSonarQubeEnv(installationName: 'SILABS_SONARQUBE_SERVER') {
96
+ sh '''
97
+ ${SONAR_SCANNER} -Dsonar.projectVersion=${GIT_HASH}
98
+ '''
99
+ }
100
+ timeout(time: 5, unit: 'MINUTES') {
101
+ waitForQualityGate abortPipeline: true
102
+ }
103
+ }
104
+ post {
105
+ failure {
106
+ error 'The "Run Tests" stage has failed'
107
+ }
108
+ }
109
+ }
110
+ stage('Deploy to pypi') {
111
+ when {
112
+ branch 'main'
113
+ }
114
+ environment {
115
+ TWINE_REPOSITORY_URL = "https://upload.pypi.org/legacy/"
116
+ TWINE_USERNAME = "__token__"
117
+ }
118
+ steps {
119
+ withVaultOnAgent(vaultSecrets: vaultSecrets) {
120
+ sh '''
121
+ if [ ! -f venv/bin/activate ]; then
122
+ python3 -m venv venv
123
+ fi
124
+ . venv/bin/activate
125
+ pip3 install wheel && pip3 install -r test-requirements.txt
126
+ rm -rf build
127
+ rm -rf dist
128
+ rm -rf utf_queue_client.egg-info
129
+ python3 setup.py sdist bdist_wheel
130
+
131
+ twine upload dist/*
132
+ '''
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
@@ -1,24 +1,20 @@
1
- Metadata-Version: 2.1
2
- Name: utf-queue-client
3
- Version: 1.17.2b2
4
- Home-page:
5
- Author: Joe Savage
6
- Author-email: joe.savage@silabs.com
7
- Keywords: UTF,
8
- Requires-Python: >=3.6
9
- Requires-Dist: pika>=1.2.0
10
- Requires-Dist: jsonschema>=3.2.0
11
- Requires-Dist: msgpack>=1.0.2
12
- Requires-Dist: pydantic==1.*
13
- Requires-Dist: regex
14
- Requires-Dist: typing_extensions; python_version < "3.8"
15
- Requires-Dist: click
16
- Requires-Dist: ubai-client>=1.2.0
17
- Requires-Dist: opentelemetry-distro[otlp]
18
- Requires-Dist: otel-extensions>=0.1.2
19
- Requires-Dist: retry>=0.9.2
20
- Requires-Dist: requests
21
- Requires-Dist: ndjson~=0.3
22
-
23
- No description provided
24
-
1
+ Metadata-Version: 2.2
2
+ Name: utf-queue-client
3
+ Version: 1.18.0a0
4
+ Summary: No description provided
5
+ Author-email: Joe Savage <joe.savage@silabs.com>
6
+ Keywords: UTF
7
+ Requires-Python: >=3.8
8
+ Requires-Dist: pika>=1.2.0
9
+ Requires-Dist: jsonschema>=3.2.0
10
+ Requires-Dist: msgpack>=1.0.2
11
+ Requires-Dist: pydantic
12
+ Requires-Dist: regex
13
+ Requires-Dist: typing_extensions; python_version < "3.8"
14
+ Requires-Dist: click
15
+ Requires-Dist: ubai-client>=1.2.0
16
+ Requires-Dist: opentelemetry-distro[otlp]
17
+ Requires-Dist: otel-extensions>=0.1.2
18
+ Requires-Dist: retry>=0.9.2
19
+ Requires-Dist: requests
20
+ Requires-Dist: ndjson~=0.3
@@ -0,0 +1,20 @@
1
+ import logging
2
+
3
+ import msgpack
4
+
5
+ from utf_queue_client.clients.async_consumer import LocalRaspiSqaTestResultConsumer
6
+
7
+
8
+ def message_handler(body: bytes):
9
+ logger = logging.getLogger("main")
10
+ data = msgpack.loads(body)
11
+ logger.info(f"message received: {data}")
12
+
13
+
14
+ def main():
15
+ consumer = LocalRaspiSqaTestResultConsumer("10.4.1.107", message_handler)
16
+ consumer.run()
17
+
18
+
19
+ if __name__ == "__main__":
20
+ main()
@@ -0,0 +1,72 @@
1
+ [build-system]
2
+ requires = ["setuptools", "setuptools-scm"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "utf-queue-client"
7
+ version = "1.18.0a0"
8
+ description = "No description provided"
9
+ authors = [
10
+ { name = "Joe Savage", email = "joe.savage@silabs.com" }
11
+ ]
12
+ requires-python = ">=3.8"
13
+ dependencies = [
14
+ "pika >= 1.2.0",
15
+ "jsonschema >= 3.2.0",
16
+ "msgpack >= 1.0.2",
17
+ "pydantic",
18
+ "regex",
19
+ "typing_extensions; python_version < '3.8'",
20
+ "click",
21
+ "ubai-client >= 1.2.0",
22
+ "opentelemetry-distro[otlp]",
23
+ "otel-extensions >= 0.1.2",
24
+ "retry>=0.9.2",
25
+ "requests",
26
+ "ndjson~=0.3",
27
+ ]
28
+ keywords = ["UTF"]
29
+
30
+ [project.scripts]
31
+ ubai_upload_cli = "utf_queue_client.scripts.ubai_upload_cli:cli_entrypoint"
32
+ ubai_search_cli = "utf_queue_client.scripts.ubai_search_cli:cli_entrypoint"
33
+ publish_test_results_cli = "utf_queue_client.scripts.publish_test_results_cli:cli_entrypoint"
34
+ ubai_update_retention_cli = "utf_queue_client.scripts.ubai_update_retention_cli:cli_entrypoint"
35
+ publish_release_info_cli = "utf_queue_client.scripts.publish_release_info_cli:cli_entrypoint"
36
+ ubai_copy_cli = "utf_queue_client.scripts.ubai_copy_cli:cli_entrypoint"
37
+
38
+ [tool.setuptools.packages.find]
39
+ include = ["utf_queue_client"]
40
+ exclude = ["tests", "test"]
41
+
42
+ [tool.setuptools.package-data]
43
+ utf_queue_client = [
44
+ "models/schemas/utf_queue_models/models/python/*.py",
45
+ "models/schemas/utf_queue_models/schema/*.json",
46
+ ]
47
+
48
+ [tool.ruff]
49
+ fix = true
50
+ line-length = 88
51
+ target-version = "py38"
52
+ exclude = ["archive"]
53
+
54
+ [tool.ruff.lint]
55
+ select = [
56
+ "E", # pycodestyle errors
57
+ "W", # pycodestyle warnings
58
+ "F", # pyflakes
59
+ "I", # isort
60
+ "C", # flake8-comprehensions
61
+ "B", # flake8-bugbear
62
+ "Q", # flake8-quotes
63
+ "UP",# pyupgrade
64
+ ]
65
+ ignore = [
66
+ "E501", # line too long, handled by black
67
+ "C901", # too complex
68
+ "C408", # Unnecessary 'dict()' call
69
+ ]
70
+
71
+ [tool.ruff.lint.pydocstyle]
72
+ convention = "google"
@@ -0,0 +1,14 @@
1
+ pika>=1.2.0
2
+ jsonschema>=3.2.0
3
+ msgpack>=1.0.2
4
+ datamodel-code-generator
5
+ pydantic
6
+ regex
7
+ typing_extensions; python_version < '3.8'
8
+ click
9
+ ubai-client>=1.2.0
10
+ opentelemetry-distro[otlp]
11
+ otel-extensions>=0.2.4
12
+ retry>=0.9.2
13
+ requests
14
+ ndjson~=0.3
@@ -1,7 +1,4 @@
1
- [flake8]
2
- max-line-length = 99
3
-
4
- [egg_info]
5
- tag_build =
6
- tag_date = 0
7
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,9 @@
1
+ sonar.projectKey=utf:queue-client-python
2
+ sonar.projectName=utf-queue-client-python
3
+ sonar.sources=utf_queue_client
4
+ sonar.tests=./test
5
+ sonar.exclusions=utf_queue_client/models/schemas/utf_queue_models/models/java/**
6
+ sonar.coverage.exclusions=test/**
7
+ sonar.python.coverage.reportPaths=test/test_results/coverage.xml
8
+ sonar.python.xunit.reportPath=test/test_results/junit*.xml
9
+ sonar.python.xunit.skipDetails=false
@@ -0,0 +1 @@
1
+ *.hex binary
@@ -0,0 +1,12 @@
1
+ from python:3.6
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
+