diff --git a/common/recipes-devtools/python/CherryPy.inc b/common/recipes-devtools/python/CherryPy.inc
new file mode 100644
index 0000000..c69ccad
--- /dev/null
+++ b/common/recipes-devtools/python/CherryPy.inc
@@ -0,0 +1,49 @@
+SUMMARY = "Object-Oriented HTTP framework"
+DESCRIPTION = "CherryPy is a pythonic, object-oriented HTTP framework"
+HOMEPAGE = "http://www.cherrypy.org/"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://cherrypy/LICENSE.txt;md5=a476d86a3f85c89411ecaad012eed1e3"
+
+inherit allarch
+inherit setuptools
+
+PROVIDES+="${PN}-tests ${PN}-tutorials ${PN}-server ${PN}-scaffold ${PN}-daemon ${PN}-docs"
+PACKAGES+="${PN}-tests ${PN}-tutorials ${PN}-server ${PN}-scaffold ${PN}-daemon ${PN}-docs"
+
+base_package_dir = "${libdir}/python2.7/site-packages"
+package_dir = "${base_package_dir}/cherrypy"
+share_dir = "${datadir}/cherrypy"
+
+SUMMARY_${PN}-server="${BPN} server"
+RDEPENDS_${PN}-server="${PN}"
+FILES_${PN}-server="${package_dir}/wsgiserver ${share_dir}/wsgiserver "
+
+SUMMARY_${PN}-scaffold="${BPN} scaffold"
+RDEPENDS_${PN}-scaffold="${PN}"
+FILES_${PN}-scaffold="${package_dir}/scaffold ${share_dir}/scaffold "
+
+SUMMARY_${PN}-tests="${BPN} tests"
+RDEPENDS_${PN}-tests="${PN}"
+FILES_${PN}-tests="${package_dir}/test ${share_dir}/test "
+
+SUMMARY_${PN}-tutorials ="${BPN} tutorials"
+RDEPENDS_${PN}-tutorials ="${PN}"
+FILES_${PN}-tutorials ="${package_dir}/tutorial ${share_dir}/tutorial "
+
+SUMMARY_${PN}-daemon ="${BPN} daemon"
+RDEPENDS_${PN}-daemon ="${PN}"
+FILES_${PN}-daemon ="${bindir} ${share_dir}/cherryd "
+
+SUMMARY_${PN}-docs ="${BPN} docs"
+RDEPENDS_${PN}-docs ="${PN}"
+FILES_${PN}-docs ="${share_dir}/favicon.ico ${share_dir}/LICENSE.txt "
+
+FILES_${PN} = " \
+        ${package_dir}/*.py* \
+        ${package_dir}/lib \
+        ${package_dir}/process \
+        ${share_dir}/process \
+        ${base_package_dir}/*.egg-info \
+	"
+BBCLASSEXTEND = "nativesdk"
diff --git a/common/recipes-devtools/python/CherryPy_3.8.0.bb b/common/recipes-devtools/python/CherryPy_3.8.0.bb
new file mode 100644
index 0000000..22a56fc
--- /dev/null
+++ b/common/recipes-devtools/python/CherryPy_3.8.0.bb
@@ -0,0 +1,4 @@
+require CherryPy.inc
+SRC_URI = "https://pypi.python.org/packages/source/C/${BPN}/${BP}.tar.gz;name=tarball"
+SRC_URI[tarball.sha256sum] = "ffcdb43667d4098247efaf8c82dd36d3dd4f8e5dc768ef5e90b480899e523bea"
+SRC_URI[tarball.md5sum] = "542b96b2cd825e8120e8cd822bc18f4b"
diff --git a/common/recipes-devtools/python/bottle.inc b/common/recipes-devtools/python/bottle.inc
new file mode 100644
index 0000000..bfd5a48
--- /dev/null
+++ b/common/recipes-devtools/python/bottle.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Fast and simple WSGI-framework for small web-applications."
+DESCRIPTION = "Bottle is a fast and simple micro-framework for small web \
+applications. It offers request dispatching (Routes) with url parameter \
+support, templates, a built-in HTTP Server and adapters for many third \
+party WSGI/HTTP-server and template engines - all in a single file and \
+with no dependencies other than the Python Standard Library."
+HOMEPAGE = "http://bottlepy.org/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=94b9b2cc7e46ccea87e00af8970826b5"
+
+inherit allarch
+inherit setuptools
+
+# bottle doesn't send email...it uses a utility in here to parse rfc1123 and rfc850 timestamps.
+RDEPENDS_${PN} += "python-email"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/common/recipes-devtools/python/bottle/LICENSE b/common/recipes-devtools/python/bottle/LICENSE
new file mode 100644
index 0000000..5f3e8de
--- /dev/null
+++ b/common/recipes-devtools/python/bottle/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2014, Marcel Hellkamp.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/common/recipes-devtools/python/bottle/json-format.patch b/common/recipes-devtools/python/bottle/json-format.patch
new file mode 100644
index 0000000..9e754a9
--- /dev/null
+++ b/common/recipes-devtools/python/bottle/json-format.patch
@@ -0,0 +1,31 @@
+Index: bottle-0.12.9/bottle.py
+===================================================================
+--- bottle-0.12.9.orig/bottle.py
++++ bottle-0.12.9/bottle.py
+@@ -1721,8 +1721,10 @@ class JSONPlugin(object):
+     name = 'json'
+     api  = 2
+ 
+-    def __init__(self, json_dumps=json_dumps):
++    def __init__(self, json_dumps=json_dumps, **kw):
+         self.json_dumps = json_dumps
++        self.json_kw = { x:y for x,y in kw.iteritems() \
++                     if x in ['indent','sort_keys'] }
+ 
+     def apply(self, callback, route):
+         dumps = self.json_dumps
+@@ -1735,12 +1737,12 @@ class JSONPlugin(object):
+ 
+             if isinstance(rv, dict):
+                 #Attempt to serialize, raises exception on failure
+-                json_response = dumps(rv)
++                json_response = dumps(rv, **self.json_kw)
+                 #Set content type only if serialization succesful
+                 response.content_type = 'application/json'
+                 return json_response
+             elif isinstance(rv, HTTPResponse) and isinstance(rv.body, dict):
+-                rv.body = dumps(rv.body)
++                rv.body = dumps(rv.body, **self.json_kw)
+                 rv.content_type = 'application/json'
+             return rv
+ 
diff --git a/common/recipes-devtools/python/bottle_0.12.9.bb b/common/recipes-devtools/python/bottle_0.12.9.bb
new file mode 100644
index 0000000..72925e7
--- /dev/null
+++ b/common/recipes-devtools/python/bottle_0.12.9.bb
@@ -0,0 +1,4 @@
+require bottle.inc
+SRC_URI = "https://pypi.python.org/packages/source/b/${BPN}/${BP}.tar.gz;name=tarball file://LICENSE file://json-format.patch"
+SRC_URI[tarball.sha256sum] = "fe0a24b59385596d02df7ae7845fe7d7135eea73799d03348aeb9f3771500051"
+SRC_URI[tarball.md5sum] = "f5850258a86224a791171e8ecbb66d99"
