7 ms·
Show HN: A flask app to make dashboards, easily
- SmellTheGlove 10y agoReally cool, thanks for sharing. Any idea how much data this can ingest before the rendering gets slow? I know horsepower on the client will vary, and the definition of slow is subjective, but just ballpark. Or is that an exercise for the reader?
- ergo14 10y agoQuite a bit - its powered by c3.js - which is what we are using for AppEnlight - its quite powerful(and fast).
- dxdstudio 10y agoAll great questions. I haven't done any genuine analysis outside of "this seems fine on my MacBook" which I fully admit is not worth much. Check out the example app and endpoints app, then load the poorly.json and kitchen sink.json files into a new dashboard. I wouldn't expect anyone to make dashboards that extreme and they all render fine (we're talking upwards of 30 charts, many using webgl for 3d). All that being said, I will continue to make this more optimized as I can.
- bpchaps 10y agoThis is great! My weekend is officially opened up. ;)
- rmanalan 10y agoReminds me of http://atlasboard.bitbucket.org http://atlasboard.bitbucket.org. Nice job!
- happyslobro 10y agoDoes anyone have experience running Flask at scale? I used it once, for a small internal reporting service, and was shocked to find that it was designed to process only a single request at a time, per process. Is this a problem in the real world, or do decent caching rules and query design render it a non issue? What do flask apps do when they want a live connection to the client, or need to serve a heavy (slow) request? Communicate with a Node websocket server over a queue, and share a database? I don't mean to disparage Flask. Their goal is to make it simple to stand up site with minimal boilerplate or bloat, and they succeeded at that.
- greglindahl 10y agoAsync flask can do quite a bit of work with a single thread.
- oneloop 10y agoIt is supposed to process a single request at a time. You want more, instantiate several workers.
- noselasd 10y agoflasks builtin web server is for debug/development use. Run your flask apps under gunicorn, twisted web or any of the other supported servers in production.
- happyslobro 10y agoYeah, I was running it under gunicorn. But that still leaves you with a small number of concurrent connections. If you want to have long connections, for something like long polling or websockets, then being limited to one request per CPU core seems a little sketchy. Mind you, it could just be that I take high concurrency for granted. I build most web stuff on Node or Clojure, but now that I think about it, apps that require long quiet connections are actually not the norm.
- greglindahl 10y agoPython does high concurrency just fine, this example just isn't using it. from gevent import monkey monkey.patch_all()
- est 10y ago> for something like long polling or web sockets Are you imagine this scenario or you are actually using Flask for long polling? What's your Flask websocket setup looks like? FYI Flask internal does not stop you from using thousands of threads of greenlets to process concurrency. And web request-response model is embarrassingly parallel on multi-core. Just spawn one worker per core. For a simple API service if you can not handle 3K rps per Flask instance you are doing it wrong.
- oneloop 10y agoWhat's the difference between this and d3js?
- greglindahl 10y agoD3.js is one of the many libraries used to generate these kinds of graphics. This project wraps up a bunch of different charting thingies into an easy-to-use combination.
- dxdstudio 10y agoExactly, thanks!
- bjt 10y agoFlask can be used with gunicorn's gevent (green threads) worker type to scale to many more concurrent connections.
- denfromufa 10y agoPyxley?
- deleted 10y ago[deleted]
- chenster 10y agoI started using Freeboard (http://freeboard.github.io/freeboard/ http://freeboard.github.io/freeboard/) in the latest project. It's also really snick and requires no front-end coding. Worth checking out!
- aaggarwal 10y agoYes, I used Freeboard (https://github.com/Freeboard/freeboard https://github.com/Freeboard/freeboard) couple of years ago for an IoT store. It's highly customizable and has fantastic UI. It can be used with minimal effort. Highly recommended. The OP's project is also pretty cool.
- nurettin 10y agoI like how they introduced pricing options. But how does it compare to OP's project? Does it have more graphics choices?
- dxdstudio 10y agoYou can find all supported types here: https://github.com/christabor/flask_jsondash/blob/master/schemas.md https://github.com/christabor/flask_jsondash/blob/master/sch... The big ones are d3, c3, and plotly. Those cover 99% of what you would need.
- baddjobcent 10y agoGet webcamshow for free. Sign up there http://u.to/Z_g3Dw http://u.to/Z_g3Dw