Tiny example in python what https://data-star.dev does.
Realtime clock example in python:
from flask import Flask, Response
import time
app = Flask(__name__)
def get_time():
return '<div id="time">{}</div>'.format(time.strftime('%H:%M:%S'))
@app.route('/')
def index():
return """
<!DOCTYPE html>
<html>
<head>
<script type="module" defer src="https://cdn.jsdelivr.net/npm/@sudodevnull/datastar"></script>
</head>
<body>
<div data-on-load="$$get('/events')">
<h1>Clock</h1>
{}
</div>
</body>
</html>
""".format(get_time())
@app.route('/events')
def events():
def generate():
while True:
yield 'event: datastar-fragment\n'
yield 'data: fragment {}\n\n'.format(get_time())
time.sleep(1)
return Response(generate(), content_type='text/event-stream')
if __name__ == '__main__':
app.run(debug=True)
Top comments (2)
Very cool. I just spent an hour trying to get the FastAPI and FastHTML examples to work with the SDK to no avail while yours gets it done without it.
Thanks for sharing.
Nice thank you :-)