Took some time to debug, but passing an asyncio.StreamWriter instance to a coroutine executed as a task (either as argument or in a closure) will close the writer. 🤷

Anyway, streaming HTTP message handling matures. SteamReader and StreamWriter of a request connection now get wrapped in custom Decoder/Encoder instances to implement content and transfer encodings (deflate, gzip, chunked, and plain old content-length).

#python3 #asyncio #streams #rfc9110 #rfc9112 #serversentevents

Abelbeck Aviation Checklist got another feature: it now supports multiple synchronised sessions.

Based on server-sent events, changes in one session are committed to all other sessions of a user. In the future I can do the checklists on my smartphone fixed to my thigh, while the tablet nearby shows my flight planning. And both reflect the current state.

Now I can again tend to the flight recorder part of my app.

#aviationgeek #javascript #python #asyncio #serversentevents

Just published: a real-time ISS tracker built with Java and Quarkus.

It streams live spacecraft position updates using Server-Sent Events, renders them with Qute, and runs entirely on the JVM.

Space + Java = always a good combination.

https://www.the-main-thread.com/p/real-time-iss-tracker-quarkus-sse-qute-java

#Java #Quarkus #OpenSource #NASA #ServerSentEvents #JVM

Completely in on #SSE (#ServerSentEvents) usage. You can even do this with #graphql. 😄

Leave updates only from SSE. Model all mutations, but one way to ingest updates as they are available. No poll, websockets, or error handling chaos. Just SSE. 😉

https://yagni.club/3m475dwkjvc2o?auth_completed=true

Misunderstanding SSE - YAGNI Club

On my path of practicing simple software my existing understanding of systems, protocols and tools are challenged. My mental model for SSE (Server Sent Events) was a way to keep a connection open and send updates to the client from the server. Broadly this is correct, but read on as I break down what SSE actually is to see why you may be underutilizing SSE in your applications.

Another project for #Hypermedia in #python. Hold up! It's a fork of #fasthtml. Using #datastar instead of #htmx. 😅

The difference here is how much datastar use #SSE (#ServerSentEvents). It's EVERYWHERE. Very potent stuff.

Hadn't yet tried datastar, but maybe soon with this. 😁

https://starhtml.com/

starHTML

Messages are not received if the subscriber is initially connected before the first message is sent. · Issue #3 · arizon-dread/sse

Steps to reproduce: Start a valkey/redis cache and stream instance Start SSE pointing to the cache and stream instance Connect a fresh subscribing client curl http://localhost:8080/events/test Send...

GitHub

Started to mess around with #FastHTML. I been hearing about it throughout the year, but been ignoring cause ????

Now that I'm giving a little time, it's like everything I like of minimalist #webdev converged into one. 😎

#htmx!? 😏
PicoCSS native with dropdown for #tailwindcss!? 😄
#ServerSentEvents!!? 😆
Type checked HTML !!!? 🤩
Native #SQLite support!!!!? 🤣

Basically, I am going to find use for FastHTML in one way or another. 😅

https://fastht.ml/

FastHTML

Modern web applications in pure Python

fastht.ml

Ok, anyone who cares about #ServerSentEvents / #EventSource in #Python, have a gist

https://gist.github.com/AstraLuma/bd340e1ba20613ce5c1f1b5ff552ebfb

I think I also have an old Tornado implementation I could pull out, but I honestly do not care about Tornado.

Python Server-Sent Events/EventSource Implementations

Python Server-Sent Events/EventSource Implementations - channels.py

Gist
#Mastodon doesn't have full text-search, so I built my own. Actually just a pet project to learn #NodeJS, #TypeScript and glue everything together with #Kafka and #Elasticsearch. Data is ingested in real-time via #ServerSentEvents. Visualization and search through #Kibana. I'll publish the source code over the weekend
@thomasfuchs #Ajax, #Comet, #WebSocket, #ServerSentEvents… web “pages” haven’t been fixed unchanging documents for a long time