plexus-python-pulse-common 1.1.80__tar.gz → 1.1.82__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 (94) hide show
  1. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/.editorconfig +77 -12
  2. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/.gitignore +9 -16
  3. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/PKG-INFO +1 -1
  4. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/tagutils.py +40 -30
  5. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus_python_pulse_common.egg-info/PKG-INFO +1 -1
  6. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/dockerutils_test.py +13 -13
  7. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/.github/workflows/pr.yml +0 -0
  8. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/.github/workflows/push.yml +0 -0
  9. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/MANIFEST.in +0 -0
  10. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/README.md +0 -0
  11. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/VERSION +0 -0
  12. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/pyproject.toml +0 -0
  13. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/jsonutils/dummy.0.jsonl +0 -0
  14. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/jsonutils/dummy.1.jsonl +0 -0
  15. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/jsonutils/dummy.2.jsonl +0 -0
  16. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/0-dummy +0 -0
  17. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/1-dummy +0 -0
  18. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/2-dummy +0 -0
  19. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.0.0.jsonl +0 -0
  20. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.0.0.vol-0.jsonl +0 -0
  21. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.0.jsonl +0 -0
  22. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.1.1.jsonl +0 -0
  23. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.1.1.vol-1.jsonl +0 -0
  24. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.1.jsonl +0 -0
  25. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.2.2.jsonl +0 -0
  26. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.2.2.vol-2.jsonl +0 -0
  27. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.2.jsonl +0 -0
  28. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.csv.part0 +0 -0
  29. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.csv.part1 +0 -0
  30. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.csv.part2 +0 -0
  31. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/pathutils/dummy.txt +0 -0
  32. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.baz/file.bar.baz +0 -0
  33. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.baz/file.foo.bar +0 -0
  34. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.baz/file.foo.baz +0 -0
  35. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.foo/dir.foo.bar/dir.foo.bar.baz/file.foo.bar.baz +0 -0
  36. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.bar.baz +0 -0
  37. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.foo.bar +0 -0
  38. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.foo.baz +0 -0
  39. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.foo/file.bar +0 -0
  40. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.foo/file.baz +0 -0
  41. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils/dir.foo/file.foo +0 -0
  42. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils_archive/archive.compressed.zip +0 -0
  43. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/resources/unittest/s3utils_archive/archive.uncompressed.zip +0 -0
  44. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/setup.cfg +0 -0
  45. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/setup.py +0 -0
  46. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/__init__.py +0 -0
  47. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/carto/OSMFile.py +0 -0
  48. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/carto/OSMNode.py +0 -0
  49. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/carto/OSMTags.py +0 -0
  50. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/carto/OSMWay.py +0 -0
  51. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/carto/__init__.py +0 -0
  52. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/resources/__init__.py +0 -0
  53. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/resources/tags/__init__.py +0 -0
  54. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/resources/tags/unittest-1.0.0.tagset.yaml +0 -0
  55. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/resources/tags/universal-1.0.0.tagset.yaml +0 -0
  56. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/__init__.py +0 -0
  57. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/apiutils.py +0 -0
  58. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/bagutils.py +0 -0
  59. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/config.py +0 -0
  60. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/datautils.py +0 -0
  61. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/dockerutils.py +0 -0
  62. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/flowutils.py +0 -0
  63. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/gisutils.py +0 -0
  64. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/jsonutils.py +0 -0
  65. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/ormutils.py +0 -0
  66. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/pathutils.py +0 -0
  67. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/s3utils.py +0 -0
  68. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/sqlutils.py +0 -0
  69. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/strutils.py +0 -0
  70. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus/pulse/common/utils/testutils.py +0 -0
  71. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus_python_pulse_common.egg-info/SOURCES.txt +0 -0
  72. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus_python_pulse_common.egg-info/dependency_links.txt +0 -0
  73. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus_python_pulse_common.egg-info/not-zip-safe +0 -0
  74. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus_python_pulse_common.egg-info/requires.txt +0 -0
  75. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/src/plexus_python_pulse_common.egg-info/top_level.txt +0 -0
  76. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/__init__.py +0 -0
  77. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/__init__.py +0 -0
  78. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/__init__.py +0 -0
  79. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/carto/__init__.py +0 -0
  80. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/carto/osm_file_test.py +0 -0
  81. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/carto/osm_tags_test.py +0 -0
  82. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/__init__.py +0 -0
  83. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/bagutils_test.py +0 -0
  84. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/datautils_test.py +0 -0
  85. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/flowutils_test.py +0 -0
  86. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/gisutils_test.py +0 -0
  87. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/jsonutils_test.py +0 -0
  88. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/ormutils_test.py +0 -0
  89. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/pathutils_test.py +0 -0
  90. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/s3utils_test.py +0 -0
  91. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/strutils_test.py +0 -0
  92. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/tagutils_test.py +0 -0
  93. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/plexus_tests/pulse/common/utils/testutils_test.py +0 -0
  94. {plexus_python_pulse_common-1.1.80 → plexus_python_pulse_common-1.1.82}/test/testenv.py +0 -0
@@ -1,13 +1,48 @@
1
1
  root = true
2
2
 
3
- [*.py]
3
+ [*]
4
4
  charset = utf-8
5
5
  end_of_line = lf
6
- insert_final_newline = true
7
- trim_trailing_whitespace = true
8
- indent_style = space
9
6
  indent_size = 4
7
+ indent_style = space
8
+ insert_final_newline = false
9
+ max_line_length = 120
10
+ tab_width = 4
11
+ ij_formatter_tags_enabled = true
12
+ ij_formatter_off_tag = @formatter:off
13
+ ij_formatter_on_tag = @formatter:on
14
+
15
+ [{*.bash,*.sh,*.zsh}]
16
+ indent_size = 2
17
+ tab_width = 2
18
+ ij_shell_binary_ops_start_line = false
19
+ ij_shell_keep_column_alignment_padding = false
20
+ ij_shell_minify_program = false
21
+ ij_shell_redirect_followed_by_space = false
22
+ ij_shell_switch_cases_indented = false
23
+ ij_shell_use_unix_line_separator = true
10
24
 
25
+ [{*.markdown,*.md}]
26
+ ij_markdown_force_one_space_after_blockquote_symbol = true
27
+ ij_markdown_force_one_space_after_header_symbol = true
28
+ ij_markdown_force_one_space_after_list_bullet = true
29
+ ij_markdown_force_one_space_between_words = true
30
+ ij_markdown_format_tables = true
31
+ ij_markdown_insert_quote_arrows_on_wrap = true
32
+ ij_markdown_keep_indents_on_empty_lines = false
33
+ ij_markdown_keep_line_breaks_inside_text_blocks = true
34
+ ij_markdown_max_lines_around_block_elements = 1
35
+ ij_markdown_max_lines_around_header = 1
36
+ ij_markdown_max_lines_between_paragraphs = 1
37
+ ij_markdown_min_lines_around_block_elements = 1
38
+ ij_markdown_min_lines_around_header = 1
39
+ ij_markdown_min_lines_between_paragraphs = 1
40
+ ij_markdown_wrap_text_if_long = true
41
+ ij_markdown_wrap_text_inside_blockquotes = true
42
+
43
+ [*.py]
44
+ insert_final_newline = true
45
+ trim_trailing_whitespace = true
11
46
  ij_python_align_collections_and_comprehensions = true
12
47
  ij_python_align_multiline_imports = true
13
48
  ij_python_align_multiline_parameters = true
@@ -21,16 +56,16 @@ ij_python_blank_lines_around_top_level_classes_functions = 2
21
56
  ij_python_blank_lines_before_first_method = 0
22
57
  ij_python_call_parameters_new_line_after_left_paren = false
23
58
  ij_python_call_parameters_right_paren_on_new_line = false
24
- ij_python_call_parameters_wrap = normal
59
+ ij_python_call_parameters_wrap = on_every_item
25
60
  ij_python_dict_alignment = 0
26
61
  ij_python_dict_new_line_after_left_brace = false
27
62
  ij_python_dict_new_line_before_right_brace = false
28
- ij_python_dict_wrapping = 1
29
- ij_python_from_import_new_line_after_left_parenthesis = false
30
- ij_python_from_import_new_line_before_right_parenthesis = false
31
- ij_python_from_import_parentheses_force_if_multiline = false
32
- ij_python_from_import_trailing_comma_if_multiline = false
33
- ij_python_from_import_wrapping = 1
63
+ ij_python_dict_wrapping = on_every_item
64
+ ij_python_from_import_new_line_after_left_parenthesis = true
65
+ ij_python_from_import_new_line_before_right_parenthesis = true
66
+ ij_python_from_import_parentheses_force_if_multiline = true
67
+ ij_python_from_import_trailing_comma_if_multiline = true
68
+ ij_python_from_import_wrapping = on_every_item
34
69
  ij_python_hang_closing_brackets = false
35
70
  ij_python_keep_blank_lines_in_code = 1
36
71
  ij_python_keep_blank_lines_in_declarations = 1
@@ -38,7 +73,7 @@ ij_python_keep_indents_on_empty_lines = false
38
73
  ij_python_keep_line_breaks = true
39
74
  ij_python_method_parameters_new_line_after_left_paren = false
40
75
  ij_python_method_parameters_right_paren_on_new_line = false
41
- ij_python_method_parameters_wrap = normal
76
+ ij_python_method_parameters_wrap = on_every_item
42
77
  ij_python_new_line_after_colon = false
43
78
  ij_python_new_line_after_colon_multi_clause = true
44
79
  ij_python_optimize_imports_always_split_from_imports = false
@@ -78,3 +113,33 @@ ij_python_use_continuation_indent_for_arguments = false
78
113
  ij_python_use_continuation_indent_for_collection_and_comprehensions = false
79
114
  ij_python_use_continuation_indent_for_parameters = false
80
115
  ij_python_wrap_long_lines = false
116
+
117
+ [*.json]
118
+ indent_size = 2
119
+ ij_json_array_wrapping = split_into_lines
120
+ ij_json_keep_blank_lines_in_code = 0
121
+ ij_json_keep_indents_on_empty_lines = false
122
+ ij_json_keep_line_breaks = true
123
+ ij_json_keep_trailing_comma = false
124
+ ij_json_object_wrapping = split_into_lines
125
+ ij_json_property_alignment = do_not_align
126
+ ij_json_space_after_colon = true
127
+ ij_json_space_after_comma = true
128
+ ij_json_space_before_colon = false
129
+ ij_json_space_before_comma = false
130
+ ij_json_spaces_within_braces = false
131
+ ij_json_spaces_within_brackets = false
132
+ ij_json_wrap_long_lines = false
133
+
134
+ [{*.yaml,*.yml}]
135
+ indent_size = 2
136
+ ij_yaml_align_values_properties = do_not_align
137
+ ij_yaml_autoinsert_sequence_marker = true
138
+ ij_yaml_block_mapping_on_new_line = false
139
+ ij_yaml_indent_sequence_value = true
140
+ ij_yaml_keep_indents_on_empty_lines = false
141
+ ij_yaml_keep_line_breaks = true
142
+ ij_yaml_sequence_on_new_line = false
143
+ ij_yaml_space_before_colon = false
144
+ ij_yaml_spaces_within_braces = true
145
+ ij_yaml_spaces_within_brackets = true
@@ -1,15 +1,16 @@
1
- # System junks
2
- *.[oa]
3
- *~
1
+ # OS scratch
4
2
  .DS_Store
5
3
  Thumbs.db
4
+ *.[oa]
5
+ *~
6
6
 
7
7
  # Git
8
8
  .git/
9
9
 
10
- # General
10
+ # General scratch files and compiled output
11
11
  target/
12
12
  output/
13
+ out/
13
14
  build/
14
15
  opt/
15
16
  gen/
@@ -25,7 +26,7 @@ temp/
25
26
  .vscode/
26
27
 
27
28
 
28
- # Byte-compiled / optimized / DLL files
29
+ # Python byte-compiled / optimized / DLL files
29
30
  __pycache__/
30
31
  *.py[cod]
31
32
  *$py.class
@@ -33,9 +34,8 @@ __pycache__/
33
34
  # C extensions
34
35
  *.so
35
36
 
36
- # Distribution / packaging
37
+ # Python distribution / packaging
37
38
  .Python
38
- build/
39
39
  develop-eggs/
40
40
  dist/
41
41
  downloads/
@@ -49,8 +49,8 @@ var/
49
49
  wheels/
50
50
  share/python-wheels/
51
51
  *.egg-info/
52
- .installed.cfg
53
52
  *.egg
53
+ .installed.cfg
54
54
  MANIFEST
55
55
 
56
56
  # PyInstaller
@@ -112,7 +112,7 @@ ipython_config.py
112
112
  # pyenv
113
113
  # For a library or package, you might want to ignore these files since the code is
114
114
  # intended to run in multiple environments; otherwise, check them in:
115
- # .python-version
115
+ #.python-version
116
116
 
117
117
  # pipenv
118
118
  # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
@@ -178,10 +178,3 @@ dmypy.json
178
178
 
179
179
  # Cython debug symbols
180
180
  cython_debug/
181
-
182
- # PyCharm
183
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
184
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
185
- # and can be added to the global gitignore or merged into this file. For a more nuclear
186
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
187
- #.idea/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plexus-python-pulse-common
3
- Version: 1.1.80
3
+ Version: 1.1.82
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: Programming Language :: Python :: 3.12
6
6
  Classifier: Programming Language :: Python :: 3.13
@@ -444,6 +444,11 @@ def make_tag_target_model_mixin() -> type[pdt.BaseModel]:
444
444
  default=None,
445
445
  description="Additional properties of the tag target in JSON format",
446
446
  )
447
+ flags: int = Field(
448
+ sa_column=sa.Column(sa_sqlite.INTEGER),
449
+ default=0,
450
+ description="Integer bitmask storing status or metadata flags for this tag target",
451
+ )
447
452
 
448
453
  @pdt.field_validator("identifier", mode="after")
449
454
  @classmethod
@@ -619,6 +624,7 @@ if typing.TYPE_CHECKING:
619
624
  begin_dt: sa_orm.Mapped[datetime.datetime] = ...
620
625
  end_dt: sa_orm.Mapped[datetime.datetime] = ...
621
626
  props: sa_orm.Mapped[JsonType | None] = ...
627
+ flags: sa_orm.Mapped[int] = ...
622
628
 
623
629
 
624
630
  class TagTargetTable(TagTarget, SequenceModelMixinProtocol):
@@ -769,6 +775,7 @@ class TagCache(object):
769
775
  begin_dt: datetime.datetime | None = None,
770
776
  end_dt: datetime.datetime | None = None,
771
777
  props: JsonType | None = None,
778
+ flags: int | None = None,
772
779
  ) -> Chainable[Self, TagTargetTable]:
773
780
  """
774
781
  Updates a tag target.
@@ -781,6 +788,7 @@ class TagCache(object):
781
788
  :param begin_dt: New start datetime for the tag target's validity period.
782
789
  :param end_dt: New end datetime for the tag target's validity period.
783
790
  :param props: New additional tag target properties.
791
+ :param flags: New integer bitmask for status or metadata flags.
784
792
  :return: Chainable self and the updated ``TagTargetTable`` instance.
785
793
  """
786
794
 
@@ -808,6 +816,8 @@ class TagCache(object):
808
816
  db_tag_target.vehicle_name = vehicle_name
809
817
  if props is not None:
810
818
  db_tag_target.props = props
819
+ if flags is not None:
820
+ db_tag_target.flags = flags
811
821
 
812
822
  session.commit()
813
823
 
@@ -892,7 +902,7 @@ class TagCache(object):
892
902
  .delete(synchronize_session=False)
893
903
  )
894
904
 
895
- query_stmt.delete(synchronize_session=False)
905
+ query_stmt.delete()
896
906
  session.commit()
897
907
 
898
908
  return self
@@ -1179,10 +1189,10 @@ class TagCache(object):
1179
1189
  begin_dt: datetime.datetime,
1180
1190
  end_dt: datetime.datetime,
1181
1191
  tag: str | Tag | BoundTag,
1182
- features: JsonType | None = None,
1183
- props: JsonType | None = None,
1184
1192
  tagset_namespace: str | None = None,
1185
1193
  tagset_version: str | None = None,
1194
+ features: JsonType | None = None,
1195
+ props: JsonType | None = None,
1186
1196
  ) -> Chainable[Self, TagRecordTable]:
1187
1197
  """
1188
1198
  Adds a tag record to the cache for the specified time range.
@@ -1192,14 +1202,14 @@ class TagCache(object):
1192
1202
  :param end_dt: End datetime of the tag record.
1193
1203
  :param tag: Tag name or ``Tag``/``BoundTag`` instance to add. If a ``Tag``/``BoundTag`` instance is provided,
1194
1204
  its name is used.
1195
- :param features: Optional tag record features in JSON format, used to store preprocessed data for querying
1196
- and filtering.
1197
- :param props: Optional tag record properties in JSON format.
1198
1205
  :param tagset_namespace: Namespace of the tagset that the tag belongs to. If the ``tag`` parameter is a
1199
1206
  ``BoundTag`` instance, this parameter will be ignored and the namespace from the
1200
1207
  instance will be used.
1201
1208
  :param tagset_version: Version of the tagset that the tag belongs to. If the ``tag`` parameter is a ``BoundTag``
1202
1209
  instance, this parameter will be ignored and the version from the instance will be used.
1210
+ :param features: Optional tag record features in JSON format, used to store preprocessed data for querying
1211
+ and filtering.
1212
+ :param props: Optional tag record properties in JSON format.
1203
1213
  :return: Chainable self and the added ``TagRecordTable`` instance.
1204
1214
  """
1205
1215
  if is_tag_cache_strict_mode():
@@ -1234,10 +1244,10 @@ class TagCache(object):
1234
1244
  begin_dt: datetime.datetime | None = None,
1235
1245
  end_dt: datetime.datetime | None = None,
1236
1246
  tag: str | Tag | BoundTag | None = None,
1237
- features: JsonType | None = None,
1238
- props: JsonType | None = None,
1239
1247
  tagset_namespace: str | None = None,
1240
1248
  tagset_version: str | None = None,
1249
+ features: JsonType | None = None,
1250
+ props: JsonType | None = None,
1241
1251
  flags: int | None = None,
1242
1252
  ) -> Chainable[Self, TagRecordTable]:
1243
1253
  """
@@ -1245,20 +1255,20 @@ class TagCache(object):
1245
1255
 
1246
1256
  :param target_sqn: Sequence number of the tag record's target.
1247
1257
  :param sqn: Sequence number of the tag record to update.
1248
- :param begin_dt: New start datetime of the tag record (optional).
1249
- :param end_dt: New end datetime of the tag record (optional).
1250
- :param tag: New tag name or ``Tag``/``BoundTag`` instance to use (optional). If a ``Tag``/``BoundTag`` instance
1251
- is provided, its name will be used.
1258
+ :param begin_dt: New start datetime of the tag record.
1259
+ :param end_dt: New end datetime of the tag record.
1260
+ :param tag: New tag name or ``Tag``/``BoundTag`` instance to use. If a ``Tag``/``BoundTag`` instance is
1261
+ provided, its name will be used.
1262
+ :param tagset_namespace: New namespace of the tagset that the tag belongs to. If the ``tag`` parameter is a
1263
+ ``BoundTag`` instance, this parameter will be ignored and the namespace from the
1264
+ instance will be used.
1265
+ :param tagset_version: New version of the tagset that the tag belongs to. If the ``tag`` parameter is a
1266
+ ``BoundTag`` instance, this parameter will be ignored and the version from the instance
1267
+ will be used.
1252
1268
  :param features: New optional tag record features in JSON format, used to store preprocessed data for querying
1253
1269
  and filtering.
1254
1270
  :param props: New optional tag record properties in JSON format.
1255
- :param tagset_namespace: New namespace of the tagset that the tag belongs to (optional). If the ``tag``
1256
- parameter is a ``BoundTag`` instance, this parameter will be ignored and the namespace
1257
- from the instance will be used.
1258
- :param tagset_version: New version of the tagset that the tag belongs to (optional). If the ``tag`` parameter
1259
- is a ``BoundTag`` instance, this parameter will be ignored and the version from the
1260
- instance will be used.
1261
- :param flags: New integer bitmask for status or metadata flags (optional).
1271
+ :param flags: New integer bitmask for status or metadata flags.
1262
1272
  :return: Chainable self and the updated ``TagRecordTable`` instance.
1263
1273
  """
1264
1274
  with self.make_session() as session:
@@ -1459,38 +1469,38 @@ class TargetedTagCache(object):
1459
1469
  begin_dt: datetime.datetime | None,
1460
1470
  end_dt: datetime.datetime | None,
1461
1471
  tag: str | Tag | BoundTag,
1462
- features: JsonType | None = None,
1463
- props: JsonType | None = None,
1464
1472
  tagset_namespace: str | None = None,
1465
1473
  tagset_version: str | None = None,
1474
+ features: JsonType | None = None,
1475
+ props: JsonType | None = None,
1466
1476
  ) -> Chainable[Self, TagRecordTable]:
1467
1477
  result = self.cache.target_add_record(
1468
1478
  target_sqn=self.tag_target.sqn,
1469
1479
  begin_dt=begin_dt or self.tag_target.begin_dt,
1470
1480
  end_dt=end_dt or self.tag_target.end_dt,
1471
1481
  tag=tag,
1472
- features=features,
1473
- props=props,
1474
1482
  tagset_namespace=tagset_namespace,
1475
1483
  tagset_version=tagset_version,
1484
+ features=features,
1485
+ props=props,
1476
1486
  )
1477
1487
  return result.retarget(self)
1478
1488
 
1479
1489
  def add_record(
1480
1490
  self,
1481
1491
  tag: str | Tag | BoundTag,
1482
- features: JsonType | None = None,
1483
- props: JsonType | None = None,
1484
1492
  tagset_namespace: str | None = None,
1485
1493
  tagset_version: str | None = None,
1494
+ features: JsonType | None = None,
1495
+ props: JsonType | None = None,
1486
1496
  ) -> Chainable[Self, TagRecordTable]:
1487
1497
  result = self.add_ranged_record(
1488
1498
  begin_dt=self.tag_target.begin_dt,
1489
1499
  end_dt=self.tag_target.end_dt,
1490
1500
  tag=tag,
1491
- features=features,
1492
1501
  tagset_namespace=tagset_namespace,
1493
1502
  tagset_version=tagset_version,
1503
+ features=features,
1494
1504
  props=props,
1495
1505
  )
1496
1506
  return result.retarget(self)
@@ -1502,10 +1512,10 @@ class TargetedTagCache(object):
1502
1512
  begin_dt: datetime.datetime | None = None,
1503
1513
  end_dt: datetime.datetime | None = None,
1504
1514
  tag: str | Tag | BoundTag | None = None,
1505
- features: JsonType | None = None,
1506
- props: JsonType | None = None,
1507
1515
  tagset_namespace: str | None = None,
1508
1516
  tagset_version: str | None = None,
1517
+ features: JsonType | None = None,
1518
+ props: JsonType | None = None,
1509
1519
  flags: int | None = None,
1510
1520
  ) -> Chainable[Self, TagRecordTable]:
1511
1521
  result = self.cache.target_update_record(
@@ -1514,10 +1524,10 @@ class TargetedTagCache(object):
1514
1524
  begin_dt=begin_dt,
1515
1525
  end_dt=end_dt,
1516
1526
  tag=tag,
1517
- features=features,
1518
- props=props,
1519
1527
  tagset_namespace=tagset_namespace,
1520
1528
  tagset_version=tagset_version,
1529
+ features=features,
1530
+ props=props,
1521
1531
  flags=flags,
1522
1532
  )
1523
1533
  return result.retarget(self)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plexus-python-pulse-common
3
- Version: 1.1.80
3
+ Version: 1.1.82
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: Programming Language :: Python :: 3.12
6
6
  Classifier: Programming Language :: Python :: 3.13
@@ -25,11 +25,11 @@ class MockedDockerClient(docker.DockerClient):
25
25
 
26
26
  class MockedDockerImage(docker.models.resource.Model):
27
27
  def __init__(
28
- self,
29
- model_id: str,
30
- *,
31
- tags_callee: CalleeMock = return_callee(),
32
- labels_callee: CalleeMock = return_callee(),
28
+ self,
29
+ model_id: str,
30
+ *,
31
+ tags_callee: CalleeMock = return_callee(),
32
+ labels_callee: CalleeMock = return_callee(),
33
33
  ):
34
34
  super(MockedDockerImage, self).__init__({docker.models.resource.Model.id_attribute: model_id})
35
35
  self.tags_callee = tags_callee
@@ -46,14 +46,14 @@ class MockedDockerImage(docker.models.resource.Model):
46
46
 
47
47
  class MockedDockerContainer(docker.models.resource.Model):
48
48
  def __init__(
49
- self,
50
- model_id: str,
51
- *,
52
- status_callee: CalleeMock = return_callee(),
53
- wait_callee: CalleeMock = return_callee(),
54
- logs_callee: CalleeMock = return_callee(),
55
- stop_callee: CalleeMock = return_callee(),
56
- remove_callee: CalleeMock = return_callee(),
49
+ self,
50
+ model_id: str,
51
+ *,
52
+ status_callee: CalleeMock = return_callee(),
53
+ wait_callee: CalleeMock = return_callee(),
54
+ logs_callee: CalleeMock = return_callee(),
55
+ stop_callee: CalleeMock = return_callee(),
56
+ remove_callee: CalleeMock = return_callee(),
57
57
  ):
58
58
  super(MockedDockerContainer, self).__init__({docker.models.resource.Model.id_attribute: model_id})
59
59
  self.status_callee = status_callee