Skip to main content

Provides a framework for building file watchers. Includes a file watcher utility program that allows you to create file watchers declaratively.

Project description


Provides python bindings for inotify and framework for building file watchers using coroutines.

Please note this only runs on Linux and a have no plans to support any other OS.

There are many, many alternatives though.

noticeme includes the noticeme command for quickly setting up a file watcher.

Using noticeme declaratively

If you just need a small file watcher you can try this out.

pip install --user noticeme # install
noticeme init # writes an initial config to .noticeme
noticeme # start watching

To see a full list of events:

  noticeme events

To select which watchers we want to run we can give a list.
Say we had watchers named build:js, build:css, and test in a single config file.
In one terminal we could run:

  noticeme build:js build:css

And in another:

  noticeme test

Quick look at configuration

see noticeme/examples/noticeme.cfg for details

# noticeme.cfg
  clear_screen = yes

  example = A .py file with a @noticeme.watcher decorator in it

  description = This is an example.
  paths = . **
  events = written
  regex = ^docs
  glob = *.txt
  shell = echo "my_watcher: file was added"

Using noticeme to build a file watcher programmatically

import asyncio
import noticeme

@noticeme.watcher('/path/to/directory', 'created modified')
async def my_watcher(event):
  if '.py' == event.path.suffix.lower():
    proc = await asyncio.create_subprocess_exec('cmd', event.path.absolute())
    await proc.wait()

if __name__ == '__main__':


  • Linux >= 2.6.13
  • Python >= 3.5
  • cffi
  • C compiler installed (if you need to run



pip install --user noticeme

Include directly

  • Copy and to your project directory
  • Within noticeme's package directory run:
  • This creates a 'build' directory containing the result of ffibuilder.compile
  • You should now be able to use noticeme.
  • will no longer be needed.


watchdog pyinotify

Version 2019.7

  • set a more informative window title

Version 2019.8

  • add '.noticeme' as possible config file

Version 2019.11

  • add 'init' command to write example config file

Project details

Download files

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

Files for noticeme, version 2019.11
Filename, size File type Python version Upload date Hashes
Filename, size noticeme-2019.11.tar.gz (14.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page