This release is a pre-release and may not be stable for production use.
pWebServer
Small, asynchronous web server for use with Raspberry Pi Pico W boards and similar
Background
I wanted something small and reusable to work with my raspberry pi pico w and didn't find anything in the wild. This is a work in progress, but I intend for it to be stable for at least my own use.
Notes
This library is not designed to be particularly fast, however it is intended to be easy to use.
HTTP Methods
Self-defined methods are not currently supported. PATCH, CONNECT, and TRACE are also not implmented
Paths
Simple paths are supported. Complex path matching is not supported.
For example, in some frameworks you might be able to define a path as
/some/path/to/:id
And that would populate the id property or some other variable with the value, for pWebServer that is not the case.
For dynamic data use query strings
Example (micropython - if installed with mip):
from pWebServer.pWebServer import Server
import uasyncio as asyncio
sv = Server()
sv.add_default_route() # simply adds a route at / that returns 200 OK
loop = asyncio.get_event_loop()
loop.create_task(sv.start()) # Start serving for 0.0.0.0 (all ipv4 ips) on port 80
loop.run_forever()
Requirements
python >=3.11 or micropython >=1.20
installing
python (with pypi)
pip install pWebServer
micropython (with mip & url)
Using repl:
import mip
mip.install("github:sjsadowski/pWebServer", version="latest")
Using mpremote:
mpremote mip install github:sjsadowski/pWebServer
Dependencies
MicroPython
MicroPython does not ship with the full set of Python Standard Libraries. For information about this, check the micropython-lib GitHub repo .
- logging
Python
** None **
Development
- pytest >= 7.4.0
- pytest-asyncio >= 0.21.0
- httpx >= 0.24.1
To Do:
- Cookie support
- POST/PUT data support
- HTTP/2.0(?)
- Better test coverage
Metadata
Release files for pWebServer 25.8a6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pwebserver-25.8a6.tar.gz | 6.9 kB | Without provenance | Details for pwebserver-25.8a6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pwebserver-25.8a6-py3-none-any.whl | Python 3 | none | any | Details for pwebserver-25.8a6-py3-none-any.whl |
Total release size: 14.4 kB
Release files / pwebserver-25.8a6.tar.gz
| Download URL | pwebserver-25.8a6.tar.gz |
|---|---|
| Size | 6.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a33b2d254fa8eab1072392826ba9bd2fd6546179e903a862d7eaa99e7d76cc0
|
|
BLAKE2b-256 checksum How to use checksums |
6b8ea55fc3e02c246e06c960f81566313bffd901930f11d1c95f3bf45250778f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.25.5 CPython/3.13.5 Darwin/24.6.0
|
Release files / pwebserver-25.8a6-py3-none-any.whl
| Download URL | pwebserver-25.8a6-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c14df19e062cf2038f16cf0aedd306747b2c9290928968d041a712e90db49113
|
|
BLAKE2b-256 checksum How to use checksums |
b0c789398698b12eccaafb7a63a6e8ce17efca74561d5eb9d4c3fe56862ec8c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.25.5 CPython/3.13.5 Darwin/24.6.0
|
Security for pWebServer 25.8a6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.