-There are three things on this site:
+## Getting started
-- Homepage
-- Blog (archive + single post)
-- Links to Github/Gitter/Docs/other resources, etc...
+This site uses Jekyll. You can find instructions for how to install and configure Jekyll on [https://jekyllrb.com/docs/](https://jekyllrb.com/docs/).
-## How to edit the homepage
+You may also use a tool or service supporting [Development Containers](https://containers.dev/), such as Visual Studio Code or GitHub Codespaces. In that case, your development environment is already set up and includes Jekyll with the right version.
-To edit the homepage, you can edit:
+Run Jekyll with:
-- `index.markdown` in the root directory.
-- `_config.yml` also in the root directory.
-- `_data/contributors.json` or run `update_contributors.py`
+```bash
+bundle exec jekyll serve --livereload
+```
-`config.yml` has setting like section titles, where links go to etc...
-`index.markdown` has the longer text content.
-`contributors.json` has a list of the top contributors. I figured we can automate how this is generated or update through pull requests.
+## How to Contribute
+You can contribute by:
+- writing an article,
+- improving the theme (developers),
+- improving the design of the site by sharing mockups or ideas (UX and designers).
-## How to edit the blog.
+## Writing
-Create regular jekyll posts under **\_posts** . To feature a post on the homepage under _the learn more_ section, add the category "featured" to the post.
+You can write a blog post in any language. There are no strict writing guidelines, but if you need ones, checkout [Digital Ocean Technical writing guides](https://www.digitalocean.com/community/tutorials/digitalocean-s-technical-writing-guidelines).
-## How to edit links, menus and other details.
+As for what to write about, if you think it is worth sharing, then it is worth writing about (as long as it is about RustPython).
-Use `_config.yml`.
+If you need inspiration:
+- you can check out the issues marked with the label `content`,
+- you can write a how-to, a technical article about something you learned while contributing to RustPython, a use case or just notes-to-future-self for how to configure something.
-## The theme
+### Adding posts
-The theme doesn't rely on any css framework/ and no javascript. Just super simple modification to the minima theme. There are two stylesheets, `style.css` and `media.css`. I did not use `main.css` because it conflicts with minima's stylesheet. I haven't done a Jekyll theme in a while, so contributions are welcome.
+The `_posts` folder is where the blog posts are.
+
+To create a new post create a markdown file with this pattern: `YEAR-MONTH-DAY-title.md`, for example: `2020-10-01-why-rust-python-is-awesome.markdown`
+
+Here is how the content of that file should look like.
+
+```
+---
+layout: post
+title: "Why RustPython is awesome!"
+---
+
+Content goes here.
+
+```
+
+Once you have your post ready, submit a pull request.
+
+### Editing the homepage
+
+To edit the homepage, you can modifty these files:
+
+- `index.markdown`
+- `_config.yml`
+
+`config.yml` has settings like section titles and hyperlinks.
+
+`index.markdown` has the text.
+
+`contributors.json` is automatically generated and has a list of the top contributors.
+
+## Improving the theme.
+
+The theme doesn't rely on any css frameworks or javascript. It is just a super simple modification to the Jekyll `minima` theme.
+
+### Color Scheme
+
+The color scheme is that of the RustPython Logo:
+
+ `#F74C00` or `rgb(247, 76, 0)`
+
+ `#306998` or `rgb(48, 105, 152)`
+
+ `#ffd43b` or `rgb(255, 212, 59)`
diff --git a/_config.yml b/_config.yml
index 018b6a9a5..c98ad91e2 100644
--- a/_config.yml
+++ b/_config.yml
@@ -19,17 +19,20 @@
# in the templates via {{ site.myvariable }}.
title: "RustPython"
-description: "An open source Python-3 (CPython >= 3.5.0) Interpreter written in Rust 🐍 😱 🤘"
+description: "An open source Python 3 (CPython >= 3.11.0) interpreter written in Rust 🐍 😱 🤘"
# baseurl: "/" # the subpath of your site, e.g. /blog
url: "https://rustpython.github.io" # the base hostname & protocol for your site, e.g. http://example.com
github_username: RustPython
disclaimer: "RustPython is in a development phase and should not be used in production or a fault intolerant setting. Our current build supports only about half of the Python standard library."
github: https://github.com/RustPython/RustPython/
docs: https://github.com/RustPython/docs/
-gitter: https://gitter.im/rustpython/Lobby
+discord: https://discord.com/invite/vru8NypEhv
show_excerpts: true
contributor_excerpt: "" # TODO: write something here, goes right under "Contributors" heading
-blog-intro: Create an issue if you read something wrong. Edit posts or create new ones via PR on github.com/RustPython/rustpython.github.io
+blog-intro: Create an issue if you see something wrong. Edit posts or create new ones via PR on github.com/RustPython/rustpython.github.io
+benchmarks-intro: More information about the benchmarks can be found on github.com/RustPython/RustPython
+
+permalink: /blog/:year/:month/:day/:title:output_ext
navigation:
- title: Blog
@@ -38,13 +41,24 @@ navigation:
url: /docs
- title: GitHub
url: https://github.com/RustPython/RustPython/
- - title: Gitter
- url: https://gitter.im/rustpython/Lobby
+ - title: Discord
+ url: https://discord.com/invite/vru8NypEhv
+
+dashboards:
+ - title: CPython test compatibility
+ url: /pages/regression-tests-results.html
+ - title: What's left
+ url: /pages/whats-left
+ - title: Benchmarks
+ url: /benchmarks
+ - title: Website Analytics
+ url: https://plausible.io/rustpython.github.io
# Build settings
theme: minima
plugins:
- jekyll-feed
+ - jekyll-redirect-from
# Exclude from processing.
# The following items will not be processed, by default.
diff --git a/_data/regrtests_results.json b/_data/regrtests_results.json
new file mode 100644
index 000000000..29085085a
--- /dev/null
+++ b/_data/regrtests_results.json
@@ -0,0 +1 @@
+{"suites": {"0": {"name": "Frozen_FindSpecTests", "class": "Frozen_FindSpecTests", "module": "test.test_importlib.builtin.test_finder.Frozen_FindSpecTests.test_failure", "description": "Test find_spec() for built-in modules.", "cases": {"0": {"name": "test_failure", "method": "test_failure", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "1": {"name": "test_module", "method": "test_module", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "78": {"name": "test_failure", "method": "test_failure", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "79": {"name": "test_module", "method": "test_module", "result": "expected_failure", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0012"}, "80": {"name": "test_not_using_frozen", "method": "test_not_using_frozen", "result": "expected_failure", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0003"}, "81": {"name": "test_package", "method": "test_package", "result": "expected_failure", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0014"}, "82": {"name": "test_path_ignored", "method": "test_path_ignored", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0021"}, "83": {"name": "test_target_ignored", "method": "test_target_ignored", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0011"}, "246": {"name": "test_None_on_sys_path", "method": "test_None_on_sys_path", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0006"}, "247": {"name": "test_deleted_cwd", "method": "test_deleted_cwd", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0004"}, "248": {"name": "test_empty_list", "method": "test_empty_list", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "249": {"name": "test_empty_path_hooks", "method": "test_empty_path_hooks", "result": "expected_failure", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0004"}, "250": {"name": "test_failure", "method": "test_failure", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "251": {"name": "test_finder_with_find_spec", "method": "test_finder_with_find_spec", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "252": {"name": "test_invalidate_caches_clear_out_None", "method": "test_invalidate_caches_clear_out_None", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "253": {"name": "test_invalidate_caches_clear_out_relative_path", "method": "test_invalidate_caches_clear_out_relative_path", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "254": {"name": "test_invalidate_caches_finders", "method": "test_invalidate_caches_finders", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "255": {"name": "test_path", "method": "test_path", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "256": {"name": "test_path_hooks", "method": "test_path_hooks", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "257": {"name": "test_path_importer_cache_empty_string", "method": "test_path_importer_cache_empty_string", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "258": {"name": "test_sys_path", "method": "test_sys_path", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "985": {"name": "test_find_relative_module", "method": "test_find_relative_module", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0045"}, "986": {"name": "test_find_relative_module_missing_package", "method": "test_find_relative_module_missing_package", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0027"}, "987": {"name": "test_find_submodule", "method": "test_find_submodule", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0041"}, "988": {"name": "test_find_submodule_in_module", "method": "test_find_submodule_in_module", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0004"}, "989": {"name": "test_find_submodule_parent_already_imported", "method": "test_find_submodule_parent_already_imported", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0041"}, "990": {"name": "test_nothing", "method": "test_nothing", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "991": {"name": "test_success", "method": "test_success", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "992": {"name": "test_sys_modules", "method": "test_sys_modules", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0001"}, "993": {"name": "test_sys_modules_loader_is_None", "method": "test_sys_modules_loader_is_None", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0001"}, "994": {"name": "test_sys_modules_spec_is_None", "method": "test_sys_modules_spec_is_None", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "995": {"name": "test_sys_modules_spec_is_not_set", "method": "test_sys_modules_spec_is_not_set", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0001"}, "996": {"name": "test_sys_modules_without___loader__", "method": "test_sys_modules_without___loader__", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0001"}}, "used_case_names": {}, "num_passed": 15, "num_failed": 0, "num_skipped": 0, "num_expected_failures": 0, "execution_time": "0.0170"}, "1": {"name": "Source_FindSpecTests", "class": "Source_FindSpecTests", "module": "test.test_importlib.builtin.test_finder.Source_FindSpecTests.test_failure", "description": "Test find_spec() for built-in modules.", "cases": {"2": {"name": "test_failure", "method": "test_failure", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "3": {"name": "test_module", "method": "test_module", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0003"}, "84": {"name": "test_failure", "method": "test_failure", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "85": {"name": "test_module", "method": "test_module", "result": "expected_failure", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0008"}, "86": {"name": "test_not_using_frozen", "method": "test_not_using_frozen", "result": "expected_failure", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0003"}, "87": {"name": "test_package", "method": "test_package", "result": "expected_failure", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0011"}, "88": {"name": "test_path_ignored", "method": "test_path_ignored", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0020"}, "89": {"name": "test_target_ignored", "method": "test_target_ignored", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0010"}, "273": {"name": "test_None_on_sys_path", "method": "test_None_on_sys_path", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0006"}, "274": {"name": "test_deleted_cwd", "method": "test_deleted_cwd", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0004"}, "275": {"name": "test_empty_list", "method": "test_empty_list", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "276": {"name": "test_empty_path_hooks", "method": "test_empty_path_hooks", "result": "expected_failure", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0004"}, "277": {"name": "test_failure", "method": "test_failure", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "278": {"name": "test_finder_with_find_spec", "method": "test_finder_with_find_spec", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "279": {"name": "test_invalidate_caches_clear_out_None", "method": "test_invalidate_caches_clear_out_None", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0001"}, "280": {"name": "test_invalidate_caches_clear_out_relative_path", "method": "test_invalidate_caches_clear_out_relative_path", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "281": {"name": "test_invalidate_caches_finders", "method": "test_invalidate_caches_finders", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "282": {"name": "test_path", "method": "test_path", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "283": {"name": "test_path_hooks", "method": "test_path_hooks", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0003"}, "284": {"name": "test_path_importer_cache_empty_string", "method": "test_path_importer_cache_empty_string", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "285": {"name": "test_sys_path", "method": "test_sys_path", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "1049": {"name": "test_find_relative_module", "method": "test_find_relative_module", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0048"}, "1050": {"name": "test_find_relative_module_missing_package", "method": "test_find_relative_module_missing_package", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0028"}, "1051": {"name": "test_find_submodule", "method": "test_find_submodule", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0043"}, "1052": {"name": "test_find_submodule_in_module", "method": "test_find_submodule_in_module", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0004"}, "1053": {"name": "test_find_submodule_parent_already_imported", "method": "test_find_submodule_parent_already_imported", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0043"}, "1054": {"name": "test_nothing", "method": "test_nothing", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0003"}, "1055": {"name": "test_success", "method": "test_success", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "1056": {"name": "test_sys_modules", "method": "test_sys_modules", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "1057": {"name": "test_sys_modules_loader_is_None", "method": "test_sys_modules_loader_is_None", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "1058": {"name": "test_sys_modules_spec_is_None", "method": "test_sys_modules_spec_is_None", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "1059": {"name": "test_sys_modules_spec_is_not_set", "method": "test_sys_modules_spec_is_not_set", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "1060": {"name": "test_sys_modules_without___loader__", "method": "test_sys_modules_without___loader__", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}}, "used_case_names": {}, "num_passed": 15, "num_failed": 0, "num_skipped": 0, "num_expected_failures": 0, "execution_time": "0.0179"}, "2": {"name": "Frozen_InspectLoaderTests", "class": "Frozen_InspectLoaderTests", "module": "test.test_importlib.builtin.test_loader.Frozen_InspectLoaderTests.test_get_code", "description": "Tests for InspectLoader methods for BuiltinImporter.", "cases": {"4": {"name": "test_get_code", "method": "test_get_code", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "5": {"name": "test_get_source", "method": "test_get_source", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0001"}, "6": {"name": "test_is_package", "method": "test_is_package", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0001"}, "7": {"name": "test_not_builtin", "method": "test_not_builtin", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "95": {"name": "test_failure", "method": "test_failure", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0003"}, "96": {"name": "test_get_code", "method": "test_get_code", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}, "97": {"name": "test_get_source", "method": "test_get_source", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0001"}, "98": {"name": "test_is_package", "method": "test_is_package", "result": "passed", "description": null, "note": null, "errors": null, "failures": null, "screenshots": [], "new_version": "No", "execution_time": "0.0002"}}, "used_case_names": {}, "num_passed": 9, "num_failed": 0, "num_skipped": 0, "num_expected_failures": 0, "execution_time": "0.0007"}, "3": {"name": "Frozen_LoaderTests", "class": "Frozen_LoaderTests", "module": "test.test_importlib.builtin.test_loader.Frozen_LoaderTests.test_already_imported", "description": "Test load_module() for built-in modules.", "cases": {"8": {"name": "test_already_imported", "method": "test_already_imported", "result": "error", "description": null, "note": null, "errors": "Traceback (most recent call last):\n File \"/home/runner/work/RustPython/RustPython/pylib/Lib/unittest/case.py\", line 623, in run\n self._callTestMethod(testMethod)\n File \"/home/runner/work/RustPython/RustPython/pylib/Lib/unittest/case.py\", line 579, in _callTestMethod\n if method() is not None:\n File \"/home/runner/work/RustPython/RustPython/pylib/Lib/test/test_importlib/builtin/test_loader.py\", line 65, in test_already_imported\n with self.assertRaises(ImportError) as cm:\n File \"/home/runner/work/RustPython/RustPython/pylib/Lib/test/test_importlib/builtin/test_loader.py\", line 66, in test_already_imported\n self.load_module(module_name)\n File \"/home/runner/work/RustPython/RustPython/pylib/Lib/test/test_importlib/builtin/test_loader.py\", line 27, in load_module\n with warnings.catch_warnings():\n File \"/home/runner/work/RustPython/RustPython/pylib/Lib/test/test_importlib/builtin/test_loader.py\", line 29, in load_module\n return self.machinery.BuiltinImporter.load_module(name)\n File \"_frozen_importlib\", line 531, in _load_module_shim\nKeyError: (3, 'the load_module() method is deprecated and slated for removal in Python 3.12; use exec_module() instead', There are no benchmarks to be displayed.
+This shouldn't be happening, please contact one of the maintainers + through Discord to report this problem.
+ {% else %} +