Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Filesystem events monitoring

Project description

A simple shell utility to monitor file system events on Mac OS X 10.7+ (Lion or newer).

Shell Utilities

Watch Lion comes with a utility script called watchlion. Please type watchlion --help at the shell prompt to know more about this tool.

watchlion can read .watchlion.yml files and execute command within them in response to file system events. The .watchlion.yml file will be monitored and loading when it has been updated.

An example .watchlion.yml file:

  coffee: make js
  haml:   make html
  py:     make test
  sass:   make css
loglevel: info

An example Makefile file:

.SUFFIXES: .coffee .js
      coffee -b -c $<
.SUFFIXES: .js .min.js
      uglifyjs -nc -o $@ $<
COFFEE = $(wildcard *.coffee)
JS = $(
MINJS = $(JS:.js=.min.js)

.SUFFIXES: .haml .html
      haml -f html5 -t ugly $< $@
HAML = $(wildcard *.haml)
HTML = $(HAML:.haml=.html)

.SUFFIXES: .sass .css
      compass compile $< -c config.rb
.SUFFIXES: .sass .min.css
      compass compile --environment production $< -c config.rb
      mv $*.css $@
SASS = $(wildcard *.sass)
CSS = $(SASS:.sass=.css)
MINCSS = $(SASS:.sass=.min.css)

css: $(MINCSS) $(CSS)
html: $(HTML)
js: $(JS) $(MINJS)

Then run watchlion command:

$ watchlion
INFO:root:load_config: loading .watchlion.yml

Will start building js files when you update a coffee file:

INFO:root:make js
coffee -b -c
uglifyjs -nc -o main.min.js main.js

You can use control-C to stop watchlion .


Installing from PyPI using pip:

pip install watchlion

Installing from PyPI using easy_install:

easy_install watchlion

Installing from source:

python install

Installation Caveats

The watchlion script depends on PyYAML which links with LibYAML, which brings a performance boost to the PyYAML parser. However, installing LibYAML is optional but recommended. On Mac OS X, you can use homebrew to install LibYAML:

brew install libyaml

Supported Platforms


  1. Python 2.6 or above.
  2. XCode
  3. PyYAML


Watch Lion is licensed under the terms of the MIT.

Copyright 2012 ENDOH takanao.

Project source code is available at Github. Please report bugs and file enhancement requests at the issue tracker.

Project details

Release history Release notifications

This version
History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
watchlion-0.3.tar.gz (5.5 kB) Copy SHA256 hash SHA256 Source None Mar 4, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page