--- /dev/null
+#
+# Makefile.am for libsnapper/bindings/python
+#
+
+EXTRA_DIST = libsnapper.i
+
+AM_CXXFLAGS = -fPIC -DPIC
+
+PYLIBVER ?= python$(PYTHON_VERSION)
+
+INCLUDES = -I. -I${top_srcdir} -I/usr/include/$(PYLIBVER)
+
+DEPENDENCIES = \
+ ${top_srcdir}/snapper/Factory.h \
+ ${top_srcdir}/snapper/Snapper.h \
+ ${top_srcdir}/snapper/Snapshot.h \
+ ${top_srcdir}/snapper/File.h \
+ ${top_srcdir}/snapper/Comparison.h \
+ ${top_srcdir}/snapper/Exception.h
+
+LIBS = $(top_builddir)/snapper/libsnapper.la
+
+python_PYTHON = libsnapper.py
+
+pyexec_LTLIBRARIES = _libsnapper.la
+
+_libsnapper_la_LDFLAGS = -module -avoid-version
+_libsnapper_la_HEADERS: $(top_builddir)/config.h
+
+_libsnapper_la_DEPENDENCIES = \
+ $(DEPENDENCIES) \
+ ${top_builddir}/snapper/libsnapper.la
+
+nodist__libsnapper_la_SOURCES = libsnapper_wrap.cxx
+
+libsnapper.py libsnapper_wrap.cxx: libsnapper.i $(DEPENDENCIES)
+ swig -o libsnapper_wrap.cxx -c++ -python ${INCLUDES} libsnapper.i
+
+CLEANFILES = libsnapper.py libsnapper_wrap.cxx
--- /dev/null
+//
+// Python interface definition for libsnapper
+//
+
+%module libsnapper
+
+%{
+using namespace std;
+
+#include <snapper/Factory.h>
+#include <snapper/Snapshot.h>
+#include <snapper/Snapper.h>
+#include <snapper/File.h>
+#include <snapper/Comparison.h>
+#include <snapper/Exception.h>
+%}
+
+using namespace std;
+
+%include "std_string.i"
+%include "std_vector.i"
+%include "std_list.i"
+
+%typemap(out) std::string* {
+ $result = PyString_FromString($1->c_str());
+}
+
+%include "../../snapper/Factory.h"
+%include "../../snapper/Snapshot.h"
+%include "../../snapper/Snapper.h"
+%include "../../snapper/File.h"
+%include "../../snapper/Comparison.h"
+%include "../../snapper/Exception.h"
+
+using namespace snapper;
+
+%template(vectorstring) vector<string>;
+