diff --git a/Makefile b/Makefile
index b8fc35bc07a23d56d828381cce4ed67a77668aba..ec2c9ee8dc743ffb4ac5634cf2d8c368624368ba 100644
--- a/Makefile
+++ b/Makefile
@@ -90,6 +90,7 @@ SUBDIR+=	py-morse
 SUBDIR+=	py-mraa
 SUBDIR+=	py-parametric-curves
 SUBDIR+=	py-sot-tools-v3
+SUBDIR+=	py-sot-torque-control
 SUBDIR+=	robotModelParser-libs
 SUBDIR+=	roralink
 SUBDIR+= 	roscontrol-sot
diff --git a/py-sot-torque-control/DESCR b/py-sot-torque-control/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..ea053fbd8be429f9c3c5ca3f880a4decf01e2401
--- /dev/null
+++ b/py-sot-torque-control/DESCR
@@ -0,0 +1 @@
+Torque control for humanoid robots - python bindings
diff --git a/py-sot-torque-control/Makefile b/py-sot-torque-control/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..330c029fc1a7b2423ca5cc56aa17eb586bdc4954
--- /dev/null
+++ b/py-sot-torque-control/Makefile
@@ -0,0 +1,50 @@
+# robotpkg Makefile for:	wip/sot-torque-control
+# Created:			Olivier Stasse on Wed Feb 21 18:07:40 CET 2018
+#
+
+ORG=				stack-of-tasks
+NAME=				sot-torque-control
+VERSION=			1.0.0
+PKGREVISION=		3
+
+DISTNAME=			${NAME}-${VERSION}
+PKGNAME=			${PKGTAG.python-}${DISTNAME}
+
+MASTER_SITES=		${MASTER_SITE_OPENROBOTS:=${NAME}/}
+MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}/${ORG}/${NAME}.git
+CHECKOUT_VCS_OPTS=	--recursive
+
+
+MAINTAINER=			gepetto@laas.fr
+CATEGORIES=			wip
+COMMENT=			Torque control for humanoids
+LICENSE=			2-clause-bsd
+
+CMAKE_ARGS+=		-DBUILD_PYTHON_INTERFACE=ON
+WRKSRC=		${WRKDIR}/${DISTNAME:a=}
+
+DYNAMIC_PLIST_DIRS+=	share/doc/${NAME}
+
+include ../../devel/boost-headers/depend.mk
+include ../../devel/boost-libs/depend.mk
+include ../../math/eigen3/depend.mk
+include ../../math/pinocchio/depend.mk
+include ../../wip/dynamic-graph-v3/depend.mk
+include ../../wip/py-dynamic-graph-v3/depend.mk
+include ../../wip/sot-core-v3/depend.mk
+#include ../../wip/py-sot-core-v3/depend.mk TODO
+include ../../wip/tsid/depend.mk
+#include ../../wip/py-tsid/depend.mk TODO
+include ../../wip/parametric-curves/depend.mk
+include ../../wip/py-parametric-curves/depend.mk
+include ../../wip/simple-humanoid-description/depend.mk
+include ../../pkgtools/pkg-config/depend.mk
+include ../../mk/sysdep/cmake.mk
+include ../../mk/sysdep/python.mk
+include ../../mk/sysdep/doxygen.mk
+include ../../mk/sysdep/graphviz.mk
+include ../../mk/sysdep/py-sphinx.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-torque-control/PLIST b/py-sot-torque-control/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..ae53cf505356a190d2c2ceb419aa7b258696b978
--- /dev/null
+++ b/py-sot-torque-control/PLIST
@@ -0,0 +1,54 @@
+@comment Fri Jul 27 14:47:41 CEST 2018
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/admittance_controller/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/admittance_controller/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/base_estimator/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/base_estimator/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/common_sot_py.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/control_manager/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/control_manager/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/create_entities_utils.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/current_controller/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/current_controller/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/device_torque_ctrl/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/device_torque_ctrl/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/filter_differentiator/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/filter_differentiator/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/free_flyer_locator/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/free_flyer_locator/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/identification/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/identification/identification_utils.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/imu_offset_compensation/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/imu_offset_compensation/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/inverse_dynamics_balance_controller/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/inverse_dynamics_balance_controller/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/joint_torque_controller/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/joint_torque_controller/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/joint_trajectory_generator/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/joint_trajectory_generator/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/madgwickahrs/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/madgwickahrs/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/main.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/main_sim.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/nd_trajectory_generator/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/nd_trajectory_generator/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/numerical_difference/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/numerical_difference/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/position_controller/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/position_controller/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/se3_trajectory_generator/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/se3_trajectory_generator/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/tests/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/tests/robot_data_test.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/tests/test_balance_ctrl_openhrp.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/tests/test_control_manager.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/tests/test_velocity_filters.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/torque_offset_estimator/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/torque_offset_estimator/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/trace_player/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/trace_player/wrap.so
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/utils/__init__.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/utils/filter_utils.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/utils/plot_utils.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/utils/sot_utils.py
+${PYTHON_SITELIB}/dynamic_graph/sot/torque_control/wrap.so
diff --git a/py-sot-torque-control/depend.mk b/py-sot-torque-control/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..a5a65ff3d941f53ad908b30ad64bb23cb5b7aec8
--- /dev/null
+++ b/py-sot-torque-control/depend.mk
@@ -0,0 +1,27 @@
+# robotpkg depend.mk for:	wip/py-sot-torque-control
+# Created:			Guilhem Saurel on Fri, 27 Jul 2018
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+PY_SOT_TORQUE_CONTROL_DEPEND_MK:=	${PY_SOT_TORQUE_CONTROL_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		py-sot-torque-control
+endif
+
+ifeq (+,$(PY_SOT_TORQUE_CONTROL_DEPEND_MK)) # -------------------------------------------
+
+PREFER.py-sot-torque-control?=	robotpkg
+
+SYSTEM_SEARCH.py-sot-torque-control=\
+  '${PYTHON_SYSLIBSEARCH}/sot/torque_control/admittance_controller/wrap.so'			\
+  '${PYTHON_SYSLIBSEARCH}/dynamic_graph/sot/torque_control/__init__.py'
+
+DEPEND_USE+=		py-sot-torque-control
+
+DEPEND_ABI.py-sot-torque-control?=	py-sot-torque-control>=1.0.0
+DEPEND_DIR.py-sot-torque-control?=	../../wip/py-sot-torque-control
+
+endif # PY_SOT_TORQUE_CONTROL_DEPEND_MK -------------------------------------------------
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/py-sot-torque-control/distinfo b/py-sot-torque-control/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..bf93cdb50f4c5cbf6a5f8855756d8bc64411094a
--- /dev/null
+++ b/py-sot-torque-control/distinfo
@@ -0,0 +1,3 @@
+SHA1 (sot-torque-control-1.0.0.tar.gz) = c48b6e4cc4aa3a72d9b02f68b23d1095e4b51128
+RMD160 (sot-torque-control-1.0.0.tar.gz) = 55ae474fa3beb6ac7bba59a23c6ad6c893122322
+Size (sot-torque-control-1.0.0.tar.gz) = 1992663 bytes