{"id":13419249,"url":"https://github.com/miguelgrinberg/microdot","last_synced_at":"2025-05-13T23:09:43.304Z","repository":{"id":38355448,"uuid":"176615332","full_name":"miguelgrinberg/microdot","owner":"miguelgrinberg","description":"The impossibly small web framework for Python and MicroPython.","archived":false,"fork":false,"pushed_at":"2025-04-24T18:04:35.000Z","size":3121,"stargazers_count":1647,"open_issues_count":6,"forks_count":131,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-05-07T21:38:18.397Z","etag":null,"topics":["http","micropython","python","webapp","webserver"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miguelgrinberg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"miguelgrinberg","patreon":"miguelgrinberg","buy_me_a_coffee":"miguelgrinberg","thanks_dev":"u/gh/miguelgrinberg","custom":"https://paypal.me/miguelgrinberg"}},"created_at":"2019-03-19T23:37:29.000Z","updated_at":"2025-05-05T09:43:46.000Z","dependencies_parsed_at":"2023-02-09T16:01:19.114Z","dependency_job_id":"7d5db556-9f7c-4b79-9a41-d0cf730ac050","html_url":"https://github.com/miguelgrinberg/microdot","commit_stats":{"total_commits":291,"total_committers":18,"mean_commits":"16.166666666666668","dds":0.134020618556701,"last_synced_commit":"496a2880646b529fd487c518311cfa85ad5ba882"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelgrinberg%2Fmicrodot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelgrinberg%2Fmicrodot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelgrinberg%2Fmicrodot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miguelgrinberg%2Fmicrodot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miguelgrinberg","download_url":"https://codeload.github.com/miguelgrinberg/microdot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254042206,"owners_count":22004865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["http","micropython","python","webapp","webserver"],"created_at":"2024-07-30T22:01:13.357Z","updated_at":"2025-05-13T23:09:38.255Z","avatar_url":"https://github.com/miguelgrinberg.png","language":"Python","funding_links":["https://github.com/sponsors/miguelgrinberg","https://patreon.com/miguelgrinberg","https://buymeacoffee.com/miguelgrinberg","https://thanks.dev/u/gh/miguelgrinberg","https://paypal.me/miguelgrinberg"],"categories":["Python","Libraries","Web Frameworks","后端开发框架及项目","Members","Frameworks for Micropython"],"sub_categories":["Communications","后端项目_其他","More"],"readme":"# microdot\n[![Build status](https://github.com/miguelgrinberg/microdot/workflows/build/badge.svg)](https://github.com/miguelgrinberg/microdot/actions) [![codecov](https://codecov.io/gh/miguelgrinberg/microdot/branch/main/graph/badge.svg)](https://codecov.io/gh/miguelgrinberg/microdot)\n\n*“The impossibly small web framework for Python and MicroPython”*\n\nMicrodot is a minimalistic Python web framework inspired by Flask. Given its\nsmall size, it can run on systems with limited resources such as\nmicrocontrollers. Both standard Python (CPython) and MicroPython are supported.\n\n```python\nfrom microdot import Microdot\n\napp = Microdot()\n\n@app.route('/')\nasync def index(request):\n    return 'Hello, world!'\n\napp.run()\n```\n\n## Migrating to Microdot 2\n\nVersion 2 of Microdot incorporates feedback received from users of earlier\nreleases, and attempts to improve and correct some design decisions that have\nproven to be problematic.\n\nFor this reason most applications built for earlier versions will need to be\nupdated to work correctly with Microdot 2. The\n[Migration Guide](https://microdot.readthedocs.io/en/stable/migrating.html)\ndescribes the backwards incompatible changes that were made.\n\n## Resources\n\n- [Change Log](https://github.com/miguelgrinberg/microdot/blob/main/CHANGES.md)\n- Documentation\n    - [Latest](https://microdot.readthedocs.io/en/latest/)\n    - [Stable (v2)](https://microdot.readthedocs.io/en/stable/)\n    - [Legacy (v1)](https://microdot.readthedocs.io/en/v1/) ([Code](https://github.com/miguelgrinberg/microdot/tree/v1))\n\n## Roadmap\n\nThe following features are planned for future releases of Microdot, both for\nMicroPython and CPython:\n\n- Authentication support, similar to [Flask-Login](https://github.com/maxcountryman/flask-login) for Flask (**Added in version 2.1**)\n- Support for forms encoded in `multipart/form-data` format (**Added in version 2.2**)\n- OpenAPI integration, similar to [APIFairy](https://github.com/miguelgrinberg/apifairy) for Flask\n\nIn addition to the above, the following extensions are also under consideration,\nbut only for CPython:\n\n- Database integration through [SQLAlchemy](https://github.com/sqlalchemy/sqlalchemy)\n- Socket.IO support through [python-socketio](https://github.com/miguelgrinberg/python-socketio)\n\nDo you have other ideas to propose? Let's [discuss them](https://github.com/:miguelgrinberg/microdot/discussions/new?category=ideas)!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelgrinberg%2Fmicrodot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiguelgrinberg%2Fmicrodot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelgrinberg%2Fmicrodot/lists"}