Pyodide-MkDocs-Theme is a [MkDocs](https://www.mkdocs.org/) theme for building static websites
that allow to run Python code in browser as:
- code editor snippets (IDEs),
- interactive Python consoles (terminals),
- instant assessments for user-written functions associated with solutions for excercises
and instructor remarks.
There are many additional features including auto-corrected multiple choice questions (MCQs) and compatibility to use:
- [p5.js animations](https://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/p5_processing/how_to/#p5-simple-example),
- dynamic [matplotlib](https://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/custom/matplotlib/#exemple-simple) drawings,
- PIL,
- [dynamic mermaid graphs](https://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/custom/mermaid/#mermaid-simple-example), and
- mathjax syntax.
## Guarantees
- [x] There are no cookies
- [x] No registration needed
- [x] Created by teachers for teachers and students
## Quickstart
The following commands should install `pyodide_mkdocs_theme`, scaffold a new project and serve a sample website that you can open a browser, usually at `http://127.0.0.1:8000/`.
```console
pip install pyodide_mkdocs_theme
python -m pyodide_mkdocs_theme --new your_project_name
cd your_project_name
pip install -r requirements.txt
mkdocs serve
```
Note: you will need to add `site_url` parameter in `mkdocs.yml`
in order to run `mkdocs build` command.
## Links
- [Online documentation](https://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/) (French only)
- [GitLab repository](https://gitlab.com/frederic-zinelli/pyodide-mkdocs-theme)
## Flexibility
Pyodide-MkDocs-Theme is highly configurable on many aspects:
- theme configuration,
- add your own macros to the theme,
- add custom logic here or there,
- and quite a few other options.

## How it works
The technology enabling this feat is called [Pyodide](https://pyodide.org/en/stable/). It is associated with JavaScript elements such as [jquery.terminal](https://terminal.jcubic.pl/api_reference.php) and [ACE Editor](https://ace.c9.io/).
Pyodide uses WebAssembly to bridge between Python and JavaScript and provide an environment for manipulating the JavaScript DOM with Python, or vice versa for manipulating Python from JavaScript.
Pyodide-MkDocs-Theme is based on a modern [mkdocs-material](https://squidfunk.github.io/mkdocs-material/) theme for MkDocs static site generator.
## Project history
This project is a complete redesign of the prototype [`pyodide-mkdocs`](https://bouillotvincent.gitlab.io/pyodide-mkdocs/) from [Vincent Bouillot](https://gitlab.com/bouillotvincent/).
Raw data
{
"_id": null,
"home_page": "http://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/",
"name": "pyodide-mkdocs-theme",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "mkdocs, mkdocs-plugin, pyodide, IDE, terminal",
"author": "Fr\u00e9d\u00e9ric Zinelli",
"author_email": "frederic.zinelli@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/21/29/1e4ff4ba53d6566d5934bf27fc8c30b239e81ac4ef611a9951d056784389/pyodide_mkdocs_theme-5.2.2.tar.gz",
"platform": null,
"description": "Pyodide-MkDocs-Theme is a [MkDocs](https://www.mkdocs.org/) theme for building static websites\nthat allow to run Python code in browser as:\n\n- code editor snippets (IDEs),\n- interactive Python consoles (terminals),\n- instant assessments for user-written functions associated with solutions for excercises\n and instructor remarks.\n\nThere are many additional features including auto-corrected multiple choice questions (MCQs) and compatibility to use:\n\n- [p5.js animations](https://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/p5_processing/how_to/#p5-simple-example),\n- dynamic [matplotlib](https://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/custom/matplotlib/#exemple-simple) drawings,\n- PIL,\n- [dynamic mermaid graphs](https://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/custom/mermaid/#mermaid-simple-example), and\n- mathjax syntax.\n\n## Guarantees\n\n- [x] There are no cookies\n- [x] No registration needed\n- [x] Created by teachers for teachers and students\n\n## Quickstart\n\nThe following commands should install `pyodide_mkdocs_theme`, scaffold a new project and serve a sample website that you can open a browser, usually at `http://127.0.0.1:8000/`.\n\n```console\npip install pyodide_mkdocs_theme\npython -m pyodide_mkdocs_theme --new your_project_name\ncd your_project_name\npip install -r requirements.txt\nmkdocs serve\n```\n\nNote: you will need to add `site_url` parameter in `mkdocs.yml`\nin order to run `mkdocs build` command.\n\n## Links\n\n- [Online documentation](https://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/) (French only)\n- [GitLab repository](https://gitlab.com/frederic-zinelli/pyodide-mkdocs-theme)\n\n## Flexibility\n\nPyodide-MkDocs-Theme is highly configurable on many aspects:\n\n- theme configuration,\n- add your own macros to the theme,\n- add custom logic here or there,\n- and quite a few other options.\n\n\n\n## How it works\n\nThe technology enabling this feat is called [Pyodide](https://pyodide.org/en/stable/). It is associated with JavaScript elements such as [jquery.terminal](https://terminal.jcubic.pl/api_reference.php) and [ACE Editor](https://ace.c9.io/).\n\nPyodide uses WebAssembly to bridge between Python and JavaScript and provide an environment for manipulating the JavaScript DOM with Python, or vice versa for manipulating Python from JavaScript.\n\nPyodide-MkDocs-Theme is based on a modern [mkdocs-material](https://squidfunk.github.io/mkdocs-material/) theme for MkDocs static site generator.\n\n## Project history\n\nThis project is a complete redesign of the prototype [`pyodide-mkdocs`](https://bouillotvincent.gitlab.io/pyodide-mkdocs/) from [Vincent Bouillot](https://gitlab.com/bouillotvincent/).\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Package embedding the necessary tools to host pyodide, ACE editors, jQuery terminals in mkdocs documentations",
"version": "5.2.2",
"project_urls": {
"Bug Tracker": "https://gitlab.com/frederic-zinelli/pyodide-mkdocs-theme/-/issues",
"Documentation": "http://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/",
"Homepage": "http://frederic-zinelli.gitlab.io/pyodide-mkdocs-theme/",
"Repository": "https://gitlab.com/frederic-zinelli/pyodide-mkdocs-theme"
},
"split_keywords": [
"mkdocs",
" mkdocs-plugin",
" pyodide",
" ide",
" terminal"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9269892b862089b7ef927bc273a3eae1e40edefddbc62fea95d7cec8e238351f",
"md5": "48c85cbe58592ccf2f82a66c456d4c97",
"sha256": "8d527689bee39dda832bc4578e02152be56cfc54392a1f4e5f03ef2c62af58b0"
},
"downloads": -1,
"filename": "pyodide_mkdocs_theme-5.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "48c85cbe58592ccf2f82a66c456d4c97",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 479724,
"upload_time": "2025-10-26T09:19:45",
"upload_time_iso_8601": "2025-10-26T09:19:45.013866Z",
"url": "https://files.pythonhosted.org/packages/92/69/892b862089b7ef927bc273a3eae1e40edefddbc62fea95d7cec8e238351f/pyodide_mkdocs_theme-5.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "21291e4ff4ba53d6566d5934bf27fc8c30b239e81ac4ef611a9951d056784389",
"md5": "10f4a82f67fb9802c5a0b945db980264",
"sha256": "7966c68abb56bf3045b1c5189d4a5258212517674b9ae073011cbe2403208074"
},
"downloads": -1,
"filename": "pyodide_mkdocs_theme-5.2.2.tar.gz",
"has_sig": false,
"md5_digest": "10f4a82f67fb9802c5a0b945db980264",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 352839,
"upload_time": "2025-10-26T09:19:47",
"upload_time_iso_8601": "2025-10-26T09:19:47.155037Z",
"url": "https://files.pythonhosted.org/packages/21/29/1e4ff4ba53d6566d5934bf27fc8c30b239e81ac4ef611a9951d056784389/pyodide_mkdocs_theme-5.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-26 09:19:47",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "frederic-zinelli",
"gitlab_project": "pyodide-mkdocs-theme",
"lcname": "pyodide-mkdocs-theme"
}