Skip to main content

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:

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

An example Makefile file:

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

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

.SUFFIXES: .sass .css
.sass.css:
      compass compile $< -c config.rb
.SUFFIXES: .sass .min.css
.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)
test:
      py.test

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 main.coffee
uglifyjs -nc -o main.min.js main.js
...

You can use control-C to stop watchlion .

Installation

Installing from PyPI using pip:

pip install watchlion

Installing from PyPI using easy_install:

easy_install watchlion

Installing from source:

python setup.py 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

Dependencies

  1. Python 2.6 or above.

  2. XCode

  3. PyYAML

Licensing

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.

Release files for watchlion 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for watchlion 0.3
File Size Uploaded
watchlion-0.3.tar.gz 5.5 kB Details

Release files / watchlion-0.3.tar.gz

Download URL watchlion-0.3.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
46883e1b0ee81328cf5088459e305f90006d338d0515bf308dbc97074fb456ef
BLAKE2b-256 checksum
How to use checksums
d0633be6edf0749383fa11894152dbe2002fed50e5a1a0008d96ed8b72676c19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3 This release

1 release file

0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page