This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Project Description

pyflogd is a monitoring tool to support you when tracking down potential file system bottlenecks. It uses the inotify kernel API.

pyflogd uses a dev-friendly JSON output format. Every line will contain one JSON object with a type and a path property. You can parse the lines and analyse which files are accessed and written the most.


  • daemon
  • docopt
  • hashlib
  • json
  • lockfile
  • pyinotify
  • schema
  • signal

Notes on using pyflogd on Ubuntu

When pyinotify is installed via apt you will get an old version that has a known bug regarding recursive watching. When using this version it is not possible to track files and folders in folders that are created after pyflogd has started. To solve this, you can run pip install --upgrade pyinotify.

Python 3 compatibility

pyflogd depends on python-daemon which is currently not compatible with Python 3. Running pyflogd as daemon will not work without this, but the run command should work just fine.


To install pyflog run the following commands:

git clone
python2 install

After that you should be able to use the pyflod command from you commandline.


 pyflogd run [-f | --only-files] [-r | --recursive] [-o <file> | --outfile=<file>] <folder> ...
 pyflogd start [-f | --only-files] [-r | --recursive] [-o <file> | --outfile=<file>] <folder> ...
 pyflogd stop <folder> ...
 pyflogd -h | --help
 pyflogd -v | --version

 -h --help                 Show this screen
 -v --version              Show version
 -r --recursive            Watch a folder recursivly
 -f --only-files           Don't report events for folders
 -o FILE --outfile=FILE    Write to file instead of stdout


The run command starts pyflogd in foreground and outputs events to stdout when no outfile is supplied.


pyflogd run --outfile=/tmp/pyflogd.log --recursive /path/to/folder1 \
           /path/to/folder2 /path/to/folder3


The start command starts a pyflogd daemon in the background and outputs events to the supplied outfile. To stop the daemon use the same folders as for the start command and omit all other options like outfile or recursive.


pyflogd start --outfile=/tmp/pyflogd.log --recursive /path/to/folder1 \
           /path/to/folder2 /path/to/folder3

pyflogd stop /path/to/folder1 /path/to/folder2 /path/to/folder3
Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pyflogd-0.1.1.tar.gz (3.6 kB) Copy SHA256 Checksum SHA256 Source Oct 14, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting