diff --git a/Makefile b/Makefile
index 02881a7bd8a14c1d4811f172e260e28006bd16c6..c744a2ed5fb7486290061f31bfa5c5df71e980f6 100644
--- a/Makefile
+++ b/Makefile
@@ -94,6 +94,7 @@ SUBDIR+=	py-morse
 SUBDIR+=	py-mraa
 SUBDIR+=	py-parametric-curves
 SUBDIR+=	py-sot-core-v3
+SUBDIR+=	py-sot-pattern-generator-v3
 SUBDIR+=	py-sot-tools-v3
 SUBDIR+=	py-sot-torque-control
 SUBDIR+=	pyrene-motions
diff --git a/py-sot-pattern-generator-v3/DESCR b/py-sot-pattern-generator-v3/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..6105dbac4a70b24ac3b37b281af64a8e0ccf4f86
--- /dev/null
+++ b/py-sot-pattern-generator-v3/DESCR
@@ -0,0 +1,8 @@
+Create an entity to manage the walking pattern generator in a dynamic-graph.
+
+This package wraps the walk pattern generator exposed by walkGenJrl (package
+path/jrl-walkgen) for use in the stack of tasks (package motion/sot-dynamic).
+Hence, by using this package, you can create several dynamicgraph::Entity
+"entities" to control the walk pattern of a humanoid robot.
+
+(python bindings)
diff --git a/py-sot-pattern-generator-v3/Makefile b/py-sot-pattern-generator-v3/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..297ab5b4f8e210bf9c2c231da382fdea2688981f
--- /dev/null
+++ b/py-sot-pattern-generator-v3/Makefile
@@ -0,0 +1,38 @@
+# robotpkg Makefile for:	wip/sot-pattern-generator-v3
+# Created:			Olivier Stasse on Thu, 18 Apr 2013
+#
+
+ORG=			stack-of-tasks
+NAME=			sot-pattern-generator
+VERSION=		3.1.0
+
+DISTNAME=		${NAME}-${VERSION}
+PKGNAME=		${PKGTAG.python-}${NAME}-v3-${VERSION}
+
+MASTER_SITES=		${MASTER_SITE_OPENROBOTS:=${NAME}/}
+MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}${ORG}/${NAME}
+CHECKOUT_VCS_OPTS+=	--recursive
+
+CATEGORIES=		wip
+COMMENT=		Walking Pattern Generator (python bindings)
+LICENSE=		2-clause-bsd
+MAINTAINER=		gepetto@laas.fr
+
+CONFLICTS+=		py[0-9][0-9]-${NAME}
+
+DYNAMIC_PLIST_DIRS+=	share/doc/${NAME}
+
+include ../../${CATEGORIES}/${NAME}-v3/depend.mk
+include ../../devel/boost-headers/depend.mk
+include ../../devel/boost-libs/depend.mk
+include ../../math/pinocchio/depend.mk
+include ../../wip/jrl-walkgen-v3/depend.mk
+include ../../wip/sot-core-v3/depend.mk
+include ../../wip/py-sot-core-v3/depend.mk
+include ../../pkgtools/pkg-config/depend.mk
+include ../../mk/sysdep/cmake.mk
+include ../../mk/sysdep/doxygen.mk
+include ../../mk/sysdep/python.mk
+include ../../mk/language/c.mk
+include ../../mk/language/c++.mk
+include ../../mk/robotpkg.mk
diff --git a/py-sot-pattern-generator-v3/PLIST b/py-sot-pattern-generator-v3/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..7bb9f90ee7308e5a20d5985a9385d8a48c804f5c
--- /dev/null
+++ b/py-sot-pattern-generator-v3/PLIST
@@ -0,0 +1,34 @@
+@comment Fri Aug 17 15:07:19 CEST 2018
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/exception_pg/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/exception_pg/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/next_step/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/next_step/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_observer/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_observer/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_computer_force/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_computer_force/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_computer_joystick/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_computer_joystick/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_computer_pos/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_computer_pos/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/which_foot_upper/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/which_foot_upper/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_queue/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_queue/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/selector/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/selector/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_checker/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_checker/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/next_step_pg_sot/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/next_step_pg_sot/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/pg_manager/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/pg_manager/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_time_line/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/step_time_line/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/pg/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/pg/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/meta_selector.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/meta_pg.py
+${PYTHON_SITELIB}/dynamic_graph/sot/pattern_generator/walking.py
+${PYTHON_SITELIB}/dynamic_graph/tutorial/walkromeo.py
diff --git a/py-sot-pattern-generator-v3/depend.mk b/py-sot-pattern-generator-v3/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..25e64bcc7520b4fcb575f3354075f245f09276eb
--- /dev/null
+++ b/py-sot-pattern-generator-v3/depend.mk
@@ -0,0 +1,27 @@
+# robotpkg depend.mk for:	wip/py-sot-pattern-generator-v3
+# Created:			Olivier Stasse on Thu, 18 Apr 2013
+#
+
+DEPEND_DEPTH:=				${DEPEND_DEPTH}+
+PY_SOT_PATTERN_GENERATOR_V3_DEPEND_MK:=	${PY_SOT_PATTERN_GENERATOR_V3_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=			py-sot-pattern-generator-v3
+endif
+
+ifeq (+,$(PY_SOT_PATTERN_GENERATOR_V3_DEPEND_MK)) # ------------------------------
+
+DEPEND_USE+=			py-sot-pattern-generator-v3
+PREFER.py-sot-pattern-generator-v3?=	robotpkg
+
+DEPEND_ABI.py-sot-pattern-generator-v3?=	${PKGTAG.python-}sot-pattern-generator-v3>=2.10
+DEPEND_DIR.py-sot-pattern-generator-v3?=	../../wip/py-sot-pattern-generator-v3
+
+SYSTEM_SEARCH.sot-pattern-generator-v3=\
+	'${PYTHON_SYSLIBSEARCH}/dynamic_graph/sot/pattern_generator/pg/wrap.so'
+
+include ../../mk/sysdep/python.mk
+
+endif # PY_SOT_PATTERN_GENERATOR__v3DEPEND_MK ------------------------------------
+
+DEPEND_DEPTH:=				${DEPEND_DEPTH:+=}
diff --git a/py-sot-pattern-generator-v3/distinfo b/py-sot-pattern-generator-v3/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..dc30cda3477a0c3b972d87858f0bec514e2301f0
--- /dev/null
+++ b/py-sot-pattern-generator-v3/distinfo
@@ -0,0 +1,3 @@
+SHA1 (sot-pattern-generator-3.1.0.tar.gz) = dde74b7fe668b2d1ed0a6b2249f8de8caccef32f
+RMD160 (sot-pattern-generator-3.1.0.tar.gz) = 6463c19039fe6bfa0d2e2b784da3bec7eb083c02
+Size (sot-pattern-generator-3.1.0.tar.gz) = 840593 bytes