A full asynchronous web server for MicroPython designed for microcontrollers with minimal memory footprint.
Nanoweb is a full asynchronous web server designed specifically for MicroPython, enabling web server functionality on microcontrollers with limited memory and processing power. It solves the problem of running a web server on embedded devices like ESP8266, ESP32, and Raspberry Pi Pico by balancing features with a small memory footprint. The server supports routing, static file serving, and asynchronous request handling, making it ideal for IoT projects.
Embedded developers and IoT enthusiasts working with MicroPython on microcontrollers who need to add web server capabilities to their projects without overwhelming device resources.
Developers choose Nanoweb for its asynchronous architecture and minimal memory usage, allowing web server functionality on devices where traditional servers are impossible. Its simple API, decorator-based routing, and static file support provide a practical solution for building web-enabled embedded applications.
Full async Micropython web server with small memory footprint.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Full asynchronous operation enables efficient, non-blocking request handling on single-threaded microcontrollers, as highlighted in the key features for concurrency.
Supports both dictionary-based and decorator-based routing, allowing for clean and adaptable code structure, demonstrated in the usage example with @naw.route.
Includes built-in support for serving static files with configurable extensions via assets_extensions, simplifying asset delivery from embedded devices.
Designed specifically for resource-constrained environments like ESP8266 and ESP32, balancing features with low memory usage per the project philosophy.
Lacks advanced web server features such as HTTPS support, templating engines, or database integration, requiring developers to build these manually.
The README provides only basic examples without comprehensive guides or API references, which can slow development for complex projects.
Exclusively tied to MicroPython environments, making it unsuitable for standard Python projects or other embedded runtimes without modification.