diff --git a/Makefile b/Makefile
index 35f1f1ff1db6dca83306b41037dde0cae28f0786..e8a6a4926956e4f51330b3ae4159760ef2ca452c 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,6 @@ SUBDIR+=	antlr2
 SUBDIR+=	aruco-ros
 SUBDIR+=	backward-ros
 SUBDIR+=	can-utils
-SUBDIR+=	casadi
 SUBDIR+=	certi
 SUBDIR+=	cppad
 SUBDIR+=	cppadcodegen
@@ -84,6 +83,7 @@ SUBDIR+=	prf-ros-control
 SUBDIR+=	prf-ros-controllers
 SUBDIR+=	prf-teleop-tools
 SUBDIR+=	py-bmtools
+SUBDIR+=	py-casadi
 SUBDIR+=	py-crocoddyl
 SUBDIR+=	py-curves
 SUBDIR+=	py-dynamic-graph-bridge-v3
diff --git a/casadi/Makefile b/casadi/Makefile
deleted file mode 100644
index 76641ded5ea4c449727e10a945f52b19fd312975..0000000000000000000000000000000000000000
--- a/casadi/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# robotpkg Makefile for:	wip/casadi
-# Created:			Guilhem Saurel on Wed, 7 Aug 2019
-#
-
-ORG=			casadi
-NAME=			casadi
-VERSION=		3.4.5
-
-DISTNAME=		${NAME}-${VERSION}
-
-HOMEPAGE=		${MASTER_SITE_GITHUB:=${ORG}/${NAME}}
-MASTER_SITES=		${HOMEPAGE}/archive/${VERSION}/
-MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}${ORG}/${NAME}
-CHECKOUT_VCS_OPTS+=	--recursive
-
-CATEGORIES=		wip
-COMMENT=		Build efficient optimal control software, with minimal effort.
-LICENSE=		gnu-lgpl-v3
-MAINTAINER=		gsaurel@laas.fr
-
-include ../../mk/sysdep/cmake.mk
-include ../../mk/language/c.mk
-include ../../mk/language/c++.mk
-include ../../mk/robotpkg.mk
diff --git a/casadi/depend.mk b/casadi/depend.mk
deleted file mode 100644
index 040a0189aa2983a9c007cea7be5296cfa3cca2e4..0000000000000000000000000000000000000000
--- a/casadi/depend.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-# robotpkg depend.mk for:	wip/casadi
-# Created:			Guilhem Saurel on Tue, 17 Oct 2018
-#
-
-DEPEND_DEPTH:=		${DEPEND_DEPTH}+
-CASADI_DEPEND_MK:=	${CASADI_DEPEND_MK}+
-
-ifeq (+,$(DEPEND_DEPTH))
-DEPEND_PKG+=		casadi
-endif
-
-ifeq (+,$(CASADI_DEPEND_MK)) # ------------------------------------------
-
-PREFER.casadi?=		robotpkg
-
-SYSTEM_SEARCH.casadi=\
-  'include/casadi/config.hpp:/CASADI_VERSION_STRING/s/[^0-9.]//gp'	\
-  'lib/libcasadi.so'
-
-DEPEND_USE+=		casadi
-
-DEPEND_ABI.casadi?=	casadi>=3.4.5
-DEPEND_DIR.casadi?=	../../wip/casadi
-
-endif # CASADI_DEPEND_MK ------------------------------------------------
-
-DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/casadi/DESCR b/py-casadi/DESCR
similarity index 100%
rename from casadi/DESCR
rename to py-casadi/DESCR
diff --git a/py-casadi/Makefile b/py-casadi/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..077c693e12a87c7077993976acc63778eec05e7f
--- /dev/null
+++ b/py-casadi/Makefile
@@ -0,0 +1,41 @@
+# robotpkg Makefile for:	wip/py-casadi
+# Created:			Guilhem Saurel on Wed, 7 Aug 2019
+#
+
+ORG=			casadi
+NAME=			casadi
+VERSION=		3.4.5
+
+DISTNAME=		${NAME}-${VERSION}
+PKGNAME=		${PKGTAG.python-}${DISTNAME}
+
+HOMEPAGE=		${MASTER_SITE_GITHUB:=${ORG}/${NAME}}
+MASTER_SITES=		${HOMEPAGE}/archive/${VERSION}/
+MASTER_REPOSITORY=	${MASTER_REPOSITORY_GITHUB}${ORG}/${NAME}
+CHECKOUT_VCS_OPTS+=	--recursive
+
+CATEGORIES=		wip
+COMMENT=		Build efficient optimal control software, with minimal effort.
+LICENSE=		gnu-lgpl-v3
+MAINTAINER=		gsaurel@laas.fr
+
+CMAKE_ARGS+=		-DPYTHON_PREFIX=${PREFIX}/${PYTHON_SITELIB}
+CMAKE_ARGS+=		-DWITH_IPOPT=ON
+CMAKE_ARGS+=		-DWITH_LAPACK=ON
+CMAKE_ARGS+=		-DWITH_OPENMP=ON
+CMAKE_ARGS+=		-DWITH_PYTHON=ON
+CMAKE_ARGS+=		-DWITH_PYTHON3=$(if $(filter 3,${PYTHON_MAJOR}),ON,OFF)
+CMAKE_ARGS+=		-DWITH_QPOASES=ON
+CMAKE_ARGS+=		-DWITH_THREAD=ON
+
+#include ../../wip/mk/sysdep/sundials.mk
+include ../../devel/swig/depend.mk
+include ../../math/lapack/depend.mk
+include ../../optimization/ipopt/depend.mk
+include ../../optimization/qpoases/depend.mk
+include ../../mk/sysdep/cmake.mk
+include ../../mk/sysdep/python.mk
+include ../../mk/sysdep/tinyxml2.mk
+include ../../mk/language/c.mk
+include ../../mk/language/c++.mk
+include ../../mk/robotpkg.mk
diff --git a/casadi/PLIST b/py-casadi/PLIST
similarity index 86%
rename from casadi/PLIST
rename to py-casadi/PLIST
index d958d84c0ed79d8a3e0573843e7c49deed53496e..7369e40f782a310686c3bb6bba2fb1400ba72001 100644
--- a/casadi/PLIST
+++ b/py-casadi/PLIST
@@ -1,5 +1,7 @@
-@comment Wed Aug 7 18:56:18 CEST 2019
+@comment Wed Aug 7 20:50:09 CEST 2019
 include/casadi/casadi.hpp
+include/casadi/casadi.i
+include/casadi/casadi_numpy.hpp
 include/casadi/config.h
 include/casadi/core/calculus.hpp
 include/casadi/core/callback.hpp
@@ -92,7 +94,11 @@ include/casadi/core/timing.hpp
 include/casadi/core/variable.hpp
 include/casadi/core/xml_file.hpp
 include/casadi/core/xml_node.hpp
+include/casadi/doc.i
+include/casadi/doc_merged.i
 include/casadi/mem.h
+include/casadi/valgrind-casadi.supp
+include/casadi/valgrind-python.supp
 lib/cmake/casadi/casadi-config-version.cmake
 lib/cmake/casadi/casadi-config.cmake
 lib/cmake/casadi/casadi-targets-release.cmake
@@ -101,6 +107,8 @@ lib/libcasadi.so
 lib/libcasadi.so.3.5
 lib/libcasadi_conic_nlpsol.so
 lib/libcasadi_conic_nlpsol.so.3.5
+lib/libcasadi_conic_qpoases.so
+lib/libcasadi_conic_qpoases.so.3.5
 lib/libcasadi_conic_qrqp.so
 lib/libcasadi_conic_qrqp.so.3.5
 lib/libcasadi_importer_shell.so
@@ -121,6 +129,10 @@ lib/libcasadi_linsol_csparse.so
 lib/libcasadi_linsol_csparse.so.3.5
 lib/libcasadi_linsol_csparsecholesky.so
 lib/libcasadi_linsol_csparsecholesky.so.3.5
+lib/libcasadi_linsol_lapacklu.so
+lib/libcasadi_linsol_lapacklu.so.3.5
+lib/libcasadi_linsol_lapackqr.so
+lib/libcasadi_linsol_lapackqr.so.3.5
 lib/libcasadi_linsol_ldl.so
 lib/libcasadi_linsol_ldl.so.3.5
 lib/libcasadi_linsol_lsqr.so
@@ -129,6 +141,8 @@ lib/libcasadi_linsol_qr.so
 lib/libcasadi_linsol_qr.so.3.5
 lib/libcasadi_linsol_symbolicqr.so
 lib/libcasadi_linsol_symbolicqr.so.3.5
+lib/libcasadi_nlpsol_ipopt.so
+lib/libcasadi_nlpsol_ipopt.so.3.5
 lib/libcasadi_nlpsol_scpgen.so
 lib/libcasadi_nlpsol_scpgen.so.3.5
 lib/libcasadi_nlpsol_sqpmethod.so
@@ -145,3 +159,13 @@ lib/libcasadi_sundials_common.so
 lib/libcasadi_sundials_common.so.3.5
 lib/libcasadi_xmlfile_tinyxml.so
 lib/libcasadi_xmlfile_tinyxml.so.3.5
+${PYTHON_SITELIB}/casadi/__init__.py
+${PYTHON_SITELIB}/casadi/_casadi.so
+${PYTHON_SITELIB}/casadi/casadi.py
+${PYTHON_SITELIB}/casadi/tools/__init__.py
+${PYTHON_SITELIB}/casadi/tools/bounds.py
+${PYTHON_SITELIB}/casadi/tools/graph/__init__.py
+${PYTHON_SITELIB}/casadi/tools/graph/graph.py
+${PYTHON_SITELIB}/casadi/tools/in_out.py
+${PYTHON_SITELIB}/casadi/tools/structure.py
+${PYTHON_SITELIB}/casadi/tools/structure3.py
diff --git a/py-casadi/depend.mk b/py-casadi/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..77bc5b420059d9d423d033d94f0515096c674dc5
--- /dev/null
+++ b/py-casadi/depend.mk
@@ -0,0 +1,29 @@
+# robotpkg depend.mk for:	wip/py-casadi
+# Created:			Guilhem Saurel on Tue, 17 Oct 2018
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+PY_CASADI_DEPEND_MK:=	${PY_CASADI_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		py-casadi
+endif
+
+ifeq (+,$(PY_CASADI_DEPEND_MK)) # ------------------------------------------
+
+PREFER.casadi?=		robotpkg
+
+SYSTEM_SEARCH.py-casadi=\
+  'include/casadi/config.hpp:/CASADI_VERSION_STRING/s/[^0-9.]//gp'	\
+  'lib/libcasadi.so'
+
+DEPEND_USE+=		py-casadi
+
+DEPEND_ABI.py-casadi?=	${PKGTAG.python-}casadi>=3.4.5
+DEPEND_DIR.py-casadi?=	../../wip/py-casadi
+
+include ../../mk/sysdep/python.mk
+
+endif # PY_CASADI_DEPEND_MK ------------------------------------------------
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/casadi/distinfo b/py-casadi/distinfo
similarity index 100%
rename from casadi/distinfo
rename to py-casadi/distinfo