The impossibly small web framework for Python and MicroPython.
  • Python 99.3%
  • Shell 0.5%
  • Dockerfile 0.2%
Find a file
Miguel Grinberg c3fbf22771
All checks were successful
build / tests-3.11 (push) Successful in 59s
build / tests-3.10 (push) Successful in 1m11s
build / tests-3.12 (push) Successful in 1m5s
build / lint (push) Successful in 1m49s
build / tests-3.13 (push) Successful in 1m7s
build / tests-3.14 (push) Successful in 1m9s
build / tests-3.14t (push) Successful in 1m21s
build / tests-micropython (push) Successful in 59s
build / tests-circuitpython (push) Successful in 54s
build / tests-pypy3.11 (push) Successful in 1m54s
build / benchmark (push) Successful in 1m32s
fix bad links in change log #nolog
2026-09-21 12:30:51 +01:00
.forgejo/workflows continuous integration improvements 2026-09-16 17:54:24 +01:00
bin update micropython binary 2026-04-24 19:56:21 +01:00
docs Minor documentation fixes 2026-03-10 23:30:38 +00:00
examples add retries to benchmarking script 2026-08-29 23:19:05 +01:00
libs update micropython binary 2026-04-24 19:56:21 +01:00
src/microdot Version 2.7.1.dev0 2026-09-18 10:15:03 +01:00
tests Add the new QUERY method (Fixes #10003) 2026-09-18 09:37:34 +01:00
tools update micropython binary 2026-04-24 19:56:21 +01:00
typings Add the new QUERY method (Fixes #10003) 2026-09-18 09:37:34 +01:00
.gitattributes switch to GitHub actions for builds 2021-02-06 12:01:11 +00:00
.gitignore add tox to dev dependencies 2024-08-15 20:40:54 +01:00
.readthedocs.yaml Forgejo migration 2026-08-29 20:22:35 +01:00
CHANGES.md fix bad links in change log #nolog 2026-09-21 12:30:51 +01:00
CODE_OF_CONDUCT.md Forgejo migration 2026-08-29 20:22:35 +01:00
CONTRIBUTING.md Forgejo migration 2026-08-29 20:22:35 +01:00
LICENSE Initial commit 2019-04-16 12:00:41 +01:00
MANIFEST.in Migrate Python package metadata to pyproject.toml 2023-10-15 12:51:27 +01:00
pyproject.toml Version 2.7.1.dev0 2026-09-18 10:15:03 +01:00
README.md Forgejo migration 2026-08-29 20:22:35 +01:00
run_tests.py Circuitpython build 2024-01-31 23:43:17 +00:00
SECURITY.md Add security policy 2021-09-27 13:57:04 +01:00
tox.ini continuous integration improvements 2026-09-16 17:54:24 +01:00

Microdot

tests

“The impossibly small web framework for Python and MicroPython”

Microdot is a minimalistic Python web framework inspired by Flask. Given its small size, it can run on systems with limited resources such as microcontrollers. Both standard Python (CPython) and MicroPython are supported.

from microdot import Microdot

app = Microdot()

@app.route('/')
async def index(request):
    return 'Hello, world!'

app.run()

Resources

The following links are for legacy version 1 of Microdot:

Note that version 1 is no longer maintained, so you should consider migrating to version 2. See the migration notes for help.

Roadmap

The following features are planned for future releases of Microdot, both for MicroPython and CPython:

  • Authentication support, similar to Flask-Login for Flask (Added in version 2.1)
  • Support for forms encoded in multipart/form-data format (Added in version 2.2)
  • CSRF protection extension (Added in version 2.5)
  • Type hints (Added in version 2.6)
  • Pub/sub mini-framework for WebSocket and SSE
  • OpenAPI integration, similar to APIFairy for Flask

Do you have other ideas to propose? Let's discuss them!

Sponsor this project

This project relies on contributions from its users. If you benefit from it please consider making a single or ongoing monetary contribution in one of the following platforms:

Thank you!