robotkernel
Advanced tools
| <!DOCTYPE html> | ||
| <html lang="en"> | ||
| <head> | ||
| <meta charset="utf-8"> | ||
| <meta http-equiv="Refresh" content="0; url='https://robotkernel.readthedocs.io/'" /> | ||
| </head> | ||
| <body> | ||
| <a href="https://robotkernel.readthedocs.io/">https://robotkernel.readthedocs.io/</a> | ||
| </body> | ||
| </html> |
+11
-0
| Changelog | ||
| ========= | ||
| 1.7rc1 (2023-10-02) | ||
| ------------------- | ||
| - Known issue: https://github.com/robots-from-jupyter/robotkernel/issues/147 | ||
| - Add support for robotframework 6.1 | ||
| [Asko Soukka] | ||
| - Change ot include debug logging in Robot log.html (#148) | ||
| [JFoederer] | ||
| 1.6 (2022-09-24) | ||
@@ -5,0 +16,0 @@ ---------------- |
@@ -15,3 +15,2 @@ channels: | ||
| - ipywidgets | ||
| - jupyterlab-fonts | ||
| - jupyter-videochat | ||
@@ -27,3 +26,3 @@ - jupyterlab-webrtc-docprovider | ||
| # I'm still afraid of jlpm | ||
| - yarn | ||
| - yarn==1.22.19 | ||
| - pip: | ||
@@ -30,0 +29,0 @@ # lite deps |
+12
-1
| Metadata-Version: 1.1 | ||
| Name: robotkernel | ||
| Version: 1.6 | ||
| Version: 1.7rc1 | ||
| Summary: A Jupyter kernel for interactive acceptance-test-driven development with the Robot Framework | ||
@@ -177,2 +177,13 @@ Home-page: https://github.com/robots-from-jupyter/robotkernel | ||
| 1.7rc1 (2023-10-02) | ||
| ------------------- | ||
| - Known issue: https://github.com/robots-from-jupyter/robotkernel/issues/147 | ||
| - Add support for robotframework 6.1 | ||
| [Asko Soukka] | ||
| - Change ot include debug logging in Robot log.html (#148) | ||
| [JFoederer] | ||
| 1.6 (2022-09-24) | ||
@@ -179,0 +190,0 @@ ---------------- |
+1
-1
| [metadata] | ||
| name = robotkernel | ||
| version = 1.6 | ||
| version = 1.7rc1 | ||
| description = A Jupyter kernel for interactive acceptance-test-driven development with the Robot Framework | ||
@@ -5,0 +5,0 @@ long_description = file: README.rst, CHANGELOG.rst |
| Metadata-Version: 1.1 | ||
| Name: robotkernel | ||
| Version: 1.6 | ||
| Version: 1.7rc1 | ||
| Summary: A Jupyter kernel for interactive acceptance-test-driven development with the Robot Framework | ||
@@ -177,2 +177,13 @@ Home-page: https://github.com/robots-from-jupyter/robotkernel | ||
| 1.7rc1 (2023-10-02) | ||
| ------------------- | ||
| - Known issue: https://github.com/robots-from-jupyter/robotkernel/issues/147 | ||
| - Add support for robotframework 6.1 | ||
| [Asko Soukka] | ||
| - Change ot include debug logging in Robot log.html (#148) | ||
| [JFoederer] | ||
| 1.6 (2022-09-24) | ||
@@ -179,0 +190,0 @@ ---------------- |
@@ -16,2 +16,3 @@ .readthedocs.yml | ||
| docs/environment.yml | ||
| docs/index.html | ||
| docs/index.rst | ||
@@ -18,0 +19,0 @@ docs/install.rst |
@@ -5,15 +5,25 @@ # -*- coding: utf-8 -*- | ||
| from robot.errors import DataError | ||
| from robot.running.builder.parsers import ErrorReporter | ||
| from robot.running.builder.transformers import SettingsBuilder | ||
| from robot.running.builder.transformers import SuiteBuilder | ||
| from robot.running.model import TestSuite | ||
| from robotkernel.constants import HAS_RF61_PARSER | ||
| from typing import Dict | ||
| import os | ||
| try: | ||
| from robot.running.builder.testsettings import TestDefaults | ||
| from robot.running.builder.transformers import ErrorReporter | ||
| except ImportError: | ||
| from robot.running.builder.settings import Defaults as TestDefaults | ||
| from robot.running.builder.parsers import ErrorReporter | ||
| if HAS_RF61_PARSER: | ||
| from robot.running.builder.settings import FileSettings | ||
| from robot.running.builder.settings import TestDefaults | ||
| else: | ||
| try: | ||
| from robot.running.builder.testsettings import TestDefaults | ||
| except ImportError: | ||
| from robot.running.builder.settings import Defaults as TestDefaults | ||
| def _get_rpa_mode(data): | ||
@@ -35,3 +45,6 @@ if not data: | ||
| suite = TestSuite(name="Jupyter", source=os.getcwd()) | ||
| defaults = TestDefaults(None) | ||
| if HAS_RF61_PARSER: | ||
| defaults = FileSettings(TestDefaults(None)) | ||
| else: | ||
| defaults = TestDefaults(None) | ||
@@ -38,0 +51,0 @@ # Populate history |
@@ -8,2 +8,8 @@ # -*- coding: utf-8 -*- | ||
| try: | ||
| pkg_resources.get_distribution("robotframework>=6.1b1") | ||
| HAS_RF61_PARSER = True | ||
| except pkg_resources.VersionConflict: | ||
| HAS_RF61_PARSER = False | ||
| try: | ||
| pkg_resources.get_distribution("robotframework>=3.2a1") | ||
@@ -10,0 +16,0 @@ HAS_RF32_PARSER = True |
@@ -33,3 +33,5 @@ # -*- coding: utf-8 -*- | ||
| LOGLEVEL = "DEBUG:INFO" | ||
| def execute_python(kernel: DisplayKernel, code: str, module: str, silent: bool): | ||
@@ -279,3 +281,8 @@ """Execute Python code str in the context of named module. | ||
| try: | ||
| results = suite.run(outputdir=path, stdout=stdout, listener=listeners) | ||
| results = suite.run( | ||
| outputdir=path, | ||
| stdout=stdout, | ||
| listener=listeners, | ||
| loglevel=LOGLEVEL, | ||
| ) | ||
| finally: | ||
@@ -319,2 +326,3 @@ if progress is not None: | ||
| rpa=getattr(suite, "rpa", False), | ||
| loglevel=LOGLEVEL, | ||
| ) | ||
@@ -321,0 +329,0 @@ |
@@ -174,3 +174,3 @@ # -*- coding: utf-8 -*- | ||
| def do_inspect(self, code, cursor_pos, detail_level=0): | ||
| def do_inspect(self, code, cursor_pos, detail_level=0, _=None): | ||
| cursor_pos = cursor_pos is None and len(code) or cursor_pos | ||
@@ -177,0 +177,0 @@ line, offset = line_at_cursor(code, cursor_pos) |
@@ -88,5 +88,11 @@ # -*- coding: utf-8 -*- | ||
| keywords = lib_doc.keywords | ||
| doc_format = lib_doc.doc_format | ||
| try: | ||
| doc_format = lib_doc.doc_format | ||
| except AttributeError: | ||
| doc_format = "REST" | ||
| for keyword in keywords: | ||
| keyword.doc_format = doc_format | ||
| try: | ||
| keyword.doc_format = doc_format | ||
| except AttributeError: | ||
| pass | ||
| self.catalog["builder"].add( | ||
@@ -111,3 +117,6 @@ {"name": keyword.name, "dottedname": f"{alias}.{keyword.name}"} | ||
| for keyword in keywords: | ||
| keyword.doc_format = "REST" | ||
| try: | ||
| keyword.doc_format = "REST" | ||
| except AttributeError: | ||
| pass | ||
| self.catalog["builder"].add( | ||
@@ -114,0 +123,0 @@ {"name": keyword.name, "dottedname": keyword.name} |
@@ -6,2 +6,3 @@ # -*- coding: utf-8 -*- | ||
| from robotkernel.constants import HAS_RF32_PARSER | ||
| from robotkernel.constants import HAS_RF61_PARSER | ||
| import os | ||
@@ -84,3 +85,6 @@ import re | ||
| file = StringIO(NotebookReader().read(path, "")) | ||
| return file, os.path.basename(path), True | ||
| if HAS_RF61_PARSER: | ||
| return file, os.path.basename(path) | ||
| else: | ||
| return file, os.path.basename(path), True | ||
| else: | ||
@@ -104,5 +108,8 @@ return old(self, source, accept_text) | ||
| FileReader._get_file = _get_ipynb_file(FileReader._get_file) | ||
| importer.RESOURCE_EXTENSIONS += (".ipynb",) | ||
| if HAS_RF61_PARSER: | ||
| importer.RESOURCE_EXTENSIONS = importer.RESOURCE_EXTENSIONS | {".ipynb"} | ||
| else: | ||
| importer.RESOURCE_EXTENSIONS += (".ipynb",) | ||
| elif "ipynb" not in populators.READERS: | ||
| populators.READERS["ipynb"] = NotebookReader | ||
| TEST_EXTENSIONS.add("ipynb") |
@@ -29,3 +29,2 @@ # -*- coding: utf-8 -*- | ||
| class PickSnipTool(Form): | ||
| mouse_down = None | ||
@@ -32,0 +31,0 @@ mouse_down_button = None |
@@ -144,2 +144,6 @@ # -*- coding: utf-8 -*- | ||
| body = "\n\n" + keyword.doc | ||
| try: | ||
| doc_format = keyword.doc_format | ||
| except AttributeError: | ||
| doc_format = "REST" | ||
| return { | ||
@@ -149,3 +153,3 @@ "text/plain": title + "\n\n" + body, | ||
| + NAME_REGEXP.sub( | ||
| lambda m: f"<code>{m.group(1)}</code>", DocToHtml(keyword.doc_format)(body) | ||
| lambda m: f"<code>{m.group(1)}</code>", DocToHtml(doc_format)(body) | ||
| ), | ||
@@ -152,0 +156,0 @@ } |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
30890388
0.01%110
0.92%4062
1.07%