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/ac/c9/4c6963315ba69e22a61ff4ecd2b814e28e6d9358f9ea8523e8dbcb6c83ac/pyodide_mkdocs_theme-5.1.4.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.1.4",
"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": "90b6b2c5c060260b95002b93809bad4ddc3f3abe50fc4962b61d1d890d8da09b",
"md5": "609fc91dd484f2e6a4a596fb009765f4",
"sha256": "569596e223bb8e0501fc4d7b2f3ed0909eda472adb30d573006d7e0d3a5ce6b3"
},
"downloads": -1,
"filename": "pyodide_mkdocs_theme-5.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "609fc91dd484f2e6a4a596fb009765f4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 477497,
"upload_time": "2025-09-14T14:37:16",
"upload_time_iso_8601": "2025-09-14T14:37:16.351002Z",
"url": "https://files.pythonhosted.org/packages/90/b6/b2c5c060260b95002b93809bad4ddc3f3abe50fc4962b61d1d890d8da09b/pyodide_mkdocs_theme-5.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "acc94c6963315ba69e22a61ff4ecd2b814e28e6d9358f9ea8523e8dbcb6c83ac",
"md5": "a72bcc4af8bbb4ef7313c1ce82a531b2",
"sha256": "426ec9e4fc47ef04c54c3daef82e08be27b34a22986dff87cc36c2b7b5dd9860"
},
"downloads": -1,
"filename": "pyodide_mkdocs_theme-5.1.4.tar.gz",
"has_sig": false,
"md5_digest": "a72bcc4af8bbb4ef7313c1ce82a531b2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 348854,
"upload_time": "2025-09-14T14:37:18",
"upload_time_iso_8601": "2025-09-14T14:37:18.380901Z",
"url": "https://files.pythonhosted.org/packages/ac/c9/4c6963315ba69e22a61ff4ecd2b814e28e6d9358f9ea8523e8dbcb6c83ac/pyodide_mkdocs_theme-5.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-14 14:37:18",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "frederic-zinelli",
"gitlab_project": "pyodide-mkdocs-theme",
"lcname": "pyodide-mkdocs-theme"
}