30 comments

[ 3.5 ms ] story [ 77.1 ms ] thread
Is this a Mission: Impossible III reference?
it's an LSD reference
Yeah, I'm old enough to recall "Purple Microdot" back in the `70s.
Nah, Lysergsäurediethylamid.
Heh, I never realized where the initialism came from. (I had always guessed LySergic acid Diethylamide, but I never felt like that made sense.)
As a german native speaker, this tidbit was actually one of the first bits of info I learnt about the substance.
https://github.com/nggit/tremolo

Also may be of serious consideration to people looking at microdot, because:

* Pure asyncio only, zero dependencies.

* Ships its own ASGI server, like Sanic. (No juggling uvicorn and gunicorn dependencies).

* Tiny library, feels like Starlette from the glory days.

* streaming responses by default (return stuff, then do processing, return more stuff).

* handles streaming multipart form uploads / streaming downloads, without external dependencies.

* tons of safeguards built in (request/response size limits, bandwidth throttling!) No massive DoS exploit potential found in Starlette/Uvicorn/FastAPI lol.

* the intuitive Sanic-style @on_request + @on_response rather than the complex middleware system in Starlette nowadays

Only 2,500 lines, with IMHO, far more important features than Starlette/FastAPI already baked in.

Of serious consideration, eh?

  Flask:     64,900 GitHub stars
  Starlette:  8,800 GitHub stars
  MicroDot:     847 GitHub stars
  Tremolo:        6 GitHub stars
https://github.com/pallets/flask

https://github.com/encode/starlette

https://github.com/miguelgrinberg/microdot

https://github.com/nggit/tremolo

every open source project starts with the first star. (sorry for murdering the saying.)

may I remind you of https://groups.google.com/g/comp.os.minix/c/dlNtH7RRrGA/m/Sw...

> I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.

;)

Absolutely. And reliability and feature-set is not measured by project activity about which people on here seem obsessed.
Are we too afraid to consider features and source code now?

I remember when Starlette and FastAPI were both just starting in the double digits. IMO this is 100% a sleeper project based on the qualities above.

Better to compare star velocity than total stars
zero yesterday, one today - infinite velocity!
(comment deleted)
But why?
(comment deleted)
To serve small apps from mycropython compatible microcontrollers, like an ESP32 or an RP2040.

I wast just checking this for creating a small web management interface for an ESP32 light controller and some other sensors.

It’s a no for me dawg
(comment deleted)
> Sometimes applications need to store data during the lifetime of a request, so that it can be shared between the before or after request handlers and the route function. The request object provides the g attribute for that purpose.

Eh I dont get it. "g" for globals?

I believe it's the same concept as `g` from flask.
`g` is short for "global", but it is global to that request only. This makes data available to hooks which can wrap request handlers before/after they execute

It's inspired by Flask's same functionality, though it's a part of the greater Application Context and Request Context in Flask, which Microdot apparently doesn't have:

https://flask.palletsprojects.com/en/2.3.x/appcontext/#stori...

Given the title I really wanted this to be a small and portable graphviz reimplementation...
haha, that's trippy.
(comment deleted)