{"id":1349,"date":"2016-06-17T16:48:57","date_gmt":"2016-06-17T21:48:57","guid":{"rendered":"http:\/\/www.alandmoore.com\/blog\/?p=1349"},"modified":"2016-06-17T16:48:57","modified_gmt":"2016-06-17T21:48:57","slug":"project-highlight-pystump","status":"publish","type":"post","link":"https:\/\/alandmoore.com\/blog\/2016\/06\/17\/project-highlight-pystump\/","title":{"rendered":"Project highlight: PyStump"},"content":{"rendered":"<div id=\"attachment_1353\" style=\"width: 160px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1353\" class=\"size-thumbnail wp-image-1353\" src=\"https:\/\/alandmoore.com\/blog2\/wp-content\/uploads\/2016\/06\/pystump1-150x150.png\" alt=\"screenshot of pystump\" width=\"150\" height=\"150\" \/><p id=\"caption-attachment-1353\" class=\"wp-caption-text\">PyStump transitioning between slides.<\/p><\/div>\n<p>Yesterday I put up a page for <a href=\"http:\/\/www.alandmoore.com\/pystump\">PyStump<\/a>, a web-based announcements display system.\u00a0 I started PyStump as a pet project a couple years ago, but only in recent months have I put in the work to make it an actual usable piece of software.\u00a0 I thought it might be time to highlight it a little.<!--more--><\/p>\n<h2>What&#8217;s PyStump for?<\/h2>\n<p>PyStump is mostly aimed at digital signage within an organization.\u00a0 Where I work, we have several departments that have an announcements slidshow running on screens mounted at various locations around the facility.\u00a0 This is usually done with a computer running Windows and Powerpoint in full-screen.\u00a0 Updating the slideshow is a bit of a messy affair, and in some cases it requires special hardware to multiplex the video to multiple screens.<\/p>\n<p>My aim with PyStump was to eliminate the need for Windows, Powerpoint, and fancy hardware for these cases.\u00a0 The idea is that the presentation would exist as HTML, Javascript, and images stored on a server, edited in the browser, and displayed on simple web kiosks, perhaps running on retired PCs or cheap ARM computers like the <a href=\"https:\/\/www.raspberrypi.org\/\">Raspberry Pi<\/a> or <a href=\"https:\/\/www.kickstarter.com\/projects\/1598272670\/chip-the-worlds-first-9-computer\/\">C.H.I.P.<\/a><\/p>\n<p>Currently, we&#8217;re just using PyStump in our own department to display intra-departmental announcements, but I hope to make it usable for more general audiences.\u00a0 I can envision it being useful for retail businesses, churches, restaurants, offices, or any organization that needs to display messages in this way.<\/p>\n<h2>What&#8217;s PyStump written in?<\/h2>\n<p>I forked PyStump from another project of mine, <a href=\"http:\/\/www.alandmoore.com\/omegahymnal\/omegahymnal.html\">Omega Hymnal<\/a>, since it had a lot of similar functionality.\u00a0 So, like Omega Hymnal, PyStump uses Python, Flask, and SQLite on the backend, and HTML, CSS, and jQuery on the front-end.<\/p>\n<p>&nbsp;<\/p>\n<h2>&#8216;PyStump&#8217; is an awful name.<\/h2>\n<p>Ostensibly, yes.\u00a0 Yes, it is.\u00a0 The name comes from the idea of posting notices to a stump, or maybe using a stump to stand on when you make proclamations.\u00a0 And of course, prepending &#8216;Py&#8217; because people intrinsically care what language a program was written in (that&#8217;s sarcasm, of course).<\/p>\n<p>I&#8217;m open to suggestions, but of course it has to be something that isn&#8217;t already trademarked or in established use.<\/p>\n<h2>How do I get it?<\/h2>\n<p>Well, you <a href=\"http:\/\/github.com\/alandmoore\/pystump\">grab it off github<\/a>, of course!\u00a0 PyStump is licensed GPLv3, so go have some fun with it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday I put up a page for PyStump, a web-based announcements display system.\u00a0 I started PyStump as a pet project a couple years ago, but only in recent months have I put in the work to make it an actual usable piece of software.\u00a0 I thought it might be time to highlight it a little.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,5],"tags":[16,28,47,41],"class_list":["post-1349","post","type-post","status-publish","format-standard","hentry","category-floss","category-technology","tag-floss-2","tag-programming-2","tag-python","tag-software-projects"],"_links":{"self":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/1349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/comments?post=1349"}],"version-history":[{"count":2,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/1349\/revisions"}],"predecessor-version":[{"id":1355,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/posts\/1349\/revisions\/1355"}],"wp:attachment":[{"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/media?parent=1349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/categories?post=1349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alandmoore.com\/blog\/wp-json\/wp\/v2\/tags?post=1349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}