How to automatically monitor .py, .js and other source code files to restart a Django (or any other for that matter) application and refresh the browser when the source changes? This is possible in Rails using guard, in JS apps using grunt-contrib-watch and the accompanying livereload browser plugin. How can I do it for Python web apps such as Django? I start my Django server with foreman start this is my Procfile: web: newrelic-admin run-program gunicorn app.wsgi as suggested by the Heroku/Newrelic docs or the usual python manage.py runserver The runserver method does restart the server on .py source changes, but not the browser and doesn't watch other files - I could run guard alongside it, but then I have two processes I have to take care of, whereas grunt or rake offer unified interfaces. I'm wondering what is the recommended way of doing this among Python developers? I could not find any detailed, comprehensive documentation on this - only incomplete discussions here and there. Continue reading...