Repository: robots-from-jupyter/robotkernel (language: python)

Issue:
Kernel crashes when using with latest release of robotframework (6.1.0)
Can be reproduced by launching a Binder with the following environment configuration:

``` yaml
name: robotkernel-repro

channels:
  - conda-forge

dependencies:
  - jupyterlab>=3,<4
  - jupyterlab_robotmode
  - numpy
  - pip
  - pip:
      - robotframework==6.1.0
      - robotkernel==1.6
  - python>=3.9,<3.11
```

When attempting to start the kernel it crashes due to an import error:

```
[I 2023-07-13 06:45:03.807 SingleUserLabApp restarter:72] AsyncIOLoopKernelRestarter: restarting kernel (5/5), new random ports
Traceback (most recent call last):
  File "/srv/conda/envs/notebook/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/srv/conda/envs/notebook/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/robotkernel/kernel.py", line 10, in <module>
    from robotkernel.executors import execute_python
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/robotkernel/executors.py", line 9, in <module>
    from robotkernel.builders import build_suite
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/robotkernel/builders.py", line 6, in <module>
    from robotkernel.builders_32 import build_suite
  File "/srv/conda/envs/notebook/lib/python3.10/site-packages/robotkernel/builders_32.py", line 5, in <module>
    from robot.running.builder.parsers import ErrorReporter
ImportError: cannot import name 'ErrorReporter' from 'robot.running.builder.parsers' (/srv/conda/envs/notebook/lib/python3.10/site-packages/robot/running/builder/parsers.py)
```


Discussion / hints:
the ErrorReporter class has been removed from Robot Framework with this commit:
https://github.com/robotframework/robotframework/commit/19a8f7b72a6d62850b63ad98cfdfe0ef20c2bfa3#diff-62ecb8a491822441896f065a247b7fa24bd0f07d87787fe9af499a694a056c7e
@sanderploegsma Thanks for the report!

Fix patch:
diff --git a/Makefile b/Makefile
index a17a900..c0165a6 100644
--- a/Makefile
+++ b/Makefile
@@ -63,6 +63,7 @@ requirements-all:
 	ROBOTFRAMEWORK=rf50 make requirements
 	ROBOTFRAMEWORK=rf51 make requirements
 	ROBOTFRAMEWORK=rf60 make requirements
+	ROBOTFRAMEWORK=rf61 make requirements
 
 requirements: requirements-$(PYTHON)-$(ROBOTFRAMEWORK).nix
 
diff --git a/binder/environment.yml b/binder/environment.yml
index 25b6b13..56331e3 100644
--- a/binder/environment.yml
+++ b/binder/environment.yml
@@ -17,11 +17,11 @@ dependencies:
     - requests==2.22.0
     - RESTinstance==1.0.2
     - rise==5.6.1
-    - robotframework==5.0
+    - robotframework==6.1
     - robotframework-faker==5.0.0
-    - robotframework-seleniumlibrary==5.1.3
+    - robotframework-seleniumlibrary==6.1.0
     - robotframework-seleniumscreenshots==0.9.5
-    - selenium==3.141.0
+    - selenium==4.4.3
     - urllib3==1.25.3
     - jupyter-starters==1.1.0
     - jupyterlab-widgets==1.0.2
diff --git a/docs/environment.yml b/docs/environment.yml
index 0cc448e..ffc514e 100644
--- a/docs/environment.yml
+++ b/docs/environment.yml
@@ -12,7 +12,6 @@ dependencies:
   # pretties
   - ipylab
   - ipywidgets
-  - jupyterlab-fonts
   - jupyter-videochat
   - jupyterlab-webrtc-docprovider
   - wxyz_lab
@@ -23,7 +22,7 @@ dependencies:
   - nodejs >=14,<15
   - setuptools_scm >=6.2
   # I'm still afraid of jlpm
-  - yarn
+  - yarn==1.22.19
   - pip:
     # lite deps
     - jupyterlite[all] ==0.1.0b7
diff --git a/dodo.py b/dodo.py
index 5d4697c..58beb49 100644
--- a/dodo.py
+++ b/dodo.py
@@ -199,7 +199,7 @@ def _clean_wheels():
             ),
             # Not sure, why these were not discovered from conda environment
             doit.tools.CmdAction(
-                [PY, "-m", "pip", "wheel", "--no-deps", "--prefer-binary", "jupyterlab-widgets==1.1.0", "jupyter-videochat", "jupyterlab-drawio", "jupyterlab-webrtc-docprovider"],
+                [PY, "-m", "pip", "wheel", "--no-deps", "--prefer-binary", "jupyterlab-drawio"],
                 cwd=str(LITE),
                 shell=False,
             ),
@@ -216,21 +216,31 @@ def _build():
                 "lite",
                 "build",
                 "--debug",
-                "--LiteBuildConfig.federated_extensions",
-                f"{list(LITE.glob('jupyterlab_webrtc_docprovider*'))[-1]}",
-                "--LiteBuildConfig.federated_extensions",
-                f"{list(LITE.glob('jupyter_videochat*'))[-1]}",
-                "--LiteBuildConfig.federated_extensions",
-                f"{list(LITE.glob('jupyterlab_widgets*'))[-1]}",
+                "--contents",
+                str(LITE / "contents"),
                 "--LiteBuildConfig.federated_extensions",
                 f"{list(LITE.glob('jupyterlab_drawio*'))[-1]}",
                 "--LiteBuildConfig.federated_extensions",
-                f"{list(LITE.glob('jupyterlab_robotmode*'))[-1]}",
-                "--LiteBuildConfig.federated_extensions",
                 EXT_WHL,
             ],
             cwd=str(LITE)
         )
+        subprocess.check_call(
+            [
+                "mkdir",
+                "-p",
+                "_",
+            ],
+            cwd=str(LITE)
+        )
+        subprocess.check_call(
+            [
+                "mv",
+                "_output",
+                "_/_",
+            ],
+            cwd=str(LITE)
+        )
 
     yield dict(
         name="build",
diff --git a/requirements-python39-rf61.nix b/requirements-python39-rf61.nix
new file mode 100644
index 0000000..3604599
--- /dev/null
+++ b/requirements-python39-rf61.nix
@@ -0,0 +1,2950 @@
+# Generated by pip2nix 0.8.0.dev1
+# See https://github.com/nix-community/pip2nix
+
+{ pkgs, fetchurl, fetchgit, fetchhg }:
+
+self: super: {
+  "GenSON" = super.buildPythonPackage rec {
+    pname = "GenSON";
+    version = "1.2.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/e1/71/fbd2f1ad9695c92ad756b91f5a570f809c4959d3bd82266788cf222e5c5c/genson-1.2.2.tar.gz";
+      sha256 = "05ka6j256qrqykgcw1jz01p6kx01d38d2l8k387fwymg22m6kbwc";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "PySocks" = super.buildPythonPackage rec {
+    pname = "PySocks";
+    version = "1.7.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl";
+      sha256 = "1ray8fjf7ciqsfd8l4486bl93bibkrgym7kka6drp495k45bs997";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "RESTinstance" = super.buildPythonPackage rec {
+    pname = "RESTinstance";
+    version = "1.3.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/3d/b3/72eb94687c4597009858d5b5185bf3bf48dc01d122f5f76edf2219f68534/RESTinstance-1.3.0-py2.py3-none-any.whl";
+      sha256 = "1lh88xc82rmfpws6wsgcgq4w14vc5bsfmyg6l3rra15jm8rac0iz";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."GenSON"
+      self."docutils"
+      self."flex"
+      self."jsonpath-ng"
+      self."jsonschema"
+      self."pygments"
+      self."pytz"
+      self."requests"
+      self."robotframework"
+      self."tzlocal"
+    ];
+  };
+  "Send2Trash" = super.buildPythonPackage rec {
+    pname = "Send2Trash";
+    version = "1.8.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/47/26/3435896d757335ea53dce5abf8d658ca80757a7a06258451b358f10232be/Send2Trash-1.8.0-py3-none-any.whl";
+      sha256 = "027s97ylfm2a583hysjs72c2cz8w4v5l0xh7rsjsqzjivggsl3pj";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "alabaster" = super.buildPythonPackage rec {
+    pname = "alabaster";
+    version = "0.7.12";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl";
+      sha256 = "0nfkvlqp1mwjj0jjqk0mm7hk5c6rq5l1dpm2bva5pq50rjykhr24";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "anyio" = super.buildPythonPackage rec {
+    pname = "anyio";
+    version = "3.6.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/77/2b/b4c0b7a3f3d61adb1a1e0b78f90a94e2b6162a043880704b7437ef297cad/anyio-3.6.2-py3-none-any.whl";
+      sha256 = "1qsi382l4607lsjz8k8azhqlwa2h2824ap8wxprjwahd4yyk5gpv";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."idna"
+      self."sniffio"
+    ];
+  };
+  "argon2-cffi" = super.buildPythonPackage rec {
+    pname = "argon2-cffi";
+    version = "21.3.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/a8/07/946d5a9431bae05a776a59746ec385fbb79b526738d25e4202d3e0bbf7f4/argon2_cffi-21.3.0-py3-none-any.whl";
+      sha256 = "103zv9vpw5q1ikcgjay7n4gxikq6g4cdxrhr140fbh65ya36k5wc";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."argon2-cffi-bindings"
+    ];
+  };
+  "argon2-cffi-bindings" = super.buildPythonPackage rec {
+    pname = "argon2-cffi-bindings";
+    version = "21.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b9/e9/184b8ccce6683b0aa2fbb7ba5683ea4b9c5763f1356347f1312c32e3c66e/argon2-cffi-bindings-21.2.0.tar.gz";
+      sha256 = "1qrrzi8rcif6c5bcbllik14smidcpxyvgkh52dyq14f7lvzwx2dv";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."cffi"
+    ];
+  };
+  "astroid" = super.buildPythonPackage rec {
+    pname = "astroid";
+    version = "2.12.12";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/fb/22/5864e9d2632c4180824336aff5aca14da77d6753e5a4d3426065728576a9/astroid-2.12.12-py3-none-any.whl";
+      sha256 = "0py8bixnza7jyyr8zbw7cwvvqknp4b19179nb21n6ahb402j4w3j";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."lazy-object-proxy"
+      self."typing-extensions"
+      self."wrapt"
+    ];
+  };
+  "asttokens" = super.buildPythonPackage rec {
+    pname = "asttokens";
+    version = "2.0.8";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/2d/1b/fdbdf82b86e07ca90985740ac160a1dd4ab09cb81071ec12d71c701e1138/asttokens-2.0.8-py2.py3-none-any.whl";
+      sha256 = "11ixcaq5s81bcvf7as6fzzj6aq988z1mvi1jl3zm7bj4qybm4c73";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."six"
+    ];
+  };
+  "async-generator" = super.buildPythonPackage rec {
+    pname = "async-generator";
+    version = "1.10";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/71/52/39d20e03abd0ac9159c162ec24b93fbcaa111e8400308f2465432495ca2b/async_generator-1.10-py3-none-any.whl";
+      sha256 = "0nsqss59xyvjhk5zzjwqw056mwaa5v60006s5iyrdd2rcdkbziq1";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "attrs" = super.buildPythonPackage rec {
+    pname = "attrs";
+    version = "22.1.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/f2/bc/d817287d1aa01878af07c19505fafd1165cd6a119e9d0821ca1d1c20312d/attrs-22.1.0-py2.py3-none-any.whl";
+      sha256 = "072mv8qgvas8sagx7f021l9yrca6ry3m8cqsylsdzwkvyq1a9vw6";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "babel" = super.buildPythonPackage rec {
+    pname = "babel";
+    version = "2.10.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/2e/57/a4177e24f8ed700c037e1eca7620097fdfbb1c9b358601e40169adf6d364/Babel-2.10.3-py3-none-any.whl";
+      sha256 = "1ss8im3qj04gqvl4hxrw412dac62f4sa4pjp2kcg0jqw5j4z8mpz";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."pytz"
+    ];
+  };
+  "backcall" = super.buildPythonPackage rec {
+    pname = "backcall";
+    version = "0.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/4c/1c/ff6546b6c12603d8dd1070aa3c3d273ad4c07f5771689a7b69a550e8c951/backcall-0.2.0-py2.py3-none-any.whl";
+      sha256 = "0mfj5d1bgpy1clfgwrkmjqm2pv70pm01jp4iyyhphc96kyifdg7v";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "bcrypt" = super.buildPythonPackage rec {
+    pname = "bcrypt";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/8c/ae/3af7d006aacf513975fd1948a6b4d6f8b4a307f8a244e1a3d3774b297aad/bcrypt-4.0.1.tar.gz";
+      sha256 = "1g8fclm5b2gr5bvsm4pcn4wqvlgp2sfp1xj783z1q9n87a87blr7";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "beautifulsoup4" = super.buildPythonPackage rec {
+    pname = "beautifulsoup4";
+    version = "4.11.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/9c/d8/909c4089dbe4ade9f9705f143c9f13f065049a9d5e7d34c828aefdd0a97c/beautifulsoup4-4.11.1-py3-none-any.whl";
+      sha256 = "0c4d96lxi0005va52f9vkg7i8c6mdiw0sbzhjkmzydjskz9c7maq";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."soupsieve"
+    ];
+  };
+  "black" = super.buildPythonPackage rec {
+    pname = "black";
+    version = "22.10.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/a3/89/629fca2eea0899c06befaa58dc0f49d56807d454202bb2e54bd0d98c77f3/black-22.10.0.tar.gz";
+      sha256 = "1qc003c5m309s5i70mfn423xa9g8g6ccqcjfvq63x54rln6mh4zm";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."click"
+      self."mypy-extensions"
+      self."pathspec"
+      self."platformdirs"
+      self."tomli"
+      self."typing-extensions"
+    ];
+  };
+  "bleach" = super.buildPythonPackage rec {
+    pname = "bleach";
+    version = "5.0.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/d4/87/508104336a2bc0c4cfdbdceedc0f44dc72da3abc0460c57e323ddd1b3257/bleach-5.0.1-py3-none-any.whl";
+      sha256 = "0albjkpax6ym3d5rir83cbbndnvpqmvsv90pkgfhim2vq4rpypq8";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."six"
+      self."webencodings"
+    ];
+  };
+  "certifi" = super.buildPythonPackage rec {
+    pname = "certifi";
+    version = "2022.9.24";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/1d/38/fa96a426e0c0e68aabc68e896584b83ad1eec779265a028e156ce509630e/certifi-2022.9.24-py3-none-any.whl";
+      sha256 = "10pkhgnxd22ca8c9bc3d207rza6cyrq67qslhd441yb83lps7hch";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "cffi" = super.buildPythonPackage rec {
+    pname = "cffi";
+    version = "1.15.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/2b/a8/050ab4f0c3d4c1b8aaa805f70e26e84d0e27004907c5b8ecc1d31815f92a/cffi-1.15.1.tar.gz";
+      sha256 = "1y9lr651svbzf1m03s4lqbnbv2byx8f6f0ml7hjm24vvlfwvy06l";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."pycparser"
+    ];
+  };
+  "charset-normalizer" = super.buildPythonPackage rec {
+    pname = "charset-normalizer";
+    version = "2.1.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl";
+      sha256 = "17z2zvkvalb66i5hasshq0grsma8afs6hb1mi7yrl9qi35fsgsc3";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "click" = super.buildPythonPackage rec {
+    pname = "click";
+    version = "8.1.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl";
+      sha256 = "0j6vn6ayxq1bqs1v64r90sarg05hj6rxj4w29vs0k9hmrcrq2kdv";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "coverage" = super.buildPythonPackage rec {
+    pname = "coverage";
+    version = "6.5.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/5c/66/38d1870cb7cf62da49add1d6803fdbcdef632b2808b5c80bcac35b7634d8/coverage-6.5.0.tar.gz";
+      sha256 = "112w0a3ky17zf4d8ww3byyvpc3jrg4rww6z5wyq0cgpfah3yjhpn";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "coveralls" = super.buildPythonPackage rec {
+    pname = "coveralls";
+    version = "3.3.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/56/d6/e95db3c56afd1eff815db7dda01908f5e57770e47042209db448ab496197/coveralls-3.3.1-py2.py3-none-any.whl";
+      sha256 = "09k0n4khxd64irfbybw3b1q20wz1g8w9nf1688fkasrq3pria87l";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."coverage"
+      self."docopt"
+      self."requests"
+    ];
+  };
+  "cryptography" = super.buildPythonPackage rec {
+    pname = "cryptography";
+    version = "38.0.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/6d/0c/5e67831007ba6cd7e52c4095f053cf45c357739b0a7c46a45ddd50049019/cryptography-38.0.1.tar.gz";
+      sha256 = "1mrkmsq0hpgs3k38qqabp3knnf7cv6amchwngwqzlca9l43xicqx";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."cffi"
+    ];
+  };
+  "debugpy" = super.buildPythonPackage rec {
+    pname = "debugpy";
+    version = "1.6.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/8f/23/8dd369ef3a92bf5fdb4bf0cb84b721efbec43ae81b4f3694f6214b20d6d6/debugpy-1.6.3.zip";
+      sha256 = "1gs0k8mkc77hsmj32ydv7qsjxpbjp2x93ffgk7n0x2aaa68214p8";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [
+      pkgs."unzip"
+    ];
+    propagatedBuildInputs = [];
+  };
+  "decorator" = super.buildPythonPackage rec {
+    pname = "decorator";
+    version = "5.1.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl";
+      sha256 = "11kisc16y8lmka9khfvnm4gzwaa7x6n5lg4i4lr45p5r01czihxq";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "defusedxml" = super.buildPythonPackage rec {
+    pname = "defusedxml";
+    version = "0.7.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl";
+      sha256 = "0qca37v5iv0304hrl9pzad4jpnxfrnv449cyi768c0kp53jfflm3";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "dill" = super.buildPythonPackage rec {
+    pname = "dill";
+    version = "0.3.5.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/12/ff/3b1a8f5d59600393506c64fa14d13afdfe6fe79ed65a18d64026fe9f8356/dill-0.3.5.1-py2.py3-none-any.whl";
+      sha256 = "00lkqnhgnwy8zf07adamznqai0hqjh73b6v3f8643ghb4w1isl1k";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "docopt" = super.buildPythonPackage rec {
+    pname = "docopt";
+    version = "0.6.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz";
+      sha256 = "14f4hn6d1j4b99svwbaji8n2zj58qicyz19mm0x6pmhb50jsics9";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "docutils" = super.buildPythonPackage rec {
+    pname = "docutils";
+    version = "0.17.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/4c/5e/6003a0d1f37725ec2ebd4046b657abb9372202655f96e76795dca8c0063c/docutils-0.17.1-py2.py3-none-any.whl";
+      sha256 = "0qgw95skhxi8xi1bm7vsldsgkb02cr7qfmibnwia0dx7f21nqcfg";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "entrypoints" = super.buildPythonPackage rec {
+    pname = "entrypoints";
+    version = "0.4";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/35/a8/365059bbcd4572cbc41de17fd5b682be5868b218c3c5479071865cab9078/entrypoints-0.4-py3-none-any.whl";
+      sha256 = "17rgshlq8b00xzrvvr6770azb4rnkxjgihvwv4ygs13mhbzvax7i";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "exceptiongroup" = super.buildPythonPackage rec {
+    pname = "exceptiongroup";
+    version = "1.0.0rc9";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/17/9e/81c897fcd6e2ed77ec86c0567cb7b25dc456cc1de74c67b6f2e95d59b639/exceptiongroup-1.0.0rc9-py3-none-any.whl";
+      sha256 = "0dskxhmcgq60hzqh3vp3zqyxx57w6dn2vmgsfjmll2caag0kyg1f";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "executing" = super.buildPythonPackage rec {
+    pname = "executing";
+    version = "1.1.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/72/ac/593502a97a0bf7968a2c958a25f5f697ef738f6cd9fcc94d0d6a1493e080/executing-1.1.1-py2.py3-none-any.whl";
+      sha256 = "1f0is5zcbbdgpgivwajm5yf4glzsf1ma9ywb99qq31x3b7qaavi3";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "faker" = super.buildPythonPackage rec {
+    pname = "faker";
+    version = "15.1.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ca/72/8ec0f59e534dc150942c661611129dd7732d236968d26e744482e19c5701/Faker-15.1.1-py3-none-any.whl";
+      sha256 = "12lww0a8r7rk383qb4qc0vz6iz3bw97rdhyq4kdnbcxd6vhiav09";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."python-dateutil"
+    ];
+  };
+  "fastjsonschema" = super.buildPythonPackage rec {
+    pname = "fastjsonschema";
+    version = "2.16.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/e4/be/cf1b876348070a23cb0c3ebfee7a452ad3a91b07b456dade3bd514656009/fastjsonschema-2.16.2-py3-none-any.whl";
+      sha256 = "076ca574bxlmvnddn8kqsii6fyi6fax795g04afbm951v7l1iy91";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "flex" = super.buildPythonPackage rec {
+    pname = "flex";
+    version = "6.14.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/de/51/f3bf1779a12e92c3bf9f2d0ee242298775ef625adb596951090bdd24854f/flex-6.14.1.tar.gz";
+      sha256 = "1sr91f5sqywj4040jm3cq4333fp8hbmmr7v6v05a3h0sgyixcbi9";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."click"
+      self."jsonpointer"
+      self."pyyaml"
+      self."requests"
+      self."rfc3987"
+      self."six"
+      self."strict-rfc3339"
+      self."validate-email"
+    ];
+  };
+  "furl" = super.buildPythonPackage rec {
+    pname = "furl";
+    version = "2.1.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/41/ef/a572e03144d18842c480bd25165ec50ddc20b1744b2aeaaae4408a281f6f/furl-2.1.3-py2.py3-none-any.whl";
+      sha256 = "1h36jqq660w5y41b5i1s4wj47rc39bmmzr084n0gj5s25h32bd4s";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."orderedmultidict"
+      self."six"
+    ];
+  };
+  "h11" = super.buildPythonPackage rec {
+    pname = "h11";
+    version = "0.14.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl";
+      sha256 = "0qd7z9p38dwx215048q708vd1sn2abdh1mb3hg66ii2ip324mzp3";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "idna" = super.buildPythonPackage rec {
+    pname = "idna";
+    version = "3.4";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl";
+      sha256 = "1hn54ps4kgv2fmyvfaks38sgrvjc1cn4834sh7gadsx3x9wpxdwh";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "imagesize" = super.buildPythonPackage rec {
+    pname = "imagesize";
+    version = "1.4.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl";
+      sha256 = "12wdxzldsva0f2cg94xcnwlkgp0g961gv8bwxv81j344iz81i38d";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "importlib-metadata" = super.buildPythonPackage rec {
+    pname = "importlib-metadata";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b5/64/ef29a63cf08f047bb7fb22ab0f1f774b87eed0bb46d067a5a524798a4af8/importlib_metadata-5.0.0-py3-none-any.whl";
+      sha256 = "0hzagpfgrr67pkkbyw9qfyvm6amzwl58v4nlgs38z4z8cm8f7c6x";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."zipp"
+    ];
+  };
+  "iniconfig" = super.buildPythonPackage rec {
+    pname = "iniconfig";
+    version = "1.1.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/9b/dd/b3c12c6d707058fa947864b67f0c4e0c39ef8610988d7baea9578f3c48f3/iniconfig-1.1.1-py2.py3-none-any.whl";
+      sha256 = "1cx8kpp3akxwadzsmv2cdnifkyzj8fki5frmv3mzcivz9g3287h1";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "iplantuml" = super.buildPythonPackage rec {
+    pname = "iplantuml";
+    version = "0.1.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/10/b9/4db9b9ce81184d1d67f82284ca6131258b32f3f69376ee88aab5f7ff60a4/IPlantUML-0.1.1.tar.gz";
+      sha256 = "0p1w48iik5cl137b4xy3g5x52wl5b9fayxlr97bzd5v65dqxz1hg";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."plantweb"
+    ];
+  };
+  "ipykernel" = super.buildPythonPackage rec {
+    pname = "ipykernel";
+    version = "6.16.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/3d/4f/02454d0a2f90746143fe56568d34594bd34503d4c51b5ad15f08e1283fad/ipykernel-6.16.0-py3-none-any.whl";
+      sha256 = "1cwcnz63wk07k8y37xniarrrjn4va007nx6mm7z05lsdrm0m5nfk";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."debugpy"
+      self."ipython"
+      self."jupyter-client"
+      self."matplotlib-inline"
+      self."nest-asyncio"
+      self."packaging"
+      self."psutil"
+      self."pyzmq"
+      self."tornado"
+      self."traitlets"
+    ];
+  };
+  "ipython" = super.buildPythonPackage rec {
+    pname = "ipython";
+    version = "8.5.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/13/0d/ad3266203acb01189588aac9c1fc4dc982b58b0512ddb3cd4bea3cc26e22/ipython-8.5.0-py3-none-any.whl";
+      sha256 = "18md8cpgya1kklg2n4j3nr6r3hwxygqs8qqpa8z69y4fmclhw2bg";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."backcall"
+      self."decorator"
+      self."jedi"
+      self."matplotlib-inline"
+      self."pexpect"
+      self."pickleshare"
+      self."prompt-toolkit"
+      self."pygments"
+      self."stack-data"
+      self."traitlets"
+    ];
+  };
+  "ipython-genutils" = super.buildPythonPackage rec {
+    pname = "ipython-genutils";
+    version = "0.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/fa/bc/9bd3b5c2b4774d5f33b2d544f1460be9df7df2fe42f352135381c347c69a/ipython_genutils-0.2.0-py2.py3-none-any.whl";
+      sha256 = "1f7sc4ydjj33gadcgfz8fcx02d1wm2frlqwzdik1krlr6wikgpbj";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "ipywidgets" = super.buildPythonPackage rec {
+    pname = "ipywidgets";
+    version = "8.0.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/e4/56/990c10ca8751182ace2464cb0e4baafb7087a40c185c9142b9cd18683fac/ipywidgets-8.0.2-py3-none-any.whl";
+      sha256 = "149q4qzni4nha8n8grzr8f78s8rx0drv4vn8lxg09vcxw57dvhqx";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ipykernel"
+      self."ipython"
+      self."jupyterlab-widgets"
+      self."traitlets"
+      self."widgetsnbextension"
+    ];
+  };
+  "isort" = super.buildPythonPackage rec {
+    pname = "isort";
+    version = "5.10.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b8/5b/f18e227df38b94b4ee30d2502fd531bebac23946a2497e5595067a561274/isort-5.10.1-py3-none-any.whl";
+      sha256 = "19qv6lgilj8c79fgf9vz49ad4345j0baiqqg105m1d495y7dfqkg";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "jedi" = super.buildPythonPackage rec {
+    pname = "jedi";
+    version = "0.18.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b3/0e/836f12ec50075161e365131f13f5758451645af75c2becf61c6351ecec39/jedi-0.18.1-py2.py3-none-any.whl";
+      sha256 = "13dss7gynvyba2dfkwynvr0faysa4chg7mqwp774ayglzhsrcz33";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."parso"
+    ];
+  };
+  "jinja2" = super.buildPythonPackage rec {
+    pname = "jinja2";
+    version = "3.1.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/bc/c3/f068337a370801f372f2f8f6bad74a5c140f6fda3d9de154052708dd3c65/Jinja2-3.1.2-py3-none-any.whl";
+      sha256 = "0q9a30x046p3wvbgx598g4lmxwwykk0vjsjl21khx7r3zq5r7230";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."markupsafe"
+    ];
+  };
+  "json5" = super.buildPythonPackage rec {
+    pname = "json5";
+    version = "0.9.10";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/75/8c/c6f242154ee057e8f5b9491ee2a095646e489fcbad18dd73b99ed88cc5b2/json5-0.9.10-py2.py3-none-any.whl";
+      sha256 = "1kmvg2m9pc761ar1n7azndwybs02yhfcd3dyv36yj4kl3rkqjccr";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "jsonpath-ng" = super.buildPythonPackage rec {
+    pname = "jsonpath-ng";
+    version = "1.5.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/4c/b7/3627068d9aa6b2d49af117eb3897770a5dbc6bb3f4c09ed56a9eb749438e/jsonpath_ng-1.5.3-py3-none-any.whl";
+      sha256 = "0rdz8z59im51bwb9l496vyr1f3pw60v3vp62bakrn0klkmb96ai9";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."decorator"
+      self."ply"
+      self."six"
+    ];
+  };
+  "jsonpointer" = super.buildPythonPackage rec {
+    pname = "jsonpointer";
+    version = "2.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/a3/be/8dc9d31b50e38172c8020c40f497ce8debdb721545ddb9fcb7cca89ea9e6/jsonpointer-2.3-py2.py3-none-any.whl";
+      sha256 = "1sck6x7hwh23si983hvbr6d6qx65qrwc0f464v6ykd1rhmaix02i";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "jsonschema" = super.buildPythonPackage rec {
+    pname = "jsonschema";
+    version = "4.16.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/d8/ad/b96e267a185d0050ac0f128827da6f16a7fd0fd5e045294771b3c265f2e9/jsonschema-4.16.0-py3-none-any.whl";
+      sha256 = "1f8y4ar47z7czxwqxmb0176jjm2bny9ccpbhf1nr8sldfgwvhx4y";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."attrs"
+      self."pyrsistent"
+    ];
+  };
+  "jupyter" = super.buildPythonPackage rec {
+    pname = "jupyter";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/c9/a9/371d0b8fe37dd231cf4b2cff0a9f0f25e98f3a73c3771742444be27f2944/jupyter-1.0.0.tar.gz";
+      sha256 = "0pwf3pminkzyzgx5kcplvvbvwrrzd3baa7lmh96f647k30rlpp6r";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ipykernel"
+      self."ipywidgets"
+      self."jupyter-console"
+      self."nbconvert"
+      self."notebook"
+      self."qtconsole"
+    ];
+  };
+  "jupyter-client" = super.buildPythonPackage rec {
+    pname = "jupyter-client";
+    version = "7.4.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/44/2a/e811114993bae45059fcf8242439b562bba8dfe6a92284cdccf2fde00d05/jupyter_client-7.4.2-py3-none-any.whl";
+      sha256 = "15gn0wk2b36z2sa3g7ia01vnw8nq9v0avkq1ci20ngsd40hr74pq";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."entrypoints"
+      self."jupyter-core"
+      self."nest-asyncio"
+      self."python-dateutil"
+      self."pyzmq"
+      self."tornado"
+      self."traitlets"
+    ];
+  };
+  "jupyter-console" = super.buildPythonPackage rec {
+    pname = "jupyter-console";
+    version = "6.4.4";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/8b/0c/f9382ca7b7499c8594a5158817a72c95b4c09a6c6f2de10553bfe8905924/jupyter_console-6.4.4-py3-none-any.whl";
+      sha256 = "1vkdml1m82lwwnxm11y0fmp7w2l3sf9l8bhpq1xnx60cyvsgfvbm";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ipykernel"
+      self."ipython"
+      self."jupyter-client"
+      self."prompt-toolkit"
+      self."pygments"
+    ];
+  };
+  "jupyter-contrib-core" = super.buildPythonPackage rec {
+    pname = "jupyter-contrib-core";
+    version = "0.4.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/82/03/2f54d28c113987d73557bca8839c6e0e3012be27dbc2ccf1c5affcf49b64/jupyter_contrib_core-0.4.0-py2.py3-none-any.whl";
+      sha256 = "0w229l7lj9izzv1fhgp5xr2zy3ccjaglag3indvgzxbkbkzwsxsy";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."jupyter-core"
+      self."notebook"
+      self."setuptools"
+      self."tornado"
+      self."traitlets"
+    ];
+  };
+  "jupyter-contrib-nbextensions" = super.buildPythonPackage rec {
+    pname = "jupyter-contrib-nbextensions";
+    version = "0.5.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/33/f0/6e2c00afda860f655fbf0f795f7310bdbf12122846344dfdc803fc7455d5/jupyter_contrib_nbextensions-0.5.1-py2.py3-none-any.whl";
+      sha256 = "0h7z608b239mnrnz81lzry9s8v4hcq7xqsv5dxk6ki88l851y1rc";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ipython-genutils"
+      self."jupyter-contrib-core"
+      self."jupyter-core"
+      self."jupyter-highlight-selected-word"
+      self."jupyter-latex-envs"
+      self."jupyter-nbextensions-configurator"
+      self."lxml"
+      self."nbconvert"
+      self."notebook"
+      self."pyyaml"
+      self."tornado"
+      self."traitlets"
+    ];
+  };
+  "jupyter-core" = super.buildPythonPackage rec {
+    pname = "jupyter-core";
+    version = "4.11.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/08/67/6278838bc15b4664240a17a33c8c404560e80ab1d76b787c5422ab1ef7d6/jupyter_core-4.11.2-py3-none-any.whl";
+      sha256 = "1y6grr897779d5qa3xd8zhn8bwjxfz9a11yhm8chqb17ql7fh59q";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."traitlets"
+    ];
+  };
+  "jupyter-highlight-selected-word" = super.buildPythonPackage rec {
+    pname = "jupyter-highlight-selected-word";
+    version = "0.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/50/d7/19ab7cfd60bf268d2abbacc52d4295a40f52d74dfc0d938e4761ee5e598b/jupyter_highlight_selected_word-0.2.0-py2.py3-none-any.whl";
+      sha256 = "0n1wj2sw2rqb3bv57r9phshlwad5sgf08mkrlpiynzh5rflxyicm";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "jupyter-latex-envs" = super.buildPythonPackage rec {
+    pname = "jupyter-latex-envs";
+    version = "1.4.6";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/0e/15/55805de080d5542f76920364635e96e64d3b37f678befdfe3b16aa154205/jupyter_latex_envs-1.4.6.tar.gz";
+      sha256 = "0wiq6jssjdnvicwrnrivbjzlg4lkqakpjn4ihflvp2645pmk22h7";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ipython"
+      self."jupyter-core"
+      self."nbconvert"
+      self."notebook"
+      self."traitlets"
+    ];
+  };
+  "jupyter-nbextensions-configurator" = super.buildPythonPackage rec {
+    pname = "jupyter-nbextensions-configurator";
+    version = "0.5.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/32/2c/ae36fa3f77eac4a92a73776af182c58ae7e350c80bcab60076e804915b21/jupyter_nbextensions_configurator-0.5.0-py2.py3-none-any.whl";
+      sha256 = "110y7598vr5rnc04pj9dc3qsfkzzw0kn60ha2a8zcww6hafpps0b";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."jupyter-contrib-core"
+      self."jupyter-core"
+      self."notebook"
+      self."pyyaml"
+      self."tornado"
+      self."traitlets"
+    ];
+  };
+  "jupyter-server" = super.buildPythonPackage rec {
+    pname = "jupyter-server";
+    version = "1.21.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/0a/87/13dda7b92c48931b9fc006801edc3590b72502ffd95ccc6397c0a64edb91/jupyter_server-1.21.0-py3-none-any.whl";
+      sha256 = "1wac474nlxycp5whqxhlz8g1pzxxs3xwslb2l42pxms4hl0329cr";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."Send2Trash"
+      self."anyio"
+      self."argon2-cffi"
+      self."jinja2"
+      self."jupyter-client"
+      self."jupyter-core"
+      self."nbconvert"
+      self."nbformat"
+      self."packaging"
+      self."prometheus-client"
+      self."pyzmq"
+      self."terminado"
+      self."tornado"
+      self."traitlets"
+      self."websocket-client"
+    ];
+  };
+  "jupyter-starters" = super.buildPythonPackage rec {
+    pname = "jupyter-starters";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ca/54/3f1fc07f60d63c81a6e102bbda67aeced208416c11d2e6e6d188f584d589/jupyter_starters-1.1.0-py3-none-any.whl";
+      sha256 = "1s62y3srcaqcc1dw4yma83s46bcp352czngwsphfz640xmspba4r";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."jupyter-client"
+      self."jupyterlab"
+    ];
+  };
+  "jupyterlab" = super.buildPythonPackage rec {
+    pname = "jupyterlab";
+    version = "3.4.8";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/9b/67/be3e254f846d5a143edc385bdfd61ee366be70a3223808f30f0b6b3d8f62/jupyterlab-3.4.8-py3-none-any.whl";
+      sha256 = "1xv003pvc23bzzdxpkvjgwv8c98x0cfsmvy424ps58vn9i1s09j6";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ipython"
+      self."jinja2"
+      self."jupyter-core"
+      self."jupyter-server"
+      self."jupyterlab-server"
+      self."nbclassic"
+      self."notebook"
+      self."packaging"
+      self."tomli"
+      self."tornado"
+    ];
+  };
+  "jupyterlab-kernelspy" = super.buildPythonPackage rec {
+    pname = "jupyterlab-kernelspy";
+    version = "3.1.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/1d/b7/6aa69688f8ed3c6438184b293930f6b5e4eb7cea11ff36c16477abd2d8c5/jupyterlab_kernelspy-3.1.0-py3-none-any.whl";
+      sha256 = "0vrbvibfqmssxba7cajr9b6bwcdkyqsj0bh81p9sifc15ndid7vd";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "jupyterlab-pygments" = super.buildPythonPackage rec {
+    pname = "jupyterlab-pygments";
+    version = "0.2.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/c0/7e/c3d1df3ae9b41686e664051daedbd70eea2e1d2bd9d9c33e7e1455bc9f96/jupyterlab_pygments-0.2.2-py2.py3-none-any.whl";
+      sha256 = "17rh90kivh61sy5n6dl5wb9x8gcwaad09y5wcc47g7vwn06q0194";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "jupyterlab-server" = super.buildPythonPackage rec {
+    pname = "jupyterlab-server";
+    version = "2.16.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/3c/e8/94bfd0614500d7017357522d5afff695c5b1293c89b67ea55ecb6178315c/jupyterlab_server-2.16.0-py3-none-any.whl";
+      sha256 = "0krxyyvsz82fpq2q0wivxz4k5ldnickl1s5f0cm6hsrqyjbmikn8";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."babel"
+      self."importlib-metadata"
+      self."jinja2"
+      self."json5"
+      self."jsonschema"
+      self."jupyter-server"
+      self."packaging"
+      self."requests"
+    ];
+  };
+  "jupyterlab-widgets" = super.buildPythonPackage rec {
+    pname = "jupyterlab-widgets";
+    version = "3.0.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/d8/52/2f4b8f5975312fb58f4eacab2e6f6cfd2efd05704514a60a151a4e69d608/jupyterlab_widgets-3.0.3-py3-none-any.whl";
+      sha256 = "1j1qrf11zhbhlc05gqmsfdshiw7qm04pc2wwdgbm83a78l0br8ba";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "jupytext" = super.buildPythonPackage rec {
+    pname = "jupytext";
+    version = "1.14.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/1e/b6/53edfeda6e8ac67a9fd31b510fe8c8e46c1b505805ae958d6fff82f9b2df/jupytext-1.14.1-py3-none-any.whl";
+      sha256 = "0xa8b315y5rr1ycchaqmwxai6pgybkadhzx13f1mb4xvifxdssr1";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."markdown-it-py"
+      self."mdit-py-plugins"
+      self."nbformat"
+      self."pyyaml"
+      self."toml"
+    ];
+  };
+  "lazy-object-proxy" = super.buildPythonPackage rec {
+    pname = "lazy-object-proxy";
+    version = "1.7.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/75/93/3fc1cc28f71dd10b87a53b9d809602d7730e84cc4705a062def286232a9c/lazy-object-proxy-1.7.1.tar.gz";
+      sha256 = "1958nnbg6gh1frnzcpwwvahsbx2kfpjfbsyd8dkp1vvdk1dwf2fn";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "lunr" = super.buildPythonPackage rec {
+    pname = "lunr";
+    version = "0.6.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/a6/1b/a0d16741a4a3734b7de64ec092a911e122c92251c6c435211383ae487658/lunr-0.6.2-py2.py3-none-any.whl";
+      sha256 = "01ms1iklbpmyxxcjb33hn2gx98395p1hzblwiwcwd5zz0yg63gvg";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "lxml" = super.buildPythonPackage rec {
+    pname = "lxml";
+    version = "4.9.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/70/bb/7a2c7b4f8f434aa1ee801704bf08f1e53d7b5feba3d5313ab17003477808/lxml-4.9.1.tar.gz";
+      sha256 = "0grczyrrq2rbwhvpri15cyhv330s494vbz3js3jky8xp5c2rnx7y";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "markdown-it-py" = super.buildPythonPackage rec {
+    pname = "markdown-it-py";
+    version = "2.1.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/f9/3f/ecd1b708973b9a3e4574b43cffc1ce8eb98696da34f1a1c44a68c3c0d737/markdown_it_py-2.1.0-py3-none-any.whl";
+      sha256 = "09zyq0xamw966skjvkg0649c02vr47z5cxhlccn466h2bhg6iplk";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."mdurl"
+    ];
+  };
+  "markupsafe" = super.buildPythonPackage rec {
+    pname = "markupsafe";
+    version = "2.1.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/1d/97/2288fe498044284f39ab8950703e88abbac2abbdf65524d576157af70556/MarkupSafe-2.1.1.tar.gz";
+      sha256 = "0jqxp5sfrc0byp6bk0gwdmildi4mck2gprp42afri3z4r5y1k4bz";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "matplotlib-inline" = super.buildPythonPackage rec {
+    pname = "matplotlib-inline";
+    version = "0.1.6";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/f2/51/c34d7a1d528efaae3d8ddb18ef45a41f284eacf9e514523b191b7d0872cc/matplotlib_inline-0.1.6-py3-none-any.whl";
+      sha256 = "04dkh7shyhkagvz1ky224mqzh0l128xhhvdim6p5mai8afmimx7i";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."traitlets"
+    ];
+  };
+  "mccabe" = super.buildPythonPackage rec {
+    pname = "mccabe";
+    version = "0.7.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl";
+      sha256 = "0vkv89izh5asv85wlgbfdkfynd6qy2s0f63q35ls9r70dfmk0bbc";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "mdit-py-plugins" = super.buildPythonPackage rec {
+    pname = "mdit-py-plugins";
+    version = "0.3.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/de/d9/20870f611989b8dcfd2395eddefdd4b1983d6c36513cce7fbbe9eb345768/mdit_py_plugins-0.3.1-py3-none-any.whl";
+      sha256 = "18dzax6bi31xqgf2k3vyhnfy53lgkdq23jsaj6pxznsnrwlpysk0";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."markdown-it-py"
+    ];
+  };
+  "mdurl" = super.buildPythonPackage rec {
+    pname = "mdurl";
+    version = "0.1.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl";
+      sha256 = "1y5qjqhmq2nm7xj6w5rrp503r7jhj7zr2qcnr6gs858nwm0ql044";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "mistune" = super.buildPythonPackage rec {
+    pname = "mistune";
+    version = "2.0.4";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/3a/c7/b0a4413a4d9b7a4fda0d710fd90dba62375f0d0c4544e848dc7656757c0c/mistune-2.0.4-py2.py3-none-any.whl";
+      sha256 = "0vg3bz3xzyy8fjd6p0qjai4ncyyzal0vayvbvq3vilcfdzpcab0q";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "mypy-extensions" = super.buildPythonPackage rec {
+    pname = "mypy-extensions";
+    version = "0.4.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/5c/eb/975c7c080f3223a5cdaff09612f3a5221e4ba534f7039db34c35d95fa6a5/mypy_extensions-0.4.3-py2.py3-none-any.whl";
+      sha256 = "0pgi8sl514i9iamzdli8l3sxla7l4ic3nc713klrm9j5b7bys3q9";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "nbclassic" = super.buildPythonPackage rec {
+    pname = "nbclassic";
+    version = "0.4.6";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ed/e9/db86d7cd479441c543ac3251b4645d7ff9a6c2337655982ea2fe15c14fe0/nbclassic-0.4.6-py3-none-any.whl";
+      sha256 = "0wam9fqipsah19ar05drk66hmv5ndn9w2klcnlfk0skh1b4h17di";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."Send2Trash"
+      self."argon2-cffi"
+      self."ipykernel"
+      self."ipython-genutils"
+      self."jinja2"
+      self."jupyter-client"
+      self."jupyter-core"
+      self."jupyter-server"
+      self."nbconvert"
+      self."nbformat"
+      self."nest-asyncio"
+      self."notebook-shim"
+      self."prometheus-client"
+      self."pyzmq"
+      self."terminado"
+      self."tornado"
+      self."traitlets"
+    ];
+  };
+  "nbclient" = super.buildPythonPackage rec {
+    pname = "nbclient";
+    version = "0.7.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ed/aa/d00b9bdd4623a5e4500baee7f4a37b851dcbb2fa6d90f621d367d1d93420/nbclient-0.7.0-py3-none-any.whl";
+      sha256 = "1f31cvlah6jxj5hf54dk118n2g6kl1sxcd2k32231rgkbhw92k23";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."jupyter-client"
+      self."nbformat"
+      self."nest-asyncio"
+      self."traitlets"
+    ];
+  };
+  "nbconvert" = super.buildPythonPackage rec {
+    pname = "nbconvert";
+    version = "7.2.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/9e/0f/85993044e96edf4af4a1e9bec70f0986f09e77b710cc1127e4fdce160d6a/nbconvert-7.2.1-py3-none-any.whl";
+      sha256 = "1yhd30wjpw9ni3hwhvnlpk08ayrz5xxqp0b84vl21njkmdk479ah";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."beautifulsoup4"
+      self."bleach"
+      self."defusedxml"
+      self."importlib-metadata"
+      self."jinja2"
+      self."jupyter-core"
+      self."jupyterlab-pygments"
+      self."markupsafe"
+      self."mistune"
+      self."nbclient"
+      self."nbformat"
+      self."packaging"
+      self."pandocfilters"
+      self."pygments"
+      self."tinycss2"
+      self."traitlets"
+    ];
+  };
+  "nbformat" = super.buildPythonPackage rec {
+    pname = "nbformat";
+    version = "5.7.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/5c/9f/957655d02f43b8bff77e6da08c94472b1229c13e7455bbd662163c9b78c0/nbformat-5.7.0-py3-none-any.whl";
+      sha256 = "1y8r2c1slzl2ks2zvfcvspzsk35c3v7dskjzfkf1lbrcalnfq18v";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."fastjsonschema"
+      self."jsonschema"
+      self."jupyter-core"
+      self."traitlets"
+    ];
+  };
+  "nbimporter" = super.buildPythonPackage rec {
+    pname = "nbimporter";
+    version = "0.3.4";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/c4/fe/a85b96f9b362f206203be7aa7d811ada4abdfbba8892102c356d43ee90aa/nbimporter-0.3.4-py3-none-any.whl";
+      sha256 = "18v7mdcz57mvh9k067qwwggq7d265r7xa9m7zgaqmqd3sizw790l";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "nbsphinx" = super.buildPythonPackage rec {
+    pname = "nbsphinx";
+    version = "0.8.9";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/5b/d1/e18913402619e2673bd29e8e1dc17e0a5e2f2058e8cb0a82e5f86661ea3e/nbsphinx-0.8.9-py3-none-any.whl";
+      sha256 = "1q9vlsjsryciajlc5wiry9siqvksf6rixaah6fn6pvj949v47mx7";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."docutils"
+      self."jinja2"
+      self."nbconvert"
+      self."nbformat"
+      self."sphinx"
+      self."traitlets"
+    ];
+  };
+  "nest-asyncio" = super.buildPythonPackage rec {
+    pname = "nest-asyncio";
+    version = "1.5.6";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/e9/1a/6dd9ec31cfdb34cef8fea0055b593ee779a6f63c8e8038ad90d71b7f53c0/nest_asyncio-1.5.6-py3-none-any.whl";
+      sha256 = "1f780vxwyim1ahj6ah34n6103411vfc90q09s63sbsnw83xm7adr";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "notebook" = super.buildPythonPackage rec {
+    pname = "notebook";
+    version = "6.5.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/e5/e0/6a8094098a91314b48dd7aeef113aea86b67da64ab7d6bb12f2b1e18b0b4/notebook-6.5.1-py3-none-any.whl";
+      sha256 = "1jjghrml5bqvbf9w2yb6mz8zv9095x177v44zj5zj0qy5aqlj236";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."Send2Trash"
+      self."argon2-cffi"
+      self."ipykernel"
+      self."ipython-genutils"
+      self."jinja2"
+      self."jupyter-client"
+      self."jupyter-core"
+      self."nbclassic"
+      self."nbconvert"
+      self."nbformat"
+      self."nest-asyncio"
+      self."prometheus-client"
+      self."pyzmq"
+      self."terminado"
+      self."tornado"
+      self."traitlets"
+    ];
+  };
+  "notebook-shim" = super.buildPythonPackage rec {
+    pname = "notebook-shim";
+    version = "0.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/65/1b/a898f3bf3eb98a9fdb56cba21cb6c31d553f577501cccff7f6996ce5d2e7/notebook_shim-0.2.0-py3-none-any.whl";
+      sha256 = "1r69nnw79id8crzzia8vgns4x0kmhkhyzw1wp02m6bpvvnmi25s8";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."jupyter-server"
+    ];
+  };
+  "orderedmultidict" = super.buildPythonPackage rec {
+    pname = "orderedmultidict";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/04/16/5e95c70bda8fe6ea715005c0db8e602400bdba50ae3c72cb380eba551289/orderedmultidict-1.0.1-py2.py3-none-any.whl";
+      sha256 = "1wyv9bw7rj4iywxqlryhl4n3z2jhm2hyqzf46hiddkg3gshkkj23";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."six"
+    ];
+  };
+  "outcome" = super.buildPythonPackage rec {
+    pname = "outcome";
+    version = "1.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/e9/4f/2f2d3f65d851852712b4de3fd0cfdcec9c5e9a9c347430e004ba770ef4db/outcome-1.2.0-py2.py3-none-any.whl";
+      sha256 = "1xgpw2svc65b064vlyhnjqgrq41klgmdl5ma0n5d7mkmcnjqkay4";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."attrs"
+    ];
+  };
+  "packaging" = super.buildPythonPackage rec {
+    pname = "packaging";
+    version = "21.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/05/8e/8de486cbd03baba4deef4142bd643a3e7bbe954a784dc1bb17142572d127/packaging-21.3-py3-none-any.whl";
+      sha256 = "08nmbgmf38nnxr99d5nlnacrr2jh1wp4xsi4ms1wgk8ryl2kw47g";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."pyparsing"
+    ];
+  };
+  "pandocfilters" = super.buildPythonPackage rec {
+    pname = "pandocfilters";
+    version = "1.5.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/5e/a8/878258cffd53202a6cc1903c226cf09e58ae3df6b09f8ddfa98033286637/pandocfilters-1.5.0-py2.py3-none-any.whl";
+      sha256 = "0kzidvgwpzdsc8hjhs9l7f0f1w4n4kavs9sxkw3jd86ibzrf7aik";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "paramiko" = super.buildPythonPackage rec {
+    pname = "paramiko";
+    version = "2.11.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/04/e5/39ec73dd4a8769d6759b8d6c60a1b2c9337f585407c2ae8bfb8ccb734278/paramiko-2.11.0-py2.py3-none-any.whl";
+      sha256 = "0w62f9ml4lxn3x6pgffnz0fmhdnn06hwxprkp5vk4xmgigf2apv5";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."bcrypt"
+      self."cryptography"
+      self."pynacl"
+      self."six"
+    ];
+  };
+  "parso" = super.buildPythonPackage rec {
+    pname = "parso";
+    version = "0.8.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/05/63/8011bd08a4111858f79d2b09aad86638490d62fbf881c44e434a6dfca87b/parso-0.8.3-py2.py3-none-any.whl";
+      sha256 = "0xcyw5sw2xjmxxw6fmaclzi4n2cvnpmhmd6b6fpwvbnkdiix80f0";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pathspec" = super.buildPythonPackage rec {
+    pname = "pathspec";
+    version = "0.10.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/63/82/2179fdc39bc1bb43296f638ae1dfe2581ec2617b4e87c28b0d23d44b997f/pathspec-0.10.1-py3-none-any.whl";
+      sha256 = "14rzaxyaiivgbv765l5lxvpajw2201p829zxrib4bz3y8qc67126";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pexpect" = super.buildPythonPackage rec {
+    pname = "pexpect";
+    version = "4.8.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/39/7b/88dbb785881c28a102619d46423cb853b46dbccc70d3ac362d99773a78ce/pexpect-4.8.0-py2.py3-none-any.whl";
+      sha256 = "0dq9f7irmml1nm9a2rx8dd6m2dqmzjj1x40mk0rg619wrdfsaj0b";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ptyprocess"
+    ];
+  };
+  "pickleshare" = super.buildPythonPackage rec {
+    pname = "pickleshare";
+    version = "0.7.5";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl";
+      sha256 = "0mnzcb714ynl1qlv9dwnh50rv75mmj18ywaxbl8xzm3l9m0syjcn";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pillow" = super.buildPythonPackage rec {
+    pname = "pillow";
+    version = "9.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/8c/92/2975b464d9926dc667020ed1abfa6276e68c3571dcb77e43347e15ee9eed/Pillow-9.2.0.tar.gz";
+      sha256 = "011wgm1mssjchpva9wsi2a07im9czyjvik137xlp5f0g7vykdrkm";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "plantweb" = super.buildPythonPackage rec {
+    pname = "plantweb";
+    version = "1.2.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/d6/6f/9ab1a1c3e33aaa0c0931983578c09336b092c75dce777ea666d3032f756e/plantweb-1.2.1-py3-none-any.whl";
+      sha256 = "04va2k8fngzayr95753a6qy5h3qb7yx0br04jyyvqml3mghrqknj";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."docutils"
+      self."requests"
+      self."six"
+    ];
+  };
+  "platformdirs" = super.buildPythonPackage rec {
+    pname = "platformdirs";
+    version = "2.5.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ed/22/967181c94c3a4063fe64e15331b4cb366bdd7dfbf46fcb8ad89650026fec/platformdirs-2.5.2-py3-none-any.whl";
+      sha256 = "122pn8db8avjgr3pkl55gqyqcay04ghgfpjfmjxhdpnpla1qwz82";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pluggy" = super.buildPythonPackage rec {
+    pname = "pluggy";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/9e/01/f38e2ff29715251cf25532b9082a1589ab7e4f571ced434f98d0139336dc/pluggy-1.0.0-py2.py3-none-any.whl";
+      sha256 = "1lvvnc39v43v5jawq2wz0765rg9lkx8f25l4sqv1l0vz8nzln4vl";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "ply" = super.buildPythonPackage rec {
+    pname = "ply";
+    version = "3.11";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl";
+      sha256 = "1kh7m0i2ghjhrbzi6a28yw3rcnzy5r2i4srls4pvspmna21rnvq9";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "prometheus-client" = super.buildPythonPackage rec {
+    pname = "prometheus-client";
+    version = "0.15.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/2e/5e/4225463cdac1098aac718b1d8adf8f9dc3d6aaea55f4f85a2f7d572b4f7c/prometheus_client-0.15.0-py3-none-any.whl";
+      sha256 = "1liip53vrjhxnya0l9wvjqjs61961wr15lcjanbpj3rss75haz6v";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "prompt-toolkit" = super.buildPythonPackage rec {
+    pname = "prompt-toolkit";
+    version = "3.0.31";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/26/ec/2ebddd1f0584fec4a6d4b5dc57627254070c3db310f00981bc5de03dd5ab/prompt_toolkit-3.0.31-py3-none-any.whl";
+      sha256 = "0vd9zx0kw74slz113095wp7mz3ypwnpraj5gln6grw1x2f3g75ln";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."wcwidth"
+    ];
+  };
+  "psutil" = super.buildPythonPackage rec {
+    pname = "psutil";
+    version = "5.9.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/de/eb/1c01a34c86ee3b058c556e407ce5b07cb7d186ebe47b3e69d6f152ca5cc5/psutil-5.9.3.tar.gz";
+      sha256 = "1xisfyfgfrmb2h7801w2zyffnsqqrmzxwc9cr810ljzwlkzcvkvw";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "ptyprocess" = super.buildPythonPackage rec {
+    pname = "ptyprocess";
+    version = "0.7.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl";
+      sha256 = "0dgg5x4nvdpfiz552diy11xg72y14s38hjz9qxygafnfgybg6hab";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pure-eval" = super.buildPythonPackage rec {
+    pname = "pure-eval";
+    version = "0.2.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/2b/27/77f9d5684e6bce929f5cfe18d6cfbe5133013c06cb2fbf5933670e60761d/pure_eval-0.2.2-py3-none-any.whl";
+      sha256 = "0l4k53n8rjxkgnx0jvayji5c97mkfjkf1sw0c32lp5406lsapsh1";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "py" = super.buildPythonPackage rec {
+    pname = "py";
+    version = "1.11.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl";
+      sha256 = "0y5k0mjcr85i9xrd2wifc7gww596nq6dbz6d9bzpsr1jhwhm6z30";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pycodestyle" = super.buildPythonPackage rec {
+    pname = "pycodestyle";
+    version = "2.9.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/67/e4/fc77f1039c34b3612c4867b69cbb2b8a4e569720b1f19b0637002ee03aff/pycodestyle-2.9.1-py2.py3-none-any.whl";
+      sha256 = "0jw0cq0xsgrzdwg0lp8sn14siy2l72a8vljqyv2xg3s1ig2mywyi";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pycparser" = super.buildPythonPackage rec {
+    pname = "pycparser";
+    version = "2.21";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl";
+      sha256 = "1agwca0hgbpwmr9snhxafqjhfd52mq083rw5n7vf25amallm9r4f";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pydocstyle" = super.buildPythonPackage rec {
+    pname = "pydocstyle";
+    version = "6.1.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/87/67/4df10786068766000518c6ad9c4a614e77585a12ab8f0654c776757ac9dc/pydocstyle-6.1.1-py3-none-any.whl";
+      sha256 = "1i2d2iq7ywiniss4jcfnf4ypxk08bkpvwh80jhwnh1bmcxnq51v9";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."snowballstemmer"
+    ];
+  };
+  "pyflakes" = super.buildPythonPackage rec {
+    pname = "pyflakes";
+    version = "2.5.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/dc/13/63178f59f74e53acc2165aee4b002619a3cfa7eeaeac989a9eb41edf364e/pyflakes-2.5.0-py2.py3-none-any.whl";
+      sha256 = "1ljklp73ah9q9xhw8qxj6ps28ysb4s7l4i5mxmklx03zi1yzcya5";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pygments" = super.buildPythonPackage rec {
+    pname = "pygments";
+    version = "2.13.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/4f/82/672cd382e5b39ab1cd422a672382f08a1fb3d08d9e0c0f3707f33a52063b/Pygments-2.13.0-py3-none-any.whl";
+      sha256 = "0hjcs4h4fmx0k7gfykng2zqr8vmwvaif8bi1i6fkrfjpmcqz6hzn";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pylama" = super.buildPythonPackage rec {
+    pname = "pylama";
+    version = "8.4.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/4d/3c/11be5c276f593f70d858db28e913449af76f07a1fb60612ef4131edc4527/pylama-8.4.1-py3-none-any.whl";
+      sha256 = "0q3fm2irz81pf1j8j6pc2lzdglzc2z4rzvc8sq375fhac9dvzgav";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."mccabe"
+      self."pycodestyle"
+      self."pydocstyle"
+      self."pyflakes"
+    ];
+  };
+  "pylint" = super.buildPythonPackage rec {
+    pname = "pylint";
+    version = "2.15.4";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/cc/8e/112502ae6ed35354b4d751d4a37631a95074e57aae5efcfb42a59cb6ca01/pylint-2.15.4-py3-none-any.whl";
+      sha256 = "1s9280ncmjisasnbb0spld5f604knn5mm0a5g9z9sq5nvzdz3732";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."astroid"
+      self."dill"
+      self."isort"
+      self."mccabe"
+      self."platformdirs"
+      self."tomli"
+      self."tomlkit"
+      self."typing-extensions"
+    ];
+  };
+  "pynacl" = super.buildPythonPackage rec {
+    pname = "pynacl";
+    version = "1.5.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz";
+      sha256 = "1fi0jbxhh3svajzldlb6gj5sr5a48v11xlmx0wb831db167l9iwa";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."cffi"
+    ];
+  };
+  "pyparsing" = super.buildPythonPackage rec {
+    pname = "pyparsing";
+    version = "3.0.9";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl";
+      sha256 = "1g3b426kswh9ndjdlkpf9ba0fhwz5c2hjbxb3nvfzshfl7lvl9jh";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pyrsistent" = super.buildPythonPackage rec {
+    pname = "pyrsistent";
+    version = "0.18.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/42/ac/455fdc7294acc4d4154b904e80d964cc9aae75b087bbf486be04df9f2abd/pyrsistent-0.18.1.tar.gz";
+      sha256 = "15pb8ry525h9z1670kzqi5915y004yjsrwsdf6x5awisk65izmnl";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pytest" = super.buildPythonPackage rec {
+    pname = "pytest";
+    version = "7.1.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/e3/b9/3541bbcb412a9fd56593005ff32183825634ef795a1c01ceb6dee86e7259/pytest-7.1.3-py3-none-any.whl";
+      sha256 = "1dqqm2yz0z63cywjjilnqwcz5z3wpdazmv2w7xgbaw3d8sivsxqk";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."attrs"
+      self."iniconfig"
+      self."packaging"
+      self."pluggy"
+      self."py"
+      self."tomli"
+    ];
+  };
+  "pytest-runner" = super.buildPythonPackage rec {
+    pname = "pytest-runner";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/42/7b/1cec26caae4bf44bb9911e1119d5d1a35171571e100b728a2ccd8719a3b1/pytest_runner-6.0.0-py3-none-any.whl";
+      sha256 = "0syad9jl8w00bzmivx3hsgx353xg3qyp13qgkhv6wc7l3kqrq1ac";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "python-dateutil" = super.buildPythonPackage rec {
+    pname = "python-dateutil";
+    version = "2.8.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl";
+      sha256 = "1aaxjfp4lrz8c6qls3vdhw554lan3khy9afyvdcvrssk6kf067cn";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."six"
+    ];
+  };
+  "pytz" = super.buildPythonPackage rec {
+    pname = "pytz";
+    version = "2022.5";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b5/d7/91fd8911d22e7fac794803095dd192bf1ebd70c7603272085230d915e738/pytz-2022.5-py2.py3-none-any.whl";
+      sha256 = "08jv3xgw4fd0bpkbbak2nr72cqvkv1ilknjg9dqmwimi01lv8nik";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pytz-deprecation-shim" = super.buildPythonPackage rec {
+    pname = "pytz-deprecation-shim";
+    version = "0.1.0.post0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/eb/73/3eaab547ca809754e67e06871cff0fc962bafd4b604e15f31896a0f94431/pytz_deprecation_shim-0.1.0.post0-py2.py3-none-any.whl";
+      sha256 = "19n1znh7a5n3h07fg0xf4crfjl7337qvjyd8pnrqwv3359lwj543";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."tzdata"
+    ];
+  };
+  "pyyaml" = super.buildPythonPackage rec {
+    pname = "pyyaml";
+    version = "6.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/36/2b/61d51a2c4f25ef062ae3f74576b01638bebad5e045f747ff12643df63844/PyYAML-6.0.tar.gz";
+      sha256 = "18imkjacvpxfgg1lbpraqywx3j7hr5dv99d242byqvrh2jf53yv8";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "pyzmq" = super.buildPythonPackage rec {
+    pname = "pyzmq";
+    version = "24.0.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/46/0d/b06cf99a64d4187632f4ac9ddf6be99cd35de06fe72d75140496a8e0eef5/pyzmq-24.0.1.tar.gz";
+      sha256 = "0xwfn0zi847bp0kba5b0xndwz2ibm2y7j14vwmcnf5k7pdymsvr1";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "qtconsole" = super.buildPythonPackage rec {
+    pname = "qtconsole";
+    version = "5.3.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/94/c6/24472e801a397cbffaae852cd92450f4e01cebbe4d5c82f834326fb0b8e7/qtconsole-5.3.2-py3-none-any.whl";
+      sha256 = "1ldkh8rl6iqppkp5gsvzdq92jpkddsz60q3ggnhvmkap9x3297f2";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ipykernel"
+      self."ipython-genutils"
+      self."jupyter-client"
+      self."jupyter-core"
+      self."pygments"
+      self."pyzmq"
+      self."qtpy"
+      self."traitlets"
+    ];
+  };
+  "qtpy" = super.buildPythonPackage rec {
+    pname = "qtpy";
+    version = "2.2.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/7f/bc/7d1e8276b6519aba7d619472f8dd4d3298f24cff3431c6c23f4532857ce6/QtPy-2.2.1-py3-none-any.whl";
+      sha256 = "1bbfmpc4izz0izfpbb69ajdrmv3lpj0lmq17n7hknda1iwrgb316";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."packaging"
+    ];
+  };
+  "requests" = super.buildPythonPackage rec {
+    pname = "requests";
+    version = "2.28.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl";
+      sha256 = "0jakwryf077k46wbs525hrkxlyg4prpq6hdc199ganrnl6hs5vwg";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."certifi"
+      self."charset-normalizer"
+      self."idna"
+      self."urllib3"
+    ];
+  };
+  "rfc3987" = super.buildPythonPackage rec {
+    pname = "rfc3987";
+    version = "1.3.8";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/65/d4/f7407c3d15d5ac779c3dd34fbbc6ea2090f77bd7dd12f207ccf881551208/rfc3987-1.3.8-py2.py3-none-any.whl";
+      sha256 = "0lyf5pysj3hv249nywgz9k7x4rh3bhc9n60b8r1qhrg5a4g2nw0h";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "rise" = super.buildPythonPackage rec {
+    pname = "rise";
+    version = "5.7.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b9/e7/91ddb742829723d9746dc12c5c5d0511d34d6c8e378fa2bdf1e17c68a3d7/rise-5.7.1-py2.py3-none-any.whl";
+      sha256 = "0fmfivwymkl526w8p1cm95xrz3f7lj8iy2plgyr39lvmwpqfk36z";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."notebook"
+    ];
+  };
+  "robotframework" = super.buildPythonPackage rec {
+    pname = "robotframework";
+    version = "6.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/11/ff/3105ff09e62c980e67a5b6974c8ac9577b4c3bacbc10a90e6b3e40cfcbd1/robotframework-6.1-py3-none-any.whl";
+      sha256 = "0zknminm9xfgq3wnmn3vwjhvxa3sfm04nz0hrqrn9avyai44dc26";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "robotframework-faker" = super.buildPythonPackage rec {
+    pname = "robotframework-faker";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/53/27/e51e1ab454b0d207a86cd6395b663da0f524f5aba54a4126fee342cd8e47/robotframework_faker-5.0.0-py3-none-any.whl";
+      sha256 = "1qrjg6sp4cl1dajvvrq81v0k74lg0qhzzb6cd72rl3dgihwvqw9l";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."faker"
+      self."robotframework"
+      self."wrapt"
+    ];
+  };
+  "robotframework-jupyterlibrary" = super.buildPythonPackage rec {
+    pname = "robotframework-jupyterlibrary";
+    version = "0.4.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b5/54/68dd704604b30e0c08768d9c6591ccbc35240ccf60cf39f4587e5bf837fb/robotframework_jupyterlibrary-0.4.1-py3-none-any.whl";
+      sha256 = "0868qs1k1bdsb9ihq62875rrjamzz3vqra5nw2kspgw6vfhy3v3n";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."robotframework"
+      self."robotframework-seleniumlibrary"
+    ];
+  };
+  "robotframework-pythonlibcore" = super.buildPythonPackage rec {
+    pname = "robotframework-pythonlibcore";
+    version = "3.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/f3/eb/0c4896a33fe1209a28e82a41fed1b605e76b87629a880cb526fa4073c3fb/robotframework_pythonlibcore-3.0.0-py2.py3-none-any.whl";
+      sha256 = "1i5pb5y3fhyl6vwfqffds95v3yf6dvxqzrjcijc3926k7i0c445g";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "robotframework-seleniumlibrary" = super.buildPythonPackage rec {
+    pname = "robotframework-seleniumlibrary";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/18/ef/54451370c8629236db9bc0b9294f91818da16670dc70d973cea07cbe8c8d/robotframework_seleniumlibrary-6.0.0-py2.py3-none-any.whl";
+      sha256 = "07g3k066p279byq04zds07pk1dmzg0fz2nq079fm40bginyal9c8";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."robotframework"
+      self."robotframework-pythonlibcore"
+      self."selenium"
+    ];
+  };
+  "robotframework-seleniumscreenshots" = super.buildPythonPackage rec {
+    pname = "robotframework-seleniumscreenshots";
+    version = "0.9.5";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/1d/74/bc74ab673111c889055f2b91d99c23092ce24edd4c92f674500ddf0744c9/robotframework_seleniumscreenshots-0.9.5-py3-none-any.whl";
+      sha256 = "1kay5j7mhflbv1pnvzcq5s7b88hbxa8bk6gx4dxvlhngxrcnsm39";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."robotframework"
+      self."robotframework-seleniumlibrary"
+      self."setuptools"
+    ];
+  };
+  "robotframework-seleniumtestability" = super.buildPythonPackage rec {
+    pname = "robotframework-seleniumtestability";
+    version = "2.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/b9/9b/0af1de2d761021f42b18265060e9ed998ae4e2fbd01e9970e86c32e50afc/robotframework_seleniumtestability-2.0.0-py3-none-any.whl";
+      sha256 = "1x9d45dp5zb5307yaldraw0gk23n2la6q7gk7azdppka1zgm8fhd";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."furl"
+      self."robotframework-seleniumlibrary"
+      self."wrapt"
+    ];
+  };
+  "robotframework-sshlibrary" = super.buildPythonPackage rec {
+    pname = "robotframework-sshlibrary";
+    version = "3.8.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/23/e9/74f3345024645a1e874c53064787a324eaecfb0c594c189699474370a147/robotframework-sshlibrary-3.8.0.tar.gz";
+      sha256 = "1hj64hywc1sf7h8y4pdnzk17sv2xlanx0xc5rw248d5pph18mpxf";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."paramiko"
+      self."robotframework"
+      self."scp"
+    ];
+  };
+  "scp" = super.buildPythonPackage rec {
+    pname = "scp";
+    version = "0.14.4";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/7c/85/595a938d24bf4c88fe3ca4424ec9d934175fee800278769c7d4257dcf11a/scp-0.14.4-py2.py3-none-any.whl";
+      sha256 = "0bzgd45bh5f52rvgcklacrjx6l61v2blqsbrlyl961x6zgxsmp99";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."paramiko"
+    ];
+  };
+  "selenium" = super.buildPythonPackage rec {
+    pname = "selenium";
+    version = "4.4.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/50/1a/9b92b6be1f6bbcd4e5a5b1d8e5d0c7f8224054c3bf5ea81d371be47122e8/selenium-4.4.3-py3-none-any.whl";
+      sha256 = "030m4i3b4clb4nwdzp5cy4055k0iw9y04axayl5v8ss2iajx8vna";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."certifi"
+      self."trio"
+      self."trio-websocket"
+      self."urllib3"
+    ];
+  };
+  "six" = super.buildPythonPackage rec {
+    pname = "six";
+    version = "1.16.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl";
+      sha256 = "0m02dsi8lvrjf4bi20ab6lm7rr6krz7pg6lzk3xjs2l9hqfjzfwa";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "sniffio" = super.buildPythonPackage rec {
+    pname = "sniffio";
+    version = "1.3.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/c3/a0/5dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf/sniffio-1.3.0-py3-none-any.whl";
+      sha256 = "112k8azxisfcwpvx36rpgisxf15lxv0zgaza5snvggsv3v7gvkpf";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "snowballstemmer" = super.buildPythonPackage rec {
+    pname = "snowballstemmer";
+    version = "2.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl";
+      sha256 = "06msxjb0qpqgj07zp1drqv19y3afw0m5gr94d3hqlffchdp73qf8";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "sortedcontainers" = super.buildPythonPackage rec {
+    pname = "sortedcontainers";
+    version = "2.4.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl";
+      sha256 = "1q3y4gdrb1d3595sxqlpk0j783hr8n9a6mz9hla0470gvspdqqx1";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "soupsieve" = super.buildPythonPackage rec {
+    pname = "soupsieve";
+    version = "2.3.2.post1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/16/e3/4ad79882b92617e3a4a0df1960d6bce08edfb637737ac5c3f3ba29022e25/soupsieve-2.3.2.post1-py3-none-any.whl";
+      sha256 = "0nf7nw8llxrv1b42hdl6jpmgmb8sz3jid0fhxfql4jh8qz9h699v";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "sphinx" = super.buildPythonPackage rec {
+    pname = "sphinx";
+    version = "5.3.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/67/a7/01dd6fd9653c056258d65032aa09a615b5d7b07dd840845a9f41a8860fbc/sphinx-5.3.0-py3-none-any.whl";
+      sha256 = "0v9dcpxqwxk6gzxbj1jvw9d15pzsd6r4gr8r2a5a0mxsyz4sa306";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."alabaster"
+      self."babel"
+      self."docutils"
+      self."imagesize"
+      self."importlib-metadata"
+      self."jinja2"
+      self."packaging"
+      self."pygments"
+      self."requests"
+      self."snowballstemmer"
+      self."sphinxcontrib-applehelp"
+      self."sphinxcontrib-devhelp"
+      self."sphinxcontrib-htmlhelp"
+      self."sphinxcontrib-jsmath"
+      self."sphinxcontrib-qthelp"
+      self."sphinxcontrib-serializinghtml"
+    ];
+  };
+  "sphinx-rtd-theme" = super.buildPythonPackage rec {
+    pname = "sphinx-rtd-theme";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/e0/d2/3818e4730e314719e27f639c44164419e40eed826d63753dc480262036e8/sphinx_rtd_theme-1.0.0-py2.py3-none-any.whl";
+      sha256 = "1n6vdx4w7xcy80zm67bk0siy5skgvqz3f15n9x6fxkq88mpsadad";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."docutils"
+      self."sphinx"
+    ];
+  };
+  "sphinxcontrib-applehelp" = super.buildPythonPackage rec {
+    pname = "sphinxcontrib-applehelp";
+    version = "1.0.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/dc/47/86022665a9433d89a66f5911b558ddff69861766807ba685de2e324bd6ed/sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl";
+      sha256 = "0nl8mw0kxd0544ws9c9gcplikzbv4zzfghf4kv19ggk2x7ji2qc0";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "sphinxcontrib-devhelp" = super.buildPythonPackage rec {
+    pname = "sphinxcontrib-devhelp";
+    version = "1.0.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/c5/09/5de5ed43a521387f18bdf5f5af31d099605c992fd25372b2b9b825ce48ee/sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl";
+      sha256 = "0bjafgjc3lbw9h6bq8q49hjjbwvi50fx67pygypw2p1kk8zj4rc1";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "sphinxcontrib-htmlhelp" = super.buildPythonPackage rec {
+    pname = "sphinxcontrib-htmlhelp";
+    version = "2.0.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/63/40/c854ef09500e25f6432dcbad0f37df87fd7046d376272292d8654cc71c95/sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl";
+      sha256 = "01zdqq30si8yhvmy9w0v4idff4mc5pjs1v2r5gnf6ykrzcyj84nl";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "sphinxcontrib-jsmath" = super.buildPythonPackage rec {
+    pname = "sphinxcontrib-jsmath";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl";
+      sha256 = "0y1i21qwi5p5f98jxds8r1n12yj12la6nrkkiq3z5wvqzgmymhif";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "sphinxcontrib-qthelp" = super.buildPythonPackage rec {
+    pname = "sphinxcontrib-qthelp";
+    version = "1.0.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/2b/14/05f9206cf4e9cfca1afb5fd224c7cd434dcc3a433d6d9e4e0264d29c6cdb/sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl";
+      sha256 = "1dps9m29ay339v0shix314qac2imh7kavjjfzm8qv2klrd5w57xx";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "sphinxcontrib-serializinghtml" = super.buildPythonPackage rec {
+    pname = "sphinxcontrib-serializinghtml";
+    version = "1.1.5";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/c6/77/5464ec50dd0f1c1037e3c93249b040c8fc8078fdda97530eeb02424b6eea/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl";
+      sha256 = "1zcjkfcjisxrgs3fk59zidzbbh2zkzbxgn7alz9p2i46mq09laim";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "stack-data" = super.buildPythonPackage rec {
+    pname = "stack-data";
+    version = "0.5.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/57/dc/9367ef8074e2331706fbad14d749157341fbffd21339c43820e07664ec94/stack_data-0.5.1-py3-none-any.whl";
+      sha256 = "18hb65lkmjiawc8c5gqkyjg32qiydxgr8jpqzk784k5s30d7682i";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."asttokens"
+      self."executing"
+      self."pure-eval"
+    ];
+  };
+  "strict-rfc3339" = super.buildPythonPackage rec {
+    pname = "strict-rfc3339";
+    version = "0.7";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/56/e4/879ef1dbd6ddea1c77c0078cd59b503368b0456bcca7d063a870ca2119d3/strict-rfc3339-0.7.tar.gz";
+      sha256 = "0xqjbsn0g1h88rayh5yrpdagq60zfwrfs3yvk6rmgby3vyz1gbaw";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "terminado" = super.buildPythonPackage rec {
+    pname = "terminado";
+    version = "0.16.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/8a/84/85cec8c1901b00d2c997764b1d717be4c814e8a02678e9c80b59f865660d/terminado-0.16.0-py3-none-any.whl";
+      sha256 = "0xgwghfciyziyjfw5s9qlpqfgr03kg74hi8k856112hplxr5169y";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."ptyprocess"
+      self."tornado"
+    ];
+  };
+  "tinycss2" = super.buildPythonPackage rec {
+    pname = "tinycss2";
+    version = "1.2.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/da/99/fd23634d6962c2791fb8cb6ccae1f05dcbfc39bce36bba8b1c9a8d92eae8/tinycss2-1.2.1-py3-none-any.whl";
+      sha256 = "0ivqhky9v0yx0dhqhvk1fn9c9nd40pvwg2ysii5r3hz785nsk01b";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."webencodings"
+    ];
+  };
+  "toml" = super.buildPythonPackage rec {
+    pname = "toml";
+    version = "0.10.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl";
+      sha256 = "16sgpg57kxx5jh467d9qwc2hwshfvdbl0xkafdp3qspvbfp46qc0";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "tomli" = super.buildPythonPackage rec {
+    pname = "tomli";
+    version = "2.0.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl";
+      sha256 = "1k0fqfdylinb57s2aqwprahwbrsk3babg4gghz4g06hnlvky77ck";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "tomlkit" = super.buildPythonPackage rec {
+    pname = "tomlkit";
+    version = "0.11.5";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/df/b6/310fe14933403413f7352be0c8e75b7ed23db2170d769ed69e40f40130a3/tomlkit-0.11.5-py3-none-any.whl";
+      sha256 = "1rszpklg4nsh953988dw1qxscs3bbnj9kp27g41fwipqrslrvvzj";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "tornado" = super.buildPythonPackage rec {
+    pname = "tornado";
+    version = "6.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/f3/9e/225a41452f2d9418d89be5e32cf824c84fe1e639d350d6e8d49db5b7f73a/tornado-6.2.tar.gz";
+      sha256 = "04rwzjfqa31ajz8vvkfcsp1539m8n960msnppxkcckp8plch8qwv";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "traitlets" = super.buildPythonPackage rec {
+    pname = "traitlets";
+    version = "5.5.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/ed/f9/caefd8c90955184e7426ef930e38c185e047169b520b35bdd57d341d03f4/traitlets-5.5.0-py3-none-any.whl";
+      sha256 = "03yky2v1nrhnc34lm7nnvyq96xc9p5fzdxydi5cik5v0yz4v408j";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "trio" = super.buildPythonPackage rec {
+    pname = "trio";
+    version = "0.22.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/f1/ed/3623a910f9bb7a31b067d6baef476ed6e294e92a245f94ab992988e4a666/trio-0.22.0-py3-none-any.whl";
+      sha256 = "1w6d47bjn1f005q4izr55k5slqiznnf5353rgh68iz4vm200gpgi";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."async-generator"
+      self."attrs"
+      self."exceptiongroup"
+      self."idna"
+      self."outcome"
+      self."sniffio"
+      self."sortedcontainers"
+    ];
+  };
+  "trio-websocket" = super.buildPythonPackage rec {
+    pname = "trio-websocket";
+    version = "0.9.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/db/c5/b5e8bc1f40568a354f2a9cc296b8892605a9d2f22e725290fc33836dd2a3/trio_websocket-0.9.2-py3-none-any.whl";
+      sha256 = "1g6jgvikf0sf6r1mbmkvypfilp99qmv288317dya686chdp8ymav";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."async-generator"
+      self."trio"
+      self."wsproto"
+    ];
+  };
+  "typing-extensions" = super.buildPythonPackage rec {
+    pname = "typing-extensions";
+    version = "4.4.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/0b/8e/f1a0a5a76cfef77e1eb6004cb49e5f8d72634da638420b9ea492ce8305e8/typing_extensions-4.4.0-py3-none-any.whl";
+      sha256 = "17j8jbywq5cjgh6354wyh9y47cvrbyw1hqj9xhsmsrcg81j4iyhn";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "tzdata" = super.buildPythonPackage rec {
+    pname = "tzdata";
+    version = "2022.5";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/d5/90/80d787eab0971e22903c8b89cff7891b21adef174aa6434d1a04f9b5ba35/tzdata-2022.5-py2.py3-none-any.whl";
+      sha256 = "02k5wq61vz8r7v6l0z12lzqn9733fdh5zji0iz3zs0kq5fr62c9j";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "tzlocal" = super.buildPythonPackage rec {
+    pname = "tzlocal";
+    version = "4.2";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/31/b7/3bc2c1868f27677139b772e4fde95265b93151912fd90eb874827943bfcf/tzlocal-4.2-py3-none-any.whl";
+      sha256 = "0i9p0km67i3pbhid7kg5kdbpmj5g09ss4yn5j68rv4jcd2a59249";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."pytz-deprecation-shim"
+    ];
+  };
+  "urllib3" = super.buildPythonPackage rec {
+    pname = "urllib3";
+    version = "1.26.12";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl";
+      sha256 = "15z9xsfhxg94ypa1r7907cg91rsg2hsvnzv3d83gp2jsin3xsc5r";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "validate-email" = super.buildPythonPackage rec {
+    pname = "validate-email";
+    version = "1.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/84/a0/cb53fb64b52123513d04f9b913b905f3eb6fda7264e639b4573cc715c29f/validate_email-1.3.tar.gz";
+      sha256 = "1bxffaf5yz2cph8ki55vdvdypbwkvn2xr1firlcy62vqbzf1jivq";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "wcwidth" = super.buildPythonPackage rec {
+    pname = "wcwidth";
+    version = "0.2.5";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/59/7c/e39aca596badaf1b78e8f547c807b04dae603a433d3e7a7e04d67f2ef3e5/wcwidth-0.2.5-py2.py3-none-any.whl";
+      sha256 = "1177pfa343r378020a85l3b16ak479qgyvh8k5719fgbkhm81d5y";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "webencodings" = super.buildPythonPackage rec {
+    pname = "webencodings";
+    version = "0.5.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl";
+      sha256 = "0y2aa53jkkcszhbbx59z817ywjvy3ah3lavym6bn88n2yc9i5bx0";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "websocket-client" = super.buildPythonPackage rec {
+    pname = "websocket-client";
+    version = "1.4.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/83/b8/95c2512818d6ddb9b97f4163e915b2afe2db42b620270aa59c5ee0b47245/websocket_client-1.4.1-py3-none-any.whl";
+      sha256 = "1420cbph2pkmx4pk8ls9km4mnpzcns2lfixxyjw487r6gvmhk29r";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "widgetsnbextension" = super.buildPythonPackage rec {
+    pname = "widgetsnbextension";
+    version = "4.0.3";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/d7/ae/ee70b20dc836d935a9a6483339854c09d8752e55a8104668e2426cf3baf3/widgetsnbextension-4.0.3-py3-none-any.whl";
+      sha256 = "1srirz70q21djv9xnpl3idkc4c8fcacbahrpy0gd74m6zpl0sfvz";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "wrapt" = super.buildPythonPackage rec {
+    pname = "wrapt";
+    version = "1.14.1";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/11/eb/e06e77394d6cf09977d92bff310cb0392930c08a338f99af6066a5a98f92/wrapt-1.14.1.tar.gz";
+      sha256 = "0kgdvwz0xb17d2503521yccz8kq0bxv9zsp2zdy9prp0i77qa2iq";
+    };
+    format = "setuptools";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+  "wsproto" = super.buildPythonPackage rec {
+    pname = "wsproto";
+    version = "1.2.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl";
+      sha256 = "0dnpgl1jqkaalad5glyzigiavza2cv2qhy2741dxg1dmabbdvb5r";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [
+      self."h11"
+    ];
+  };
+  "zipp" = super.buildPythonPackage rec {
+    pname = "zipp";
+    version = "3.9.0";
+    src = fetchurl {
+      url = "https://files.pythonhosted.org/packages/09/85/302c153615db93e9197f13e02f448b3f95d7d786948f2fb3d6d5830a481b/zipp-3.9.0-py3-none-any.whl";
+      sha256 = "104r1qc1ycal2m1yf04cb9rgpdv4gsyfjlcahgxd7v9gphqzlb4p";
+    };
+    format = "wheel";
+    doCheck = false;
+    buildInputs = [];
+    checkInputs = [];
+    nativeBuildInputs = [];
+    propagatedBuildInputs = [];
+  };
+}
diff --git a/requirements-python39-rf61.txt b/requirements-python39-rf61.txt
new file mode 100644
index 0000000..654c0de
--- /dev/null
+++ b/requirements-python39-rf61.txt
@@ -0,0 +1,180 @@
+GenSON==1.2.2
+PySocks==1.7.1
+RESTinstance==1.3.0
+Send2Trash==1.8.0
+alabaster==0.7.12
+anyio==3.6.2
+argon2-cffi==21.3.0
+argon2-cffi-bindings==21.2.0
+astroid==2.12.12
+asttokens==2.0.8
+async-generator==1.10
+attrs==22.1.0
+babel==2.10.3
+backcall==0.2.0
+bcrypt==4.0.1
+beautifulsoup4==4.11.1
+black==22.10.0
+bleach==5.0.1
+certifi==2022.9.24
+cffi==1.15.1
+charset-normalizer==2.1.1
+click==8.1.3
+coverage==6.5.0
+coveralls==3.3.1
+cryptography==38.0.1
+debugpy==1.6.3
+decorator==5.1.1
+defusedxml==0.7.1
+dill==0.3.5.1
+docopt==0.6.2
+docutils==0.17.1
+entrypoints==0.4
+exceptiongroup==1.0.0rc9
+executing==1.1.1
+faker==15.1.1
+fastjsonschema==2.16.2
+flex==6.14.1
+furl==2.1.3
+h11==0.14.0
+idna==3.4
+imagesize==1.4.1
+importlib-metadata==5.0.0
+iniconfig==1.1.1
+iplantuml==0.1.1
+ipykernel==6.16.0
+ipython==8.5.0
+ipython-genutils==0.2.0
+ipywidgets==8.0.2
+isort==5.10.1
+jedi==0.18.1
+jinja2==3.1.2
+json5==0.9.10
+jsonpath-ng==1.5.3
+jsonpointer==2.3
+jsonschema==4.16.0
+jupyter==1.0.0
+jupyter-client==7.4.2
+jupyter-console==6.4.4
+jupyter-contrib-core==0.4.0
+jupyter-contrib-nbextensions==0.5.1
+jupyter-core==4.11.2
+jupyter-highlight-selected-word==0.2.0
+jupyter-latex-envs==1.4.6
+jupyter-nbextensions-configurator==0.5.0
+jupyter-server==1.21.0
+jupyter-starters==1.1.0
+jupyterlab==3.4.8
+jupyterlab-kernelspy==3.1.0
+jupyterlab-pygments==0.2.2
+jupyterlab-server==2.16.0
+jupyterlab-widgets==3.0.3
+jupytext==1.14.1
+lazy-object-proxy==1.7.1
+lunr==0.6.2
+lxml==4.9.1
+markdown-it-py==2.1.0
+markupsafe==2.1.1
+matplotlib-inline==0.1.6
+mccabe==0.7.0
+mdit-py-plugins==0.3.1
+mdurl==0.1.2
+mistune==2.0.4
+mypy-extensions==0.4.3
+nbclassic==0.4.6
+nbclient==0.7.0
+nbconvert==7.2.1
+nbformat==5.7.0
+nbimporter==0.3.4
+nbsphinx==0.8.9
+nest-asyncio==1.5.6
+notebook==6.5.1
+notebook-shim==0.2.0
+orderedmultidict==1.0.1
+outcome==1.2.0
+packaging==21.3
+pandocfilters==1.5.0
+paramiko==2.11.0
+parso==0.8.3
+pathspec==0.10.1
+pexpect==4.8.0
+pickleshare==0.7.5
+pillow==9.2.0
+plantweb==1.2.1
+platformdirs==2.5.2
+pluggy==1.0.0
+ply==3.11
+prometheus-client==0.15.0
+prompt-toolkit==3.0.31
+psutil==5.9.3
+ptyprocess==0.7.0
+pure-eval==0.2.2
+py==1.11.0
+pycodestyle==2.9.1
+pycparser==2.21
+pydocstyle==6.1.1
+pyflakes==2.5.0
+pygments==2.13.0
+pylama==8.4.1
+pylint==2.15.4
+pynacl==1.5.0
+pyparsing==3.0.9
+pyrsistent==0.18.1
+pytest==7.1.3
+pytest-runner==6.0.0
+python-dateutil==2.8.2
+pytz==2022.5
+pytz-deprecation-shim==0.1.0.post0
+pyyaml==6.0
+pyzmq==24.0.1
+qtconsole==5.3.2
+qtpy==2.2.1
+requests==2.28.1
+rfc3987==1.3.8
+rise==5.7.1
+robotframework==6.1
+robotframework-faker==5.0.0
+robotframework-jupyterlibrary==0.4.1
+robotframework-pythonlibcore==3.0.0
+robotframework-seleniumlibrary==6.0.0
+robotframework-seleniumscreenshots==0.9.5
+robotframework-seleniumtestability==2.0.0
+robotframework-sshlibrary==3.8.0
+scp==0.14.4
+selenium==4.4.3
+six==1.16.0
+sniffio==1.3.0
+snowballstemmer==2.2.0
+sortedcontainers==2.4.0
+soupsieve==2.3.2.post1
+sphinx==5.3.0
+sphinx-rtd-theme==1.0.0
+sphinxcontrib-applehelp==1.0.2
+sphinxcontrib-devhelp==1.0.2
+sphinxcontrib-htmlhelp==2.0.0
+sphinxcontrib-jsmath==1.0.1
+sphinxcontrib-qthelp==1.0.3
+sphinxcontrib-serializinghtml==1.1.5
+stack-data==0.5.1
+strict-rfc3339==0.7
+terminado==0.16.0
+tinycss2==1.2.1
+toml==0.10.2
+tomli==2.0.1
+tomlkit==0.11.5
+tornado==6.2
+traitlets==5.5.0
+trio==0.22.0
+trio-websocket==0.9.2
+typing-extensions==4.4.0
+tzdata==2022.5
+tzlocal==4.2
+urllib3==1.26.12
+validate-email==1.3
+wcwidth==0.2.5
+webencodings==0.5.1
+websocket-client==1.4.1
+widgetsnbextension==4.0.3
+wrapt==1.14.1
+wsproto==1.2.0
+zipp==3.9.0
diff --git a/requirements-rf61.txt b/requirements-rf61.txt
new file mode 100644
index 0000000..dbb9de9
--- /dev/null
+++ b/requirements-rf61.txt
@@ -0,0 +1,53 @@
+# Install requirements
+docutils==0.17.1
+ipykernel
+ipywidgets
+lunr
+nbformat
+nbimporter
+pillow
+pygments
+robotframework==6.1
+setuptools
+
+# Test requirements
+pytest-runner
+pytest
+
+# Docs requirements
+nbsphinx
+sphinx
+sphinx-rtd-theme
+
+# QA requirements
+black
+coverage
+coveralls
+isort
+pydocstyle
+pylama
+pylint
+
+# Misc playground requirements
+faker
+iplantuml
+jupyter
+jupyter-starters
+jupyter-contrib-nbextensions
+jupyterlab
+jupyterlab-kernelspy
+jupyterlab-widgets
+jupytext
+RESTinstance
+rise
+selenium==4.4.3
+robotframework-faker
+robotframework-seleniumlibrary
+robotframework-seleniumtestability
+robotframework-seleniumscreenshots
+robotframework-jupyterlibrary
+robotframework-sshlibrary
+
+## Appium requires selenium < 4
+# robotframework-appiumlibrary
+# Appium-Python-Client
diff --git a/src/robotkernel/builders_32.py b/src/robotkernel/builders_32.py
index f3019bd..63d7ba3 100644
--- a/src/robotkernel/builders_32.py
+++ b/src/robotkernel/builders_32.py
@@ -2,17 +2,27 @@
 from io import StringIO
 from robot.api import get_model
 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):
@@ -31,7 +41,10 @@ def _get_rpa_mode(data):
 def build_suite(code: str, cell_history: Dict[str, str], data_only: bool = False):
     # Init
     suite = TestSuite(name="Jupyter", source=os.getcwd())
-    defaults = TestDefaults(None)
+    if HAS_RF61_PARSER:
+        defaults = FileSettings(TestDefaults(None))
+    else:
+        defaults = TestDefaults(None)
 
     # Populate history
     for historical in cell_history.values():
diff --git a/src/robotkernel/constants.py b/src/robotkernel/constants.py
index 98e873e..89e4340 100644
--- a/src/robotkernel/constants.py
+++ b/src/robotkernel/constants.py
@@ -4,6 +4,12 @@
 import re
 
 
+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")
     HAS_RF32_PARSER = True
diff --git a/src/robotkernel/kernel.py b/src/robotkernel/kernel.py
index f8ffd71..0788643 100644
--- a/src/robotkernel/kernel.py
+++ b/src/robotkernel/kernel.py
@@ -171,7 +171,7 @@ def do_complete(self, code, cursor_pos):
             "status": "ok",
         }
 
-    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
         line, offset = line_at_cursor(code, cursor_pos)
         line_cursor = cursor_pos - offset
diff --git a/src/robotkernel/monkeypatches.py b/src/robotkernel/monkeypatches.py
index 34c9718..01aaa3c 100644
--- a/src/robotkernel/monkeypatches.py
+++ b/src/robotkernel/monkeypatches.py
@@ -3,6 +3,7 @@
 from io import StringIO
 from robot.errors import DataError
 from robotkernel.constants import HAS_RF32_PARSER
+from robotkernel.constants import HAS_RF61_PARSER
 import os
 import re
 import sys
@@ -80,7 +81,10 @@ def _get_file(self, source, accept_text):
         path = self._get_path(source, accept_text)
         if path and os.path.splitext(path)[1].lower() == ".ipynb":
             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:
             return old(self, source, accept_text)
 
@@ -99,7 +103,10 @@ def inject_robot_ipynb_support():
     if HAS_RF32_PARSER:
         # noinspection PyNoneFunctionAssignment,PyProtectedMember
         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")
diff --git a/src/robotkernel/selectors_white.py b/src/robotkernel/selectors_white.py
index fcce07b..0a587cf 100644
--- a/src/robotkernel/selectors_white.py
+++ b/src/robotkernel/selectors_white.py
@@ -26,7 +26,6 @@
 
 
 class PickSnipTool(Form):
-
     mouse_down = None
     mouse_down_button = None
     mouse_down_seconds = 0


Test patch:
diff --git a/.github/workflows/smoketest.yml b/.github/workflows/smoketest.yml
index 35f0b00..e1ecd95 100644
--- a/.github/workflows/smoketest.yml
+++ b/.github/workflows/smoketest.yml
@@ -7,13 +7,13 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        robotframework-version: [rf32, rf40, rf41, rf50, rf51, rf60]
+        robotframework-version: [rf32, rf40, rf41, rf50, rf51, rf60, rf61]
     steps:
     - uses: actions/checkout@v2.4.0
-    - uses: cachix/install-nix-action@v16
+    - uses: cachix/install-nix-action@v22
       with:
         nix_path: nixpkgs=channel:nixos-unstable
-    - uses: cachix/cachix-action@v10
+    - uses: cachix/cachix-action@v12
       with:
         name: robots-from-jupyter
         # If you chose signing key for write access