cucu 1.2.3__py3-none-any.whl → 1.2.5__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.

Potentially problematic release.


This version of cucu might be problematic. Click here for more details.

Files changed (95) hide show
  1. cucu/__init__.py +0 -0
  2. cucu/ansi_parser.py +0 -0
  3. cucu/behave_tweaks.py +0 -0
  4. cucu/browser/__init__.py +0 -0
  5. cucu/browser/core.py +0 -0
  6. cucu/browser/frames.py +0 -0
  7. cucu/browser/selenium.py +7 -3
  8. cucu/browser/selenium_tweaks.py +0 -0
  9. cucu/cli/__init__.py +0 -0
  10. cucu/cli/core.py +15 -5
  11. cucu/cli/run.py +25 -26
  12. cucu/cli/steps.py +0 -0
  13. cucu/cli/thread_dumper.py +0 -0
  14. cucu/config.py +39 -12
  15. cucu/edgedriver_autoinstaller/README.md +0 -0
  16. cucu/edgedriver_autoinstaller/__init__.py +0 -0
  17. cucu/edgedriver_autoinstaller/utils.py +0 -0
  18. cucu/environment.py +106 -62
  19. cucu/external/jquery/jquery-3.5.1.min.js +0 -0
  20. cucu/formatter/__init__.py +0 -0
  21. cucu/formatter/cucu.py +1 -1
  22. cucu/formatter/json.py +1 -1
  23. cucu/formatter/junit.py +0 -0
  24. cucu/fuzzy/__init__.py +0 -0
  25. cucu/fuzzy/core.py +0 -0
  26. cucu/fuzzy/fuzzy.js +0 -0
  27. cucu/helpers.py +0 -0
  28. cucu/hooks.py +0 -0
  29. cucu/init_data/.gitignore +0 -0
  30. cucu/init_data/README.md +0 -0
  31. cucu/init_data/cucurc.yml +0 -0
  32. cucu/init_data/data/www/example.html +0 -0
  33. cucu/init_data/features/cucurc.yml +0 -0
  34. cucu/init_data/features/environment.py +0 -0
  35. cucu/init_data/features/example.feature +0 -0
  36. cucu/init_data/features/lint_rules/sid.yaml +0 -0
  37. cucu/init_data/features/steps/__init__.py +0 -0
  38. cucu/init_data/features/steps/my_steps.py +0 -0
  39. cucu/language_server/__init__.py +0 -0
  40. cucu/language_server/core.py +0 -0
  41. cucu/lint/__init__.py +0 -0
  42. cucu/lint/linter.py +0 -0
  43. cucu/lint/rules/format.yaml +0 -0
  44. cucu/logger.py +0 -0
  45. cucu/matcher/__init__.py +0 -0
  46. cucu/matcher/core.py +0 -0
  47. cucu/page_checks.py +0 -0
  48. cucu/reporter/__init__.py +0 -0
  49. cucu/reporter/external/bootstrap.min.css +0 -0
  50. cucu/reporter/external/bootstrap.min.js +0 -0
  51. cucu/reporter/external/dataTables.bootstrap.min.css +0 -0
  52. cucu/reporter/external/dataTables.bootstrap.min.js +0 -0
  53. cucu/reporter/external/jquery-3.5.1.min.js +0 -0
  54. cucu/reporter/external/jquery.dataTables.min.js +0 -0
  55. cucu/reporter/external/popper.min.js +0 -0
  56. cucu/reporter/favicon.png +0 -0
  57. cucu/reporter/html.py +0 -0
  58. cucu/reporter/templates/feature.html +0 -0
  59. cucu/reporter/templates/flat.html +0 -0
  60. cucu/reporter/templates/index.html +0 -0
  61. cucu/reporter/templates/layout.html +0 -0
  62. cucu/reporter/templates/scenario.html +2 -2
  63. cucu/steps/__init__.py +0 -0
  64. cucu/steps/base_steps.py +0 -0
  65. cucu/steps/browser_steps.py +4 -4
  66. cucu/steps/button_steps.py +0 -0
  67. cucu/steps/checkbox_steps.py +0 -0
  68. cucu/steps/command_steps.py +0 -0
  69. cucu/steps/draggable_steps.py +0 -0
  70. cucu/steps/dropdown_steps.py +0 -0
  71. cucu/steps/file_input_steps.py +0 -0
  72. cucu/steps/filesystem_steps.py +0 -0
  73. cucu/steps/flow_control_steps.py +0 -0
  74. cucu/steps/image_steps.py +0 -0
  75. cucu/steps/input_steps.py +0 -0
  76. cucu/steps/link_steps.py +0 -0
  77. cucu/steps/menuitem_steps.py +0 -0
  78. cucu/steps/platform_steps.py +0 -0
  79. cucu/steps/radio_steps.py +0 -0
  80. cucu/steps/section_steps.py +21 -2
  81. cucu/steps/step_utils.py +0 -0
  82. cucu/steps/tab_steps.py +0 -0
  83. cucu/steps/table_steps.py +0 -0
  84. cucu/steps/tables.js +0 -0
  85. cucu/steps/text_steps.py +0 -0
  86. cucu/steps/variable_steps.py +0 -0
  87. cucu/steps/webserver_steps.py +0 -0
  88. cucu/utils.py +60 -2
  89. {cucu-1.2.3.dist-info → cucu-1.2.5.dist-info}/METADATA +12 -11
  90. cucu-1.2.5.dist-info/RECORD +92 -0
  91. cucu-1.2.5.dist-info/WHEEL +4 -0
  92. {cucu-1.2.3.dist-info → cucu-1.2.5.dist-info}/entry_points.txt +1 -0
  93. cucu-1.2.3.dist-info/RECORD +0 -93
  94. cucu-1.2.3.dist-info/WHEEL +0 -4
  95. cucu-1.2.3.dist-info/licenses/LICENSE +0 -32
cucu/matcher/core.py CHANGED
File without changes
cucu/page_checks.py CHANGED
File without changes
cucu/reporter/__init__.py CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
cucu/reporter/favicon.png CHANGED
File without changes
cucu/reporter/html.py CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -75,7 +75,7 @@
75
75
  {% endif %}
76
76
  </td>
77
77
  <td style="text-align: right; margin-top: auto;" class="col-2">
78
- <pre style="display: inline; color: gray;">Offset and Duration (s)</pre>
78
+ <pre style="display: inline; color: gray;">Start Time and Duration (s)</pre>
79
79
  </td>
80
80
  </tr>
81
81
  {% for step in steps %}
@@ -88,7 +88,7 @@
88
88
  {% if step['result'] is defined %}
89
89
  {% set step_status = step['result']['status'] %}
90
90
  {% if step['result']['status'] == 'failed' or step['result']['status'] == 'passed' %}
91
- {% set step_timing = "{} for {:.3f}s".format(step["result"]["time_offset"].strftime("%H:%M:%S"), step["result"]["duration"]) %}
91
+ {% set step_timing = "{} for {:.3f}s".format(step["result"]["timestamp"].strftime("%H:%M:%S"), step["result"]["duration"]) %}
92
92
  {% set step_start = step["result"]["timestamp"] %}
93
93
  {% endif %}
94
94
  {% else %}
cucu/steps/__init__.py CHANGED
File without changes
cucu/steps/base_steps.py CHANGED
File without changes
@@ -254,8 +254,8 @@ def save_browser_tabs_info_to_variable(ctx, variable):
254
254
  ctx.check_browser_initialized()
255
255
  tabs_info = ctx.browser.get_all_tabs_info()
256
256
  lst_tab_info = [
257
- f"tab({tab['index'] + 1}): {tab['title']}, url: {tab['url']}"
258
- for tab in tabs_info
257
+ f"tab({index + 1}): {tab['title']}, url: {tab['url']}"
258
+ for index, tab in enumerate(tabs_info)
259
259
  ]
260
260
  config.CONFIG[variable] = lst_tab_info
261
261
 
@@ -274,8 +274,8 @@ def list_current_browser_tab_info(ctx):
274
274
  def list_browser_tabs_info(ctx):
275
275
  ctx.check_browser_initialized()
276
276
  all_tabs_info = ctx.browser.get_all_tabs_info()
277
- for tab in all_tabs_info:
278
- tab_index = tab["index"] + 1
277
+ for index, tab in enumerate(all_tabs_info):
278
+ tab_index = index + 1
279
279
  title = tab["title"]
280
280
  url = tab["url"]
281
281
  print(f"\ntab({tab_index}): {title}\nurl: {url}\n")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
cucu/steps/image_steps.py CHANGED
File without changes
cucu/steps/input_steps.py CHANGED
File without changes
cucu/steps/link_steps.py CHANGED
File without changes
File without changes
File without changes
cucu/steps/radio_steps.py CHANGED
File without changes
@@ -1,3 +1,5 @@
1
+ import logging
2
+
1
3
  from behave import use_step_matcher
2
4
 
3
5
  from cucu import step
@@ -6,7 +8,7 @@ use_step_matcher("re") # use regex to match section heading patterns
6
8
 
7
9
 
8
10
  @step("(#{1,4})\\s*(.*)")
9
- def section_step(ctx, heading_level, section_text):
11
+ def section_step(ctx, section_level, section_text):
10
12
  """
11
13
  A section heading step that organizes scenarios into logical sections.
12
14
 
@@ -19,7 +21,24 @@ def section_step(ctx, heading_level, section_text):
19
21
  The number of # characters determines the heading level (1-4).
20
22
  This step is a no-op but provides structure in the HTML report.
21
23
  """
22
- pass
24
+ step = ctx.current_step
25
+ step.section_level = len(section_level)
26
+ step.parent_seq = 0
27
+
28
+ while len(ctx.section_step_stack):
29
+ latest_section = ctx.section_step_stack[-1]
30
+ if latest_section.section_level < step.section_level:
31
+ step.parent_seq = latest_section.seq
32
+ break
33
+ ctx.section_step_stack.pop()
34
+ logging.debug(
35
+ f"Section: exited '{latest_section.name}' (level {latest_section.section_level})"
36
+ )
37
+
38
+ ctx.section_step_stack.append(ctx.current_step)
39
+ logging.debug(
40
+ f"Section: entering '{step.name}' (level {step.section_level})"
41
+ )
23
42
 
24
43
 
25
44
  use_step_matcher("parse") # set this back to cucu's default matcher parser
cucu/steps/step_utils.py CHANGED
File without changes
cucu/steps/tab_steps.py CHANGED
File without changes
cucu/steps/table_steps.py CHANGED
File without changes
cucu/steps/tables.js CHANGED
File without changes
cucu/steps/text_steps.py CHANGED
File without changes
File without changes
File without changes
cucu/utils.py CHANGED
@@ -3,10 +3,12 @@ various cucu utilities can be placed here and then exposed publicly through
3
3
  the src/cucu/__init__.py
4
4
  """
5
5
 
6
+ import hashlib
6
7
  import logging
7
8
  import os
8
9
  import pkgutil
9
10
  import shutil
11
+ import time
10
12
 
11
13
  import humanize
12
14
  from selenium.webdriver.common.by import By
@@ -41,6 +43,16 @@ class StopRetryException(Exception):
41
43
  pass
42
44
 
43
45
 
46
+ def generate_short_id():
47
+ """
48
+ Generate a short 7-character ID based on current performance counter.
49
+ Used for both cucu_run_id and scenario_run_id.
50
+ """
51
+ return hashlib.sha256(
52
+ str(time.perf_counter()).encode("utf-8")
53
+ ).hexdigest()[:7]
54
+
55
+
44
56
  def format_gherkin_table(table, headings=[], prefix=""):
45
57
  formatted = tabulate(table, headings, tablefmt=GHERKIN_TABLEFORMAT)
46
58
  if prefix == "":
@@ -76,7 +88,7 @@ def run_steps(ctx, steps_text):
76
88
  steps = ctx.feature.parser.parse_steps(steps_text)
77
89
 
78
90
  current_step = ctx.current_step
79
- current_step_start_time = ctx.start_time
91
+ current_step_start_at = current_step.start_at
80
92
 
81
93
  # XXX: I want to get back to this and find a slightly better way to handle
82
94
  # these substeps without mucking around with so much state in behave
@@ -101,7 +113,7 @@ def run_steps(ctx, steps_text):
101
113
  ctx.text = original_text
102
114
  finally:
103
115
  ctx.current_step = current_step
104
- ctx.start_time = current_step_start_time
116
+ ctx.current_step.start_at = current_step_start_at
105
117
 
106
118
  return True
107
119
 
@@ -222,6 +234,10 @@ def take_saw_element_screenshot(ctx, thing, name, index, element=None):
222
234
 
223
235
 
224
236
  def take_screenshot(ctx, step_name, label="", element=None):
237
+ step = ctx.current_step
238
+ if not hasattr(step, "screenshots"):
239
+ step.screenshots = []
240
+
225
241
  screenshot_dir = os.path.join(
226
242
  ctx.scenario_dir, get_step_image_dir(ctx.step_index, step_name)
227
243
  )
@@ -268,6 +284,20 @@ def take_screenshot(ctx, step_name, label="", element=None):
268
284
  """
269
285
  ctx.browser.execute(clear_highlight, element)
270
286
 
287
+ screenshot = {
288
+ "step_name": step_name,
289
+ "label": label,
290
+ "element": element,
291
+ "location": f"({element.location['x']},{element.location['y']})"
292
+ if element
293
+ else "",
294
+ "size": f"({element.size['width']},{element.size['height']})"
295
+ if element
296
+ else "",
297
+ "filepath": filepath,
298
+ }
299
+ step.screenshots.append(screenshot)
300
+
271
301
  if CONFIG["CUCU_MONITOR_PNG"]:
272
302
  shutil.copyfile(filepath, CONFIG["CUCU_MONITOR_PNG"])
273
303
 
@@ -297,3 +327,31 @@ def find_n_click_input_parent_label(ctx, input_element):
297
327
  def is_element_size_zero(element):
298
328
  size = element.size
299
329
  return size["width"] == 0 and size["height"] == 0
330
+
331
+
332
+ class TeeStream:
333
+ """
334
+ A stream that writes to both a file stream and captures content in an internal buffer.
335
+ Provides file-like accessors to read the captured content.
336
+ """
337
+
338
+ def __init__(self, file_stream):
339
+ self.file_stream = file_stream
340
+ self.string_buffer = []
341
+
342
+ def write(self, data):
343
+ self.file_stream.write(data)
344
+ self.string_buffer.append(data)
345
+
346
+ def flush(self):
347
+ self.file_stream.flush()
348
+
349
+ def getvalue(self):
350
+ return "".join(self.string_buffer)
351
+
352
+ def read(self):
353
+ return self.getvalue()
354
+
355
+ def clear(self):
356
+ """Clear the internal buffer."""
357
+ self.string_buffer = []
@@ -1,23 +1,18 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.3
2
2
  Name: cucu
3
- Version: 1.2.3
3
+ Version: 1.2.5
4
4
  Summary: Easy BDD web testing
5
- Project-URL: Homepage, https://github.com/dominodatalab/cucu/wiki
6
- Project-URL: Download, https://pypi.org/project/cucu/
7
- Project-URL: Source Code, https://github.com/dominodatalab/cucu
5
+ Keywords: cucumber,selenium,behave
6
+ Author: Domino Data Lab, Rodney Gomes, Cedric Young, Xin Dong, Kavya, Kevin Garton, Joy Liao
8
7
  Author-email: Domino Data Lab <open-source@dominodatalab.com>, Rodney Gomes <107359+rlgomes@users.noreply.github.com>, Cedric Young <4129217+ccedricyoung@users.noreply.github.com>, Xin Dong <104880864+ddl-xin@users.noreply.github.com>, Kavya <91882851+ddl-kavya@users.noreply.github.com>, Kevin Garton <71028750+ddl-kgarton@users.noreply.github.com>, Joy Liao <107583686+ddl-joy-liao@users.noreply.github.com>
9
- Maintainer-email: Domino Data Lab <open-source@dominodatalab.com>, Cedric Young <4129217+ccedricyoung@users.noreply.github.com>, Kevin Garton <71028750+ddl-kgarton@users.noreply.github.com>, Brian Colby <92048365+ddl-bcolby@users.noreply.github.com>
10
8
  License: The Clear BSD License
11
- License-File: LICENSE
12
- Keywords: behave,cucumber,selenium
13
9
  Classifier: Development Status :: 4 - Beta
14
10
  Classifier: Environment :: Console
15
11
  Classifier: Intended Audience :: Developers
16
12
  Classifier: License :: OSI Approved :: BSD License
17
- Classifier: Natural Language :: English
18
13
  Classifier: Operating System :: OS Independent
14
+ Classifier: Natural Language :: English
19
15
  Classifier: Topic :: Software Development :: Testing :: BDD
20
- Requires-Python: >=3.10
21
16
  Requires-Dist: beautifulsoup4~=4.13.3
22
17
  Requires-Dist: behave==1.2.6
23
18
  Requires-Dist: chromedriver-autoinstaller~=0.6.2
@@ -33,10 +28,16 @@ Requires-Dist: mpire~=2.10.2
33
28
  Requires-Dist: psutil>=6.0
34
29
  Requires-Dist: pygls~=1.3.1
35
30
  Requires-Dist: pyyaml~=6.0.1
36
- Requires-Dist: requests<3.0.0,>=2.31.0
31
+ Requires-Dist: requests>=2.31.0,<3.0.0
37
32
  Requires-Dist: selenium~=4.31
38
33
  Requires-Dist: tabulate~=0.9.0
39
34
  Requires-Dist: tenacity>=9.0
35
+ Maintainer: Domino Data Lab, Cedric Young, Kevin Garton, Brian Colby
36
+ Maintainer-email: Domino Data Lab <open-source@dominodatalab.com>, Cedric Young <4129217+ccedricyoung@users.noreply.github.com>, Kevin Garton <71028750+ddl-kgarton@users.noreply.github.com>, Brian Colby <92048365+ddl-bcolby@users.noreply.github.com>
37
+ Requires-Python: >=3.10
38
+ Project-URL: Download, https://pypi.org/project/cucu/
39
+ Project-URL: Homepage, https://github.com/dominodatalab/cucu/wiki
40
+ Project-URL: Source Code, https://github.com/dominodatalab/cucu
40
41
  Description-Content-Type: text/markdown
41
42
 
42
43
  [![pypi](https://img.shields.io/pypi/v/cucu.svg)](https://pypi.org/project/cucu/)
@@ -0,0 +1,92 @@
1
+ cucu/__init__.py,sha256=62db9a8ec2418f7fc380da328077a7f602a88de405e76dce736ee4c82533a06d,1013
2
+ cucu/ansi_parser.py,sha256=ff24e5aabe8aaee2ecaa0591e819292540b76e6950cbff496e4bb1171e89adba,2213
3
+ cucu/behave_tweaks.py,sha256=32a20bf410c732f9b25f2ce45466c3df077c20fdfcffca60a7734f1835ae766f,6873
4
+ cucu/browser/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
5
+ cucu/browser/core.py,sha256=23172aafc978c6c873756e0029c9752241fdf311f0458b1bb78b2757bc140e5a,2692
6
+ cucu/browser/frames.py,sha256=216ee4cd1267e4f91b31aa2f21e94078258ef93fb6b0e4f0a9a601c3ed3e2ca5,3545
7
+ cucu/browser/selenium.py,sha256=7940b60d9921508662ef4b154da344ff40216a719371ecb1fe908b213ecf37aa,13299
8
+ cucu/browser/selenium_tweaks.py,sha256=a1422159584165b73daac99050932922bf6e5162b1b60641727c92594e98b6d9,879
9
+ cucu/cli/__init__.py,sha256=b975f9c951b59289c9fc835d96b71f320f93b7fe7f712c76f4477c47cbfdd3c0,62
10
+ cucu/cli/core.py,sha256=23014432183140fe2f1adfe644205151f8d367a0b6e2dd0ee18800c9aad9d8a7,27151
11
+ cucu/cli/run.py,sha256=9e30943b42f71c2f16113ffb913ce07d36a721938420b30c28cd9d08ea7dae42,5713
12
+ cucu/cli/steps.py,sha256=960e62b551ff0bed3fdd17a5597bfd5f6a90507820771bb12c21b01f99756dfe,4210
13
+ cucu/cli/thread_dumper.py,sha256=6775e7612c62771ea9aa3950ef3bbe4ca3086195a4e33f5ce582dd3e471e9a25,1593
14
+ cucu/config.py,sha256=e4013a1ab92ace3361cf3ac1f9e66b20d81eced57b0821ae49d589fb91ad5a19,14939
15
+ cucu/edgedriver_autoinstaller/README.md,sha256=b43900588aa045d0a3b7ea17d6762a8a4202fc57e2384336fa97394b955b44ba,84
16
+ cucu/edgedriver_autoinstaller/__init__.py,sha256=7e8eb12493ef71ce57be78bc7a95dfc43a0fc491f9fdbe959368c3f494f07d1b,969
17
+ cucu/edgedriver_autoinstaller/utils.py,sha256=891293c30efb086693027b6dfd00efc6528fc69314e28b71f7939e0fdee485c3,6802
18
+ cucu/environment.py,sha256=1ec72f24abb3ae9ff214a3b6a44f00b0e42e0258399b13d8f21d5d1ab39a8d0f,11426
19
+ cucu/external/jquery/jquery-3.5.1.min.js,sha256=f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d,89476
20
+ cucu/formatter/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
21
+ cucu/formatter/cucu.py,sha256=8c78ba5bd4934508c3cb48f53ff1cb2e50533ec4ba12f532bea7948ed5acdef3,9291
22
+ cucu/formatter/json.py,sha256=7c9d5d6411b0603e0e9214050c4e3d311286373b2b843cd062af9d51fb1887de,10589
23
+ cucu/formatter/junit.py,sha256=689f5d18b6da98c1fec148bf9ac17aebffbf73f614ab4efef3fc023448d48eee,10129
24
+ cucu/fuzzy/__init__.py,sha256=71ee0946668117aa1a6fa53df506e9b7b0eb0f77a5847df6ffff8d0fa7f0e717,104
25
+ cucu/fuzzy/core.py,sha256=b6640a5ff362fb6a21a31cdcb51520db1ef331e116f0c949266a54dcf7d39af4,3153
26
+ cucu/fuzzy/fuzzy.js,sha256=79ef93cad2122f2528edc30092e548e6a6cb5ddb747a81567334eca14e336218,11618
27
+ cucu/helpers.py,sha256=97f60c99bb978ed051a3e30447ea9eeaca142328edd1ecb60684a05ace336300,36285
28
+ cucu/hooks.py,sha256=dd9d666af538d97310d0367b9555b04c1f812581d1c9850ecf33ad9a4748b28c,7117
29
+ cucu/init_data/.gitignore,sha256=160328be6391746812bd11fa12814ae9c87f13208cc90a1feb5c9a9971b43f9d,137
30
+ cucu/init_data/README.md,sha256=33d9f1dc94c9c46904c47bb2efe24919c3e0951a8c144188d6b5f4c77e908a74,1596
31
+ cucu/init_data/cucurc.yml,sha256=de0bb38f772ed67d040da32ccef1431ac0208467de9aaba15c181feadc184466,424
32
+ cucu/init_data/data/www/example.html,sha256=481d14d459f52f6052d7d4dadd024a4007fd3a5321e2671b7849f6deb13adc30,788
33
+ cucu/init_data/features/cucurc.yml,sha256=38874ae9f6c3f1a2979b749dfeba1ee7f9446fc3a98a971907cd53f3a60ad44d,291
34
+ cucu/init_data/features/environment.py,sha256=b87bbe2223f2e18a1f93b47c6000070d398d288d249e8e889ff03cd06940365c,3021
35
+ cucu/init_data/features/example.feature,sha256=7fdf580dd6b09e2cece1c99425828d85fa5c821668a55adfe9742d08c7958dfe,1010
36
+ cucu/init_data/features/lint_rules/sid.yaml,sha256=b8d61bddfe7c5498912b3cfb6909d73ba8241f04d4d5899cd5e8b7a59a336bd5,877
37
+ cucu/init_data/features/steps/__init__.py,sha256=accdb9d8a9f99c44a88cf96d35ca7263d802c607b0984f5491c454ed41b3e677,267
38
+ cucu/init_data/features/steps/my_steps.py,sha256=d51722bb637489a929f5c00015c4661950386ce56a219248cf10898f8ca56440,804
39
+ cucu/language_server/__init__.py,sha256=2143bb157a510e0bc49a58d2b81fd6a53fc1a0145d806ee5853045594c26311f,75
40
+ cucu/language_server/core.py,sha256=99409d924e3ce257655d10bb85098b2971a7437ecdba6c2e111a8d644c8250de,3532
41
+ cucu/lint/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
42
+ cucu/lint/linter.py,sha256=11e794f431cbe2cd8c24382525bd66f305efe2ea2563b5c081f8272d8d47aa1f,13246
43
+ cucu/lint/rules/format.yaml,sha256=1a6eccc7f2a72fab3c10ec8a1ad65906044424faef8aff85b98cf26b7b7257f1,3168
44
+ cucu/logger.py,sha256=63878798d142a61a971335100fe0c9f1db1aa9336dab199a29209da3ae8e73e8,3349
45
+ cucu/matcher/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
46
+ cucu/matcher/core.py,sha256=a368f834d18e459d01b4711b053784d93fef8ba109956564ae33a84b62fb50d9,1032
47
+ cucu/page_checks.py,sha256=096d40a88c59eebacbc6991ff27105c1cc3a6a69e83774dbf9a72837c76ade0d,2179
48
+ cucu/reporter/__init__.py,sha256=9d2da5229e378227eca480e089e492dddcc132f9ca7ddfbe3bc3dbdd14ebe321,71
49
+ cucu/reporter/external/bootstrap.min.css,sha256=787332f421b621664e6d4c1902435559ce834c876cdce6afcd482e0d8d15b08a,163874
50
+ cucu/reporter/external/bootstrap.min.js,sha256=799a0572727d3a86a7c34c8fb2b6770878972185015beeff84d36a721e74b0b2,48945
51
+ cucu/reporter/external/dataTables.bootstrap.min.css,sha256=0158d66fd792190d3eddfe16362554d697e4ca836fb6125d6b0fc8c4af58d9cd,10611
52
+ cucu/reporter/external/dataTables.bootstrap.min.js,sha256=1ff6491e3f74d9ea86a1c349623903dce06eb63ebc9fe4f63520639df5764289,4401
53
+ cucu/reporter/external/jquery-3.5.1.min.js,sha256=f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d,89476
54
+ cucu/reporter/external/jquery.dataTables.min.js,sha256=5cd85a075b4139214c1eef7a052009a59389cdf6784992359f001b9f0af2d946,90265
55
+ cucu/reporter/external/popper.min.js,sha256=a52f7aa54d7bcaafa056ee0a050262dfc5694ae28dee8b4cac3429af37ff0d66,19188
56
+ cucu/reporter/favicon.png,sha256=f629172c09b37d0cf2d8d429b3ff0219a66883616f42b397f279d26747b55263,2161
57
+ cucu/reporter/html.py,sha256=3ac3069b0d8b46b74c254d7c454104f5afdd8bf9a73eb4fad00b601eee1ebb70,16677
58
+ cucu/reporter/templates/feature.html,sha256=2019301a2ba5fac44ee654fcabc5455cc509c75a30b0077561b743cf38928cac,3645
59
+ cucu/reporter/templates/flat.html,sha256=246b0cabe216cfa614a495fd85c37ae7ed791f1717dcd25c94e98c0ed5b71d91,2358
60
+ cucu/reporter/templates/index.html,sha256=2c5b61dd24bfffdf3cd4d2af3c8205767ad01087034d75af4e849628db63c8a2,2726
61
+ cucu/reporter/templates/layout.html,sha256=da20d16e6f1ab4ef268075a08a322f0c2ac130abdc3fa607ae6afde56b49884e,4561
62
+ cucu/reporter/templates/scenario.html,sha256=bd30c10d37ed146a1db4da337d5b7b3a5f9fa694ea3e1d5b5b7d7f10d7350964,10115
63
+ cucu/steps/__init__.py,sha256=b1e4a60120655aeebeeb06c56ef11b3f08a005c4578983f5f02e17ff6716f0d8,753
64
+ cucu/steps/base_steps.py,sha256=d1f3ef75a2a86a7f253002ab0e72b4fb3ac02e9c66d753f5cd5018e4237b8970,1893
65
+ cucu/steps/browser_steps.py,sha256=5e583f93bde8b1563918f158fcd063d922f6e4635cd5e319423b6711341d052d,12335
66
+ cucu/steps/button_steps.py,sha256=7a3deead66dd7df8bb1e29a63dbadd50191d2c803fc5871f2e5b2a385fb9ff9b,2713
67
+ cucu/steps/checkbox_steps.py,sha256=0761ca140faec2cac26b50e6cd2eeed68d571f5d9be41ccb3e0e6a635738e391,3386
68
+ cucu/steps/command_steps.py,sha256=9d509cf3e4c48ad7ad93ece1938cf5c1ad28c2a2d0c87790547e531e2a14c3e9,5094
69
+ cucu/steps/draggable_steps.py,sha256=96740b89ca7419925ac43fd09b63f5debb94640b25de6a6dc1a239f9243a5c9d,4655
70
+ cucu/steps/dropdown_steps.py,sha256=69bca41befa6efd9034382d4d6d9bbddf34b14f9ab2836afc85cc96f63180aed,15601
71
+ cucu/steps/file_input_steps.py,sha256=2cb300a3356971e2cc0fe909384f9ab8a1c07562db369ac7f1e09f550b8da068,5523
72
+ cucu/steps/filesystem_steps.py,sha256=f25dfb03ec8fc53e0ccdd8b524d4934a1664c32171812c2787a0b457e84cfd10,4741
73
+ cucu/steps/flow_control_steps.py,sha256=be55b40aca61552f4dbeb3a7a53f30492da780798edd9f3b1fdb22288430b00c,6365
74
+ cucu/steps/image_steps.py,sha256=e17e9b76e9ac2326dc241b9aa3cdd3511c56008b216720af2a2d6e4c9128cb59,941
75
+ cucu/steps/input_steps.py,sha256=4d842192691ef96e5d26de04b14f891e34709db77bcef5e78448f0e4f4385b1b,9679
76
+ cucu/steps/link_steps.py,sha256=3102f1ca309b885d9d3ac9a3e88aca2a545885aa898f10d43537f909abb8274c,1625
77
+ cucu/steps/menuitem_steps.py,sha256=f4995a3cee814a65b618f9a4e378311b2e52d37ac4b44c78284d2e0850648e4d,1133
78
+ cucu/steps/platform_steps.py,sha256=1bb1ed04c85d46ee7cfb6fcb7570b9ae424cf45d62bc676545af41cd388769a6,754
79
+ cucu/steps/radio_steps.py,sha256=17281434f084057ce6cc63072fc0d836d2def6ae2a8dec884e244b1fee4d6da8,5931
80
+ cucu/steps/section_steps.py,sha256=041b11b494ee6ff2f582b2a78110a3eedf9ff12e2284e421b7af130b33c7671c,1283
81
+ cucu/steps/step_utils.py,sha256=0a17743506cc9df004266424a1541131b5516c29c9201bd5787ec2997ac2326d,1417
82
+ cucu/steps/tab_steps.py,sha256=4d5572b648a1bc9d86610f5bc00b35095cdbfadc3352ad7540e36511b77ab8ed,1818
83
+ cucu/steps/table_steps.py,sha256=e5b053d8772e2f2fb027cbd4b1c86a9071040fefc63cf270a9da4b1654b87bd7,13744
84
+ cucu/steps/tables.js,sha256=3acd9aec5a3e720d375d5962ed44af72705569de0dee2757afe1c1bb374bbd54,945
85
+ cucu/steps/text_steps.py,sha256=263fc61e81de7a637055d50e76a71e840acda7b58cf96323963038c34a4b5eec,2576
86
+ cucu/steps/variable_steps.py,sha256=59272d1f7ff17318e28c63d8665c69f9fa02fd220000ab45fffb1a36d81925b9,2966
87
+ cucu/steps/webserver_steps.py,sha256=c169294af71231d8ac90f921e1caa57a95b1d6792f1294d4dad4574263c36f2a,1410
88
+ cucu/utils.py,sha256=a79b12b89cc67409bda959310a384cacbe13f87e54241720f88bf303b7fcb9bb,10939
89
+ cucu-1.2.5.dist-info/WHEEL,sha256=03f80d698bb4300c27bcafc3987ea73ef427fcb365e59e808e50d041a7f87b89,78
90
+ cucu-1.2.5.dist-info/entry_points.txt,sha256=d7559122140cecbb949d0835940a1942836fbc1bd834dd666838104b8763c09a,40
91
+ cucu-1.2.5.dist-info/METADATA,sha256=2d068e4f9b75fafa2cdae5f25a4bb612e24fce621847dfeef55eac3bc73c3924,16675
92
+ cucu-1.2.5.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.8.2
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -1,2 +1,3 @@
1
1
  [console_scripts]
2
2
  cucu = cucu.cli:main
3
+
@@ -1,93 +0,0 @@
1
- cucu/__init__.py,sha256=YtuajsJBj3_DgNoygHen9gKojeQF523Oc27kyCUzoG0,1013
2
- cucu/ansi_parser.py,sha256=_yTlqr6KruLsqgWR6BkpJUC3bmlQy_9JbkuxFx6Jrbo,2213
3
- cucu/behave_tweaks.py,sha256=MqIL9BDHMvmyXyzkVGbD3wd8IP38_8pgp3NPGDWudm8,6873
4
- cucu/config.py,sha256=12SXNtBSnD3N6K9DnCDYHZDA4_Wrh4g7whdgHDKSuPw,14022
5
- cucu/environment.py,sha256=NTqvjddHrv4TPh9FNqq5xnwq21opf5HrKZJb3Oi2cg4,9950
6
- cucu/helpers.py,sha256=l_YMmbuXjtBRo-MER-qe6soUIyjt0ey2BoSgWs4zYwA,36285
7
- cucu/hooks.py,sha256=3Z1mavU42XMQ0DZ7lVWwTB-BJYHRyYUOzzOtmkdIsow,7117
8
- cucu/logger.py,sha256=Y4eHmNFCphqXEzUQD-DJ8dsaqTNtqxmaKSCdo66Oc-g,3349
9
- cucu/page_checks.py,sha256=CW1AqIxZ7rrLxpkf8nEFwcw6amnoN3Tb-acoN8dq3g0,2179
10
- cucu/utils.py,sha256=YMBJJrQGW7TaF-Og1ctAAa8RUNSNzQ9gJXD5kwsoWMA,9464
11
- cucu/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- cucu/browser/core.py,sha256=Ixcqr8l4xshzdW4AKcl1IkH98xHwRYsbt4snV7wUDlo,2692
13
- cucu/browser/frames.py,sha256=IW7kzRJn5PkbMaovIelAeCWO-T-2sOTwqaYBw-0-LKU,3545
14
- cucu/browser/selenium.py,sha256=J2oZmZxOcnlHp1QNPGgY55DzaMnVSV0MrZyVQkKzTBw,13176
15
- cucu/browser/selenium_tweaks.py,sha256=oUIhWVhBZbc9qsmQUJMpIr9uUWKxtgZBcnySWU6Yttk,879
16
- cucu/cli/__init__.py,sha256=uXX5yVG1konJ_INdlrcfMg-Tt_5_cSx29Ed8R8v908A,62
17
- cucu/cli/core.py,sha256=sAvRIi_2cd4OQiKKISk7Web5-u5KWK1DNbayqav8tpY,26915
18
- cucu/cli/run.py,sha256=uZOf1c5zAXT0ThaQvrb5kgXGwl80lAtHaTm5dDwolng,5909
19
- cucu/cli/steps.py,sha256=lg5itVH_C-0_3RelWXv9X2qQUHggdxuxLCGwH5l1bf4,4210
20
- cucu/cli/thread_dumper.py,sha256=Z3XnYSxidx6pqjlQ7zu-TKMIYZWk4z9c5YLdPkcemiU,1593
21
- cucu/edgedriver_autoinstaller/README.md,sha256=tDkAWIqgRdCjt-oX1nYqikIC_FfiOEM2-pc5S5VbRLo,84
22
- cucu/edgedriver_autoinstaller/__init__.py,sha256=fo6xJJPvcc5Xvni8epXfxDoPxJH5_b6Vk2jD9JTwfRs,969
23
- cucu/edgedriver_autoinstaller/utils.py,sha256=iRKTww77CGaTAntt_QDvxlKPxpMU4otx95OeD97khcM,6802
24
- cucu/external/jquery/jquery-3.5.1.min.js,sha256=9_aliU8dGd2tb6OSsuzixeV4y_faTqgFtohetphbbj0,89476
25
- cucu/formatter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- cucu/formatter/cucu.py,sha256=JCSrDjuZM7iu83s1-kNuP2usDkOx_U6U0v15eVmmyrI,9298
27
- cucu/formatter/json.py,sha256=8X1n3jBAlzv8rC_S-Jp-U3cjPnvGzXM6MBjAudgrAPU,10596
28
- cucu/formatter/junit.py,sha256=aJ9dGLbamMH-wUi_msF66_-_c_YUq07-8_wCNEjUju4,10129
29
- cucu/fuzzy/__init__.py,sha256=ce4JRmaBF6oab6U99Qbpt7DrD3elhH32__-ND6fw5xc,104
30
- cucu/fuzzy/core.py,sha256=tmQKX_Ni-2ohoxzctRUg2x7zMeEW8MlJJmpU3PfTmvQ,3153
31
- cucu/fuzzy/fuzzy.js,sha256=ee-TytISLyUo7cMAkuVI5qbLXdt0eoFWczTsoU4zYhg,11618
32
- cucu/init_data/.gitignore,sha256=FgMovmORdGgSvRH6EoFK6ch_EyCMyQof61yamXG0P50,137
33
- cucu/init_data/README.md,sha256=M9nx3JTJxGkExHuy7-JJGcPglRqMFEGI1rX0x36QinQ,1596
34
- cucu/init_data/cucurc.yml,sha256=3guzj3cu1n0EDaMszvFDGsAghGfemquhXBgf6twYRGY,424
35
- cucu/init_data/data/www/example.html,sha256=SB0U1Fn1L2BS19Ta3QJKQAf9OlMh4mcbeEn23rE63DA,788
36
- cucu/init_data/features/cucurc.yml,sha256=OIdK6fbD8aKXm3Sd_roe5_lEb8OpipcZB81T86YK1E0,291
37
- cucu/init_data/features/environment.py,sha256=uHu-IiPy4Yofk7R8YAAHDTmNKI0kno6In_A80GlANlw,3021
38
- cucu/init_data/features/example.feature,sha256=f99YDdawnizs4cmUJYKNhfpcghZopVrf6XQtCMeVjf4,1010
39
- cucu/init_data/features/lint_rules/sid.yaml,sha256=uNYb3f58VJiRKzz7aQnXO6gkHwTU1Ymc1ei3pZoza9U,877
40
- cucu/init_data/features/steps/__init__.py,sha256=rM252Kn5nESojPltNcpyY9gCxgewmE9UkcRU7UGz5nc,267
41
- cucu/init_data/features/steps/my_steps.py,sha256=1Rciu2N0iakp9cAAFcRmGVA4bOVqIZJIzxCJj4ylZEA,804
42
- cucu/language_server/__init__.py,sha256=IUO7FXpRDgvEmljSuB_WpT_BoBRdgG7lhTBFWUwmMR8,75
43
- cucu/language_server/core.py,sha256=mUCdkk484ldlXRC7hQmLKXGnQ37NumwuERqNZEyCUN4,3532
44
- cucu/lint/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- cucu/lint/linter.py,sha256=EeeU9DHL4s2MJDglJb1m8wXv4uolY7XAgfgnLY1Hqh8,13246
46
- cucu/lint/rules/format.yaml,sha256=Gm7Mx_KnL6s8EOyKGtZZBgREJPrviv-FuYzya3tyV_E,3168
47
- cucu/matcher/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
- cucu/matcher/core.py,sha256=o2j4NNGORZ0BtHEbBTeE2T_vi6EJlWVkrjOoS2L7UNk,1032
49
- cucu/reporter/__init__.py,sha256=nS2lIp43gifspIDgieSS3dzBMvnKfd--O8Pb3RTr4yE,71
50
- cucu/reporter/favicon.png,sha256=9ikXLAmzfQzy2NQps_8CGaZog2FvQrOX8nnSZ0e1UmM,2161
51
- cucu/reporter/html.py,sha256=OsMGmw2LRrdMJU18RUEE9a_di_mnPrT60AtgHu4eu3A,16677
52
- cucu/reporter/external/bootstrap.min.css,sha256=eHMy9CG2IWZObUwZAkNVWc6DTIds3OavzUguDY0VsIo,163874
53
- cucu/reporter/external/bootstrap.min.js,sha256=eZoFcnJ9Ooanw0yPsrZ3CHiXIYUBW-7_hNNqch50sLI,48945
54
- cucu/reporter/external/dataTables.bootstrap.min.css,sha256=AVjWb9eSGQ0-3f4WNiVU1pfkyoNvthJdaw_IxK9Y2c0,10611
55
- cucu/reporter/external/dataTables.bootstrap.min.js,sha256=H_ZJHj902eqGocNJYjkD3OButj68n-T2NSBjnfV2Qok,4401
56
- cucu/reporter/external/jquery-3.5.1.min.js,sha256=9_aliU8dGd2tb6OSsuzixeV4y_faTqgFtohetphbbj0,89476
57
- cucu/reporter/external/jquery.dataTables.min.js,sha256=XNhaB1tBOSFMHu96BSAJpZOJzfZ4SZI1nwAbnwry2UY,90265
58
- cucu/reporter/external/popper.min.js,sha256=pS96pU17yq-gVu4KBQJi38VpSuKN7otMrDQprzf_DWY,19188
59
- cucu/reporter/templates/feature.html,sha256=IBkwGiul-sRO5lT8q8VFXMUJx1owsAd1YbdDzziSjKw,3645
60
- cucu/reporter/templates/flat.html,sha256=JGsMq-IWz6YUpJX9hcN65-15HxcX3NJclOmMDtW3HZE,2358
61
- cucu/reporter/templates/index.html,sha256=LFth3SS__9881NKvPIIFdnrQEIcDTXWvToSWKNtjyKI,2726
62
- cucu/reporter/templates/layout.html,sha256=2iDRbm8atO8mgHWgijIvDCrBMKvcP6YHrmr95WtJiE4,4561
63
- cucu/reporter/templates/scenario.html,sha256=Eomxn7_gxrOeWPXKQrnUt3pgKlWeC3PTiM04LMtDI44,10113
64
- cucu/steps/__init__.py,sha256=seSmASBlWu6-6wbFbvEbPwigBcRXiYP18C4X_2cW8Ng,753
65
- cucu/steps/base_steps.py,sha256=0fPvdaKoan8lMAKrDnK0-zrALpxm11P1zVAY5CN7iXA,1893
66
- cucu/steps/browser_steps.py,sha256=WryBbrryypFlVcRdTXmU37MQX0Yb7Ys_7ylysOYSYUY,12313
67
- cucu/steps/button_steps.py,sha256=ej3urWbdffi7HimmPbrdUBkdLIA_xYcfLlsqOF-5_5s,2713
68
- cucu/steps/checkbox_steps.py,sha256=B2HKFA-uwsrCa1DmzS7u1o1XH12b5BzLPg5qY1c445E,3386
69
- cucu/steps/command_steps.py,sha256=nVCc8-TEitetk-zhk4z1wa0owqLQyHeQVH5THioUw-k,5094
70
- cucu/steps/draggable_steps.py,sha256=lnQLicp0GZJaxD_Qm2P13ruUZAsl3mptwaI5-SQ6XJ0,4655
71
- cucu/steps/dropdown_steps.py,sha256=abykG--m79kDQ4LU1tm73fNLFPmrKDavyFzJb2MYCu0,15601
72
- cucu/steps/file_input_steps.py,sha256=LLMAozVpceLMD-kJOE-auKHAdWLbNprH8eCfVQuNoGg,5523
73
- cucu/steps/filesystem_steps.py,sha256=8l37A-yPxT4Mzdi1JNSTShZkwyFxgSwnh6C0V-hM_RA,4741
74
- cucu/steps/flow_control_steps.py,sha256=vlW0CsphVS9NvrOnpT8wSS2ngHmO3Z87H9siKIQwsAw,6365
75
- cucu/steps/image_steps.py,sha256=4X6bdumsIybcJBuao83TURxWAIshZyCvKi1uTJEoy1k,941
76
- cucu/steps/input_steps.py,sha256=TYQhkmke-W5dJt4EsU-JHjRwnbd7zvXnhEjw5PQ4Wxs,9679
77
- cucu/steps/link_steps.py,sha256=MQLxyjCbiF2dOsmj6IrKKlRYhaqJjxDUNTf5Cau4J0w,1625
78
- cucu/steps/menuitem_steps.py,sha256=9JlaPO6BSmW2GPmk43gxGy5S03rEtEx4KE0uCFBkjk0,1133
79
- cucu/steps/platform_steps.py,sha256=G7HtBMhdRu58-2_LdXC5rkJM9F1ivGdlRa9BzTiHaaY,754
80
- cucu/steps/radio_steps.py,sha256=FygUNPCEBXzmzGMHL8DYNtLe9q4qjeyITiRLH-5Nbag,5931
81
- cucu/steps/section_steps.py,sha256=XeSvLkf7o_VIoVgwyxA36-9H_9XIUiAAJ6EbIqeshIE,645
82
- cucu/steps/step_utils.py,sha256=Chd0NQbMnfAEJmQkoVQRMbVRbCnJIBvVeH7CmXrCMm0,1417
83
- cucu/steps/tab_steps.py,sha256=TVVytkihvJ2GYQ9bwAs1CVzb-twzUq11QONlEbd6uO0,1818
84
- cucu/steps/table_steps.py,sha256=5bBT2HcuLy-wJ8vUschqkHEED-_GPPJwqdpLFlS4e9c,13744
85
- cucu/steps/tables.js,sha256=Os2a7Fo-cg03XVli7USvcnBVad4N7idXr-HBuzdLvVQ,945
86
- cucu/steps/text_steps.py,sha256=Jj_GHoHeemNwVdUOdqcehArNp7WM-WMjljA4w0pLXuw,2576
87
- cucu/steps/variable_steps.py,sha256=WSctH3_xcxjijGPYZlxp-foC_SIAAKtF__saNtgZJbk,2966
88
- cucu/steps/webserver_steps.py,sha256=wWkpSvcSMdiskPkh4cqlepWx1nkvEpTU2tRXQmPDbyo,1410
89
- cucu-1.2.3.dist-info/METADATA,sha256=9RmhkjPXv-XoPLHbVAsWPd3kAV0g5O-6HRfkY_mr0XI,16535
90
- cucu-1.2.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
91
- cucu-1.2.3.dist-info/entry_points.txt,sha256=YEXTyEfIZbcV0GJ9R3Gfu3j6DcOJJK7_XHkJqE3Yiao,39
92
- cucu-1.2.3.dist-info/licenses/LICENSE,sha256=WfgJYF9EaQoL_OeWr2Qd0MxhhFegDfzWSUmvDTwFxis,1721
93
- cucu-1.2.3.dist-info/RECORD,,
@@ -1,4 +0,0 @@
1
- Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
3
- Root-Is-Purelib: true
4
- Tag: py3-none-any
@@ -1,32 +0,0 @@
1
- The Clear BSD License
2
-
3
- Copyright (c) 2023 "Domino Data Lab <open-source@dominodatalab.com>"
4
- All rights reserved.
5
-
6
- Redistribution and use in source and binary forms, with or without
7
- modification, are permitted (subject to the limitations in the disclaimer
8
- below) provided that the following conditions are met:
9
-
10
- * Redistributions of source code must retain the above copyright notice,
11
- this list of conditions and the following disclaimer.
12
-
13
- * Redistributions in binary form must reproduce the above copyright
14
- notice, this list of conditions and the following disclaimer in the
15
- documentation and/or other materials provided with the distribution.
16
-
17
- * Neither the name of the copyright holder nor the names of its
18
- contributors may be used to endorse or promote products derived from this
19
- software without specific prior written permission.
20
-
21
- NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
22
- THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
23
- CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
25
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
26
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
29
- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
30
- IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
- POSSIBILITY OF SUCH DAMAGE.