# miguelgrinberg/microdot

> Microdot is a minimalistic web framework for Python and MicroPython, inspired by Flask. It lets developers map URLs to handler functions, which receive a request and return a response. Because it is small, it can run on systems with limited resources such as microcontrollers. Its main language is Python.

Source: https://github.com/miguelgrinberg/microdot
Indexed: commit 7742db9 on 2026-10-03 by Repowise. Facts come from the source and git history, not from the maintainer.

## Facts

- Type: App
- Language: Python
- Stars: 2,157 at index time
- License: MIT
- Code health: 7.5/10, Good
- Last commit: 2026-09-18
- Contributors: 20

## How it works

Application code creates a Microdot object and registers handler functions with its route decorator, which matches URL patterns and HTTP methods. The core framework lives in src/microdot/microdot.py, which dispatches each incoming request to the matching handler. The typings/microdot directory declares type contracts for protocol adapters for WSGI and ASGI, and for features such as authentication, CORS and CSRF protection. For MicroPython targets, libs/micropython and libs/circuitpython provide the module support the framework relies on, and libs/circuitpython/asyncio/core.py defines the scheduling and event loop primitives used by async code. The examples/subapps/app.py file shows how sub-applications are composed into a larger app.

- examples/benchmark/run.py: entry point
- examples/cors/app.py: entry point
- examples/csrf/app.py: entry point
- examples/gpio/weather/main.py: entry point
- examples/subapps/app.py: entry point
Modules: examples, tests, libs, src, typings, tools, docs, root. 171 files, 10,651 lines, 1,225 symbols.

## Code health

- Score: 7.5/10 (Good)
- Rank: #85 of 4,000+ indexed repos
- Hotspots: src/microdot/microdot.py
- Lowest file: src/microdot/microdot.py
- Dead code: 47 findings

## Maintenance

- Last commit 2026-09-18, first commit 2019-04-16, 417 commits
- 20 contributors, bus factor 1

## Security

- Security findings are shown to signed-in users at https://repowise.dev/repo/miguelgrinberg/microdot/security

## More

- Page: https://repowise.dev/repo/miguelgrinberg/microdot
- Ask this codebase: https://repowise.dev/repo/miguelgrinberg/microdot/chat
- Docs: https://repowise.dev/repo/miguelgrinberg/microdot/docs
- MCP (signs in with Repowise on first use):
    claude mcp add --transport http repowise https://api.repowise.dev/mcp/miguelgrinberg/microdot
