diff --git a/curves/DESCR b/curves/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..ffd869b25c06a5fad4b42204577e73225e8e7799
--- /dev/null
+++ b/curves/DESCR
@@ -0,0 +1 @@
+A template-based Library for creating curves of arbitrary order and dimension, eventually subject to derivative constraints. The main use of the library is the creation of end-effector trajectories for legged robots.
diff --git a/curves/Makefile b/curves/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..4589f044a260832a8f9cc0125b08188d43087b48
--- /dev/null
+++ b/curves/Makefile
@@ -0,0 +1,26 @@
+# robotpkg Makefile for:	wip/curves
+# Created:			Guilhem Saurel on Wed, 15 Jan 2020
+#
+
+ORG=			loco-3d
+NAME=			curves
+VERSION=		0.3.1
+
+CATEGORIES=		wip
+COMMENT=		Library for creating curves
+
+LICENSE=		2-clause-bsd
+MAINTAINER=		gepetto@laas.fr
+
+CMAKE_ARGS+=		-DBUILD_PYTHON_INTERFACE=OFF
+
+include ../../devel/jrl-cmakemodules/Makefile.common
+include ../../devel/boost-headers/depend.mk
+include ../../devel/boost-libs/depend.mk
+include ../../pkgtools/pkg-config/depend.mk
+include ../../math/eigen3/depend.mk
+include ../../math/pinocchio/depend.mk
+include ../../mk/sysdep/cmake.mk
+include ../../mk/language/c.mk
+include ../../mk/language/c++.mk
+include ../../mk/robotpkg.mk
diff --git a/curves/PLIST b/curves/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..620b382f287d4e794f92e64c4363f6131ee42dc6
--- /dev/null
+++ b/curves/PLIST
@@ -0,0 +1,32 @@
+@comment Wed Apr 17 11:40:08 CEST 2019
+include/curves/MathDefs.h
+include/curves/bernstein.h
+include/curves/bezier_curve.h
+include/curves/config.hh
+include/curves/cubic_hermite_spline.h
+include/curves/cubic_spline.h
+include/curves/curve_abc.h
+include/curves/curve_constraint.h
+include/curves/curve_conversion.h
+include/curves/deprecated.hh
+include/curves/exact_cubic.h
+include/curves/fwd.h
+include/curves/helpers/effector_spline.h
+include/curves/helpers/effector_spline_rotation.h
+include/curves/linear_variable.h
+include/curves/optimization/definitions.h
+include/curves/optimization/details.h
+include/curves/optimization/integral_cost.h
+include/curves/optimization/quadratic_problem.h
+include/curves/piecewise_curve.h
+include/curves/polynomial.h
+include/curves/quadratic_variable.h
+include/curves/quintic_spline.h
+include/curves/se3_curve.h
+include/curves/serialization/archive.hpp
+include/curves/serialization/eigen-matrix.hpp
+include/curves/serialization/fwd.hpp
+include/curves/serialization/registeration.hpp
+include/curves/so3_linear.h
+include/curves/warning.hh
+lib/pkgconfig/curves.pc
diff --git a/curves/depend.mk b/curves/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..8c902a5b3e4166585f743b553fac3793f3ffa0bc
--- /dev/null
+++ b/curves/depend.mk
@@ -0,0 +1,27 @@
+# robotpkg depend.mk for:	wip/curves
+# Created:			Guilhem Saurel on Wed, 15 Jan 2020
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+CURVES_DEPEND_MK:=	${CURVES_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		curves
+endif
+
+ifeq (+,$(CURVES_DEPEND_MK)) # --------------------------------------
+
+PREFER.curves?=	robotpkg
+
+DEPEND_USE+=		curves
+
+DEPEND_ABI.curves?=	curves>=0.3.1
+DEPEND_DIR.curves?=	../../wip/py-curves
+
+SYSTEM_SEARCH.curves=\
+	include/curves/config.hh				\
+	'lib/pkgconfig/curves.pc:/Version/s/[^0-9.]//gp'
+
+endif # CURVES_DEPEND_MK --------------------------------------------
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/curves/distinfo b/curves/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..fd3149207090533056c40372c15f0a9da93fca68
--- /dev/null
+++ b/curves/distinfo
@@ -0,0 +1,3 @@
+SHA1 (curves-0.3.1.tar.gz) = d3035a2ef2a0cc0b25bbcc79bdf08184aaf5dceb
+RMD160 (curves-0.3.1.tar.gz) = 6d762a9b0a92a2d271fe3ae0bd1293ed37812766
+Size (curves-0.3.1.tar.gz) = 1599253 bytes
diff --git a/py-curves/Makefile b/py-curves/Makefile
index 90ac46681cfb82f6ba4dc6df0f3f7b7132dc89cd..d55f7a19015154ebf579a7a056a761b759ad3677 100644
--- a/py-curves/Makefile
+++ b/py-curves/Makefile
@@ -4,18 +4,19 @@
 
 ORG=			loco-3d
 NAME=			curves
-VERSION=		0.3.0
+VERSION=		0.3.1
 
 CATEGORIES=		wip
-COMMENT=		Library for creating curves
+COMMENT=		Library for creating curves (python bindings)
 
 LICENSE=		2-clause-bsd
 MAINTAINER=		gepetto@laas.fr
 
 USE_BOOST_LIBS=		python
-USE_PYTHON=		yes
+USE_PYTHON_ONLY=	yes
 
 include ../../devel/jrl-cmakemodules/Makefile.common
+include ../../wip/${NAME}/depend.mk
 include ../../devel/boost-headers/depend.mk
 include ../../devel/boost-libs/depend.mk
 include ../../pkgtools/pkg-config/depend.mk
diff --git a/py-curves/PLIST b/py-curves/PLIST
index 05d80674edd870a3e43faefa34412b72fb318637..b338754c2c40c6fefaccc4a900082d4f055fdecb 100644
--- a/py-curves/PLIST
+++ b/py-curves/PLIST
@@ -1,35 +1,4 @@
 @comment Wed Apr 17 11:40:08 CEST 2019
-include/curves/MathDefs.h
-include/curves/bernstein.h
-include/curves/bezier_curve.h
-include/curves/config.hh
-include/curves/cubic_hermite_spline.h
-include/curves/cubic_spline.h
-include/curves/curve_abc.h
-include/curves/curve_constraint.h
-include/curves/curve_conversion.h
-include/curves/deprecated.hh
-include/curves/exact_cubic.h
-include/curves/fwd.h
-include/curves/helpers/effector_spline.h
-include/curves/helpers/effector_spline_rotation.h
-include/curves/linear_variable.h
-include/curves/optimization/definitions.h
-include/curves/optimization/details.h
-include/curves/optimization/integral_cost.h
-include/curves/optimization/quadratic_problem.h
-include/curves/piecewise_curve.h
-include/curves/polynomial.h
-include/curves/quadratic_variable.h
-include/curves/quintic_spline.h
-include/curves/se3_curve.h
-include/curves/serialization/archive.hpp
-include/curves/serialization/eigen-matrix.hpp
-include/curves/serialization/fwd.hpp
-include/curves/serialization/registeration.hpp
-include/curves/so3_linear.h
-include/curves/warning.hh
-lib/pkgconfig/curves.pc
 ${PYTHON_SITELIB}/curves/__init__.py
 ${PYTHON_SITELIB}/curves/curves.so
 ${PYTHON_SITELIB}/curves/optimization.py
diff --git a/py-curves/depend.mk b/py-curves/depend.mk
index ce67142ca8fa4bc49456127714f70e299f044fe3..f56f2d0b7bbbe55a9bd22e1c09f3ee4424c4ad1a 100644
--- a/py-curves/depend.mk
+++ b/py-curves/depend.mk
@@ -15,13 +15,11 @@ PREFER.py-curves?=	robotpkg
 
 DEPEND_USE+=		py-curves
 
-DEPEND_ABI.py-curves?=	${PKGTAG.python-}curves>=0.3.0
+DEPEND_ABI.py-curves?=	${PKGTAG.python-}curves>=0.3.1
 DEPEND_DIR.py-curves?=	../../wip/py-py-curves
 
 SYSTEM_SEARCH.py-curves=\
-	include/curves/config.hh				\
-	'${PYTHON_SYSLIBSEARCH}/curves/curves.so'		\
-	'lib/pkgconfig/curves.pc:/Version/s/[^0-9.]//gp'
+	'${PYTHON_SYSLIBSEARCH}/curves/curves.so'
 
 include ../../mk/sysdep/python.mk
 
diff --git a/py-curves/distinfo b/py-curves/distinfo
index 414d04925a972d0b5fe3b670bcad65227c1669c9..fd3149207090533056c40372c15f0a9da93fca68 100644
--- a/py-curves/distinfo
+++ b/py-curves/distinfo
@@ -1,3 +1,3 @@
-SHA1 (curves-0.3.0.tar.gz) = d6f46fff9355917820e70a6225960a16d0ec48ec
-RMD160 (curves-0.3.0.tar.gz) = 914f40ce19392a7f78c8eb75a29bc68bbde67442
-Size (curves-0.3.0.tar.gz) = 1599065 bytes
+SHA1 (curves-0.3.1.tar.gz) = d3035a2ef2a0cc0b25bbcc79bdf08184aaf5dceb
+RMD160 (curves-0.3.1.tar.gz) = 6d762a9b0a92a2d271fe3ae0bd1293ed37812766
+Size (curves-0.3.1.tar.gz) = 1599253 bytes