summaryrefslogtreecommitdiffstats
path: root/external/meta-iot-cloud/recipes-devtools/python
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-iot-cloud/recipes-devtools/python')
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-argcomplete.inc16
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-cbor.inc17
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-cheroot.inc28
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-cherrypy.inc46
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-dicttoxml.inc12
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-dill.inc12
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-entrypoints.inc17
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-fire.inc15
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-httplib2.inc24
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-jaraco-functools.inc21
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-jeepney.inc21
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-jmespath.inc16
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-keyring.inc25
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-knack.inc31
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-memcached.inc26
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-paramiko.inc25
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-portend.inc22
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-pydocumentdb.inc24
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-repoze-lru.inc15
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-requests-toolbelt.inc18
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-routes.inc28
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-rsa.inc24
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-scandir.inc12
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-scp.inc14
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-secretstorage.inc19
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-setuptools-scm-git-archive.inc22
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-sshtunnel.inc22
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-tabulate.inc14
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-tempora.inc26
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-vsts-cd-manager.inc22
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-webob.inc15
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-webrtcvad.inc13
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-xmltodict.inc15
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python-zc-lockfile.inc18
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-argcomplete_1.9.4.bb14
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-cbor_1.0.0.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-cheroot_6.4.0.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-cherrypy_17.3.0.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-dicttoxml_1.7.4.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-dill_0.2.6.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-docutils_%.bbappend31
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-entrypoints_0.2.3.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-fire_0.2.1.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-httplib2_0.11.3.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-janus_0.4.0.bb18
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-jaraco-functools_1.20.bb6
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-jeepney_0.3.1.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-jmespath_0.9.3.bb12
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-keyring_13.1.0.bb6
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-knack_0.4.1.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-mapbox_0.18.0.bb23
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-memcached_1.59.bb6
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-paramiko_2.4.1.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-portend_2.3.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-pydocumentdb_2.3.2.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-pyjwt_%.bbappend5
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-repoze-lru_0.6.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-requests-toolbelt_0.8.0.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-requests-unixsocket_0.2.0.bb21
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-routes_2.4.1.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-rsa_3.4.2.bb22
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-scandir_1.5.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-scp_0.11.0.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-secretstorage_3.0.1.bb12
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-setuptools-scm-git-archive_1.0.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-sshtunnel_0.1.4.bb6
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-tabulate_0.8.2.bb6
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-tempora_1.13.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-transitions_0.8.1.bb23
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-vsts-cd-manager_1.0.2.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-webob_1.7.2.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-webrtcvad_2.0.10.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-xmltodict_0.11.0.bb2
-rw-r--r--external/meta-iot-cloud/recipes-devtools/python/python3-zc-lockfile_1.3.0.bb2
74 files changed, 956 insertions, 0 deletions
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-argcomplete.inc b/external/meta-iot-cloud/recipes-devtools/python/python-argcomplete.inc
new file mode 100644
index 00000000..a1a2d097
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-argcomplete.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Bash tab completion for argparse"
+AUTHOR = "Andrey Kislyuk"
+HOMEPAGE = "https://github.com/kislyuk/argcomplete"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-shell \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "9bb3b61a849f84723e63051240f74014"
+SRC_URI[sha256sum] = "06c8a54ffaa6bfc9006314498742ec8843601206a3b94212f82657673662ecf1" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-cbor.inc b/external/meta-iot-cloud/recipes-devtools/python/python-cbor.inc
new file mode 100644
index 00000000..f84cfaae
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-cbor.inc
@@ -0,0 +1,17 @@
+DESCRIPTION = "RFC 7049 - Concise Binary Object Representation"
+AUTHOR = "Brian Olson"
+HOMEPAGE = "https://bitbucket.org/bodhisnarkva/cbor"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=2;endline=14;md5=1298a5e04a7217757186fe28ea9d603c"
+
+PR = "r0"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+"
+
+SRC_URI[md5sum] = "22b03b59784fd78cb6c27aa498af0db6"
+SRC_URI[sha256sum] = "13225a262ddf5615cbd9fd55a76a0d53069d18b07d2e9f19c39e6acb8609bbb6"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-cheroot.inc b/external/meta-iot-cloud/recipes-devtools/python/python-cheroot.inc
new file mode 100644
index 00000000..ea37ab6c
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-cheroot.inc
@@ -0,0 +1,28 @@
+DESCRIPTION = "Highly-optimized, pure-python HTTP server"
+HOMEPAGE = "https://github.com/cherrypy/cheroot"
+AUTHOR = "CherryPy Team"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=beeffd9dfcc746ed5a91921f1acc2746"
+
+DEPENDS += "\
+ ${PYTHON_PN}-setuptools-scm-native \
+ ${PYTHON_PN}-setuptools-scm-git-archive-native \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-unixadmin \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-pyopenssl \
+ ${PYTHON_PN}-six \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "3606d3101486791f198b72389ac99f4a"
+SRC_URI[sha256sum] = "4fa28eef11bb7bb6a532fb0d51338ff631709e8527b7002d59edd4108f1e345a"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-cherrypy.inc b/external/meta-iot-cloud/recipes-devtools/python/python-cherrypy.inc
new file mode 100644
index 00000000..9a270055
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-cherrypy.inc
@@ -0,0 +1,46 @@
+DESCRIPTION = "Object-Oriented HTTP framework"
+HOMEPAGE = "https://www.cherrypy.org/"
+AUTHOR = "CherryPy Team"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=beeffd9dfcc746ed5a91921f1acc2746"
+
+PYPI_PACKAGE = "CherryPy"
+
+DEPENDS += "\
+ ${PYTHON_PN}-setuptools-scm-native \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-html \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-profile \
+ ${PYTHON_PN}-pydoc \
+ ${PYTHON_PN}-xml \
+ ${PYTHON_PN}-unixadmin \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-cheroot \
+ ${PYTHON_PN}-contextlib2 \
+ ${PYTHON_PN}-memcached \
+ ${PYTHON_PN}-portend \
+ ${PYTHON_PN}-pyopenssl \
+ ${PYTHON_PN}-routes \
+ ${PYTHON_PN}-simplejson \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-zc-lockfile \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "67a01707c3c432403b663201d031a288"
+SRC_URI[sha256sum] = "c3e4d76232ade4c47666b9008f92556465df517b8dca833ece3bed027028ae7d"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-dicttoxml.inc b/external/meta-iot-cloud/recipes-devtools/python/python-dicttoxml.inc
new file mode 100644
index 00000000..d1365771
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-dicttoxml.inc
@@ -0,0 +1,12 @@
+SUMMARY = "Converts a Python dictionary or other native data type into a valid XML string."
+AUTHOR = "Ryan McGreal"
+HOMEPAGE = "https://github.com/quandyfactory/dicttoxml"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=8c6f370c9073badc24ad75afa6822bcb"
+
+PR = "r0"
+
+SRC_URI = "git://github.com/quandyfactory/dicttoxml.git"
+SRCREV = "2016fe9817ad03b26aa5f1a475f5b79ad6757b96"
+
+S = "${WORKDIR}/git"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-dill.inc b/external/meta-iot-cloud/recipes-devtools/python/python-dill.inc
new file mode 100644
index 00000000..1664cd20
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-dill.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "Serialize all of python"
+HOMEPAGE = "http://www.cacr.caltech.edu/~mmckerns/dill.htm"
+AUTHOR = "Mike McKerns"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ca6e0344ddc8af7ac5897ed5f5cc0cc2"
+
+PR = "r0"
+
+SRC_URI = "git://github.com/uqfoundation/dill.git"
+SRCREV = "afaeb815ecae56e9de6fe19f376deecdc272e32f"
+
+S = "${WORKDIR}/git" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-entrypoints.inc b/external/meta-iot-cloud/recipes-devtools/python/python-entrypoints.inc
new file mode 100644
index 00000000..7060a396
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-entrypoints.inc
@@ -0,0 +1,17 @@
+DESCRIPTION = "Discover and load entry points from installed packages."
+AUTHOR = "Thomas Kluyver"
+HOMEPAGE = "https://github.com/takluyver/entrypoints"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b6f7f5bd22a5dc0397c806c4e5f8cbd3"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "0d3ad1b0130d91e3596ef3a59f25a56c"
+SRC_URI[sha256sum] = "d2d587dde06f99545fb13a383d2cd336a8ff1f359c5839ce3a64c917d10c029f"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-shell \
+" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-fire.inc b/external/meta-iot-cloud/recipes-devtools/python/python-fire.inc
new file mode 100644
index 00000000..e7441752
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-fire.inc
@@ -0,0 +1,15 @@
+SUMMARY = "A library for automatically generating command line interfaces"
+AUTHOR = "David Bieber <dbieber@google.com>"
+HOMEPAGE = "https://github.com/google/python-fire"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ab892b2b62f951d424bdb712a72584cc"
+
+SRC_URI[md5sum] = "9f3a91c285b50351d039b6f0bb91aac3"
+SRC_URI[sha256sum] = "6865fefc6981a713d2ce56a2a2c92c56c729269f74a6cddd6f4b94d16ae084c9"
+
+inherit pypi
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-termcolor \
+"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-httplib2.inc b/external/meta-iot-cloud/recipes-devtools/python/python-httplib2.inc
new file mode 100644
index 00000000..d4c80b3c
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-httplib2.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "A comprehensive HTTP client library."
+AUTHOR = "Joe Gregorio"
+HOMEPAGE = "https://github.com/httplib2/httplib2"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${BPN}-${PV}-license;md5=56e5e931172b6164b62dc7c4aba6c8cf"
+
+PR = "r0"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-email \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-netclient \
+"
+
+SRC_URI += "${HOMEPAGE}/raw/v${PV}/LICENSE;downloadfilename=${BPN}-${PV}-license;name=license"
+SRC_URI[license.md5sum] = "56e5e931172b6164b62dc7c4aba6c8cf"
+SRC_URI[license.sha256sum] = "589eec38f72df2be203711d3b8cbece9b908c5e7ff00bc3cab7f63bae9e366b4"
+
+SRC_URI[md5sum] = "9aa3e074da9a235cd675dd65e1fbcf39"
+SRC_URI[sha256sum] = "e71daed9a0e6373642db61166fa70beecc9bf04383477f84671348c02a04cbdf"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-jaraco-functools.inc b/external/meta-iot-cloud/recipes-devtools/python/python-jaraco-functools.inc
new file mode 100644
index 00000000..96e0bef8
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-jaraco-functools.inc
@@ -0,0 +1,21 @@
+SUMMARY = "Additional functools in the spirit of stdlib’s functools."
+AUTHOR = "Jason R. Coombs"
+HOMEPAGE = "https://github.com/jaraco/jaraco.functools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+PYPI_PACKAGE = "jaraco.functools"
+
+DEPENDS += "\
+ ${PYTHON_PN}-setuptools-scm-native \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-more-itertools \
+ ${PYTHON_PN}-six \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "7e82490c7705e6ed69934d35d5ac1d19"
+SRC_URI[sha256sum] = "bad775f06e58bb8de5563bc2a8bf704168919e6779d6e849b1ca58b443e97f3b"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-jeepney.inc b/external/meta-iot-cloud/recipes-devtools/python/python-jeepney.inc
new file mode 100644
index 00000000..12dbf256
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-jeepney.inc
@@ -0,0 +1,21 @@
+DESCRIPTION = "Low-level, pure Python DBus protocol wrapper."
+AUTHOR = "Thomas Kluyver"
+HOMEPAGE = "https://gitlab.com/takluyver/jeepney"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aad69c93f605003e3342b174d9b0708c"
+
+PR = "r0"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-typing \
+ ${PYTHON_PN}-xml \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-tornado \
+"
+
+SRC_URI[md5sum] = "d888c2f46d2b117eb683c04bc998572c"
+SRC_URI[sha256sum] = "a6f2aa72e61660248d4d524dfccb6405f17c693b69af5d60dd7f2bab807d907e" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-jmespath.inc b/external/meta-iot-cloud/recipes-devtools/python/python-jmespath.inc
new file mode 100644
index 00000000..db1d8f83
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-jmespath.inc
@@ -0,0 +1,16 @@
+SUMMARY = "JSON Matching Expressions"
+AUTHOR = "James Saryerwinnie"
+HOMEPAGE = "https://github.com/jmespath/jmespath.py"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2683790f5fabb41a3f75b70558799eb4"
+
+PR = "r0"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-pprint \
+"
+
+SRC_URI[md5sum] = "37a906c06de62bed25ec5cf99cee04a6"
+SRC_URI[sha256sum] = "6a81d4c9aa62caf061cb517b4d9ad1dd300374cd4706997aff9cd6aedd61fc64" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-keyring.inc b/external/meta-iot-cloud/recipes-devtools/python/python-keyring.inc
new file mode 100644
index 00000000..88791a1b
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-keyring.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "Store and access your passwords safely."
+AUTHOR = "Kang Zhang"
+HOMEPAGE = "https://github.com/jaraco/keyring"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "f004a044737676031cd80e20deeb08ae"
+SRC_URI[sha256sum] = "971699318f8a882da4193f0c2f87ae974e34c777fdfb59f89b50105cd678f4d9"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-unixadmin \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-dbus \
+ ${PYTHON_PN}-entrypoints \
+ ${PYTHON_PN}-secretstorage \
+"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-knack.inc b/external/meta-iot-cloud/recipes-devtools/python/python-knack.inc
new file mode 100644
index 00000000..1ac9e8a0
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-knack.inc
@@ -0,0 +1,31 @@
+DESCRIPTION = "A Python command line interface framework"
+HOMEPAGE = "https://github.com/microsoft/knack"
+AUTHOR = "Microsoft Corporation"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${BPN}-${PV}-license;md5=261d8686a7cf1ce9570cdc99746659f8"
+
+PR = "r0"
+
+SRC_URI += "https://github.com/Microsoft/knack/raw/${PV}/LICENSE;downloadfilename=${BPN}-${PV}-license;name=license"
+SRC_URI[md5sum] = "a5096a7df315ae563f7a0eb9fe81498f"
+SRC_URI[sha256sum] = "ba45fd69c2faf91fd3d6e95cec1c0ef7e0f4362e33c59bf5a260216ffcb859a0"
+SRC_URI[license.md5sum] = "261d8686a7cf1ce9570cdc99746659f8"
+SRC_URI[license.sha256sum] = "a096a435e19bb6b631da46992c011a39be563e97ce7366879ad516c772904632"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-distutils \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-unixadmin \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-argcomplete \
+ ${PYTHON_PN}-colorama \
+ ${PYTHON_PN}-jmespath \
+ ${PYTHON_PN}-pygments \
+ ${PYTHON_PN}-pyyaml \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-tabulate \
+"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-memcached.inc b/external/meta-iot-cloud/recipes-devtools/python/python-memcached.inc
new file mode 100644
index 00000000..b06837c2
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-memcached.inc
@@ -0,0 +1,26 @@
+DESCRIPTION = "Pure python memcached client"
+HOMEPAGE = "https://github.com/linsomniac/python-memcached"
+AUTHOR = "Sean Reifschneider"
+SECTION = "devel/python"
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${BPN}-${PV}-license;md5=7dd786e8594f1e787da94a946557b40e"
+
+PYPI_PACKAGE = "python-memcached"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-doctest \
+ ${PYTHON_PN}-io \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-six \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "fe5a7c66da01b0c4f5223a4db8cb8659"
+SRC_URI[sha256sum] = "a2e28637be13ee0bf1a8b6843e7490f9456fd3f2a4cb60471733c7b5d5557e4f"
+
+SRC_URI += "https://github.com/linsomniac/${PYPI_PACKAGE}/raw/${PV}/PSF.LICENSE;name=license;downloadfilename=${BPN}-${PV}-license"
+SRC_URI[license.md5sum] = "7dd786e8594f1e787da94a946557b40e"
+SRC_URI[license.sha256sum] = "b3e6e40afa4c7b8a1bf71fe56051326c1a287f16c543a0b94d0acbe5899d8ab1"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-paramiko.inc b/external/meta-iot-cloud/recipes-devtools/python/python-paramiko.inc
new file mode 100644
index 00000000..f248b7b8
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-paramiko.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "SSH2 protocol library"
+HOMEPAGE = "https://github.com/paramiko/paramiko/"
+AUTHOR = "Jeff Forcier"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-unixadmin \
+"
+
+# No support for GSS-API / SSPI and Ed25519 keys
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-cryptography \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "f9fa1204f706767b6c179effa7c0fb9e"
+SRC_URI[sha256sum] = "33e36775a6c71790ba7692a73f948b329cf9295a72b0102144b031114bd2a4f3" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-portend.inc b/external/meta-iot-cloud/recipes-devtools/python/python-portend.inc
new file mode 100644
index 00000000..d4554ff2
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-portend.inc
@@ -0,0 +1,22 @@
+SUMMARY = "TCP port monitoring utilities"
+HOMEPAGE = "https://github.com/jaraco/portend"
+AUTHOR = "Jason R. Coombs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+DEPENDS += "\
+ ${PYTHON_PN}-setuptools-scm-native \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-io \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-tempora \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "c1f36f2126da940ca5192dd1488b4f28"
+SRC_URI[sha256sum] = "b7ce7d35ea262415297cbfea86226513e77b9ee5f631d3baa11992d663963719"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-pydocumentdb.inc b/external/meta-iot-cloud/recipes-devtools/python/python-pydocumentdb.inc
new file mode 100644
index 00000000..b6b91656
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-pydocumentdb.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "Azure DocumentDB Python SDK"
+AUTHOR = "Microsoft"
+HOMEPAGE = "https://github.com/Azure/azure-documentdb-python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=17f4c916859f94d1524ed9f5804c6727"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-requests \
+ ${PYTHON_PN}-six \
+"
+
+SRC_URI[md5sum] = "5fb3c9d55443501546b834478d19a7f1"
+SRC_URI[sha256sum] = "6704e16b7eb69b5fa8da7636d1926d9952aa43acf2fabdb1ed0a128987139eee" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-repoze-lru.inc b/external/meta-iot-cloud/recipes-devtools/python/python-repoze-lru.inc
new file mode 100644
index 00000000..e9409dc1
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-repoze-lru.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "A tiny LRU cache implementation and decorator"
+HOMEPAGE = "http://www.repoze.org"
+AUTHOR = "Agendaless Consulting"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2c33cdbc6bc9ae6e5d64152fdb754292"
+
+PR = "r0"
+
+SRC_URI = "git://github.com/repoze/repoze.lru.git"
+SRCREV = "29c8281dee7fe8dae8c66c7c40ce7c058ec2ab0f"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-requests-toolbelt.inc b/external/meta-iot-cloud/recipes-devtools/python/python-requests-toolbelt.inc
new file mode 100644
index 00000000..be4c41e5
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-requests-toolbelt.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "A utility belt for advanced users of python-requests."
+HOMEPAGE = "https://toolbelt.readthedocs.org"
+AUTHOR = "Ian Cordasco, Cory Benfield"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=71760e0f1dda8cff91b0bc9246caf571"
+
+SRC_URI = "git://github.com/sigmavirus24/requests-toolbelt.git"
+SRCREV = "94870f3f8e4e3507218a07f9d730c38abc42c219"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-requests \
+"
+
+PR = "r0"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-routes.inc b/external/meta-iot-cloud/recipes-devtools/python/python-routes.inc
new file mode 100644
index 00000000..834960ea
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-routes.inc
@@ -0,0 +1,28 @@
+DESCRIPTION = "Routing Recognition and Generation Tools"
+HOMEPAGE = "http://python-requests.org"
+AUTHOR = "Ben Bangert"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=90976c1a0e3029278f882cfe2e84a6ae"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-repoze-lru \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-webob \
+"
+
+RPROVIDES_${PN} += "routes"
+RREPLACES_${PN} += "routes"
+RCONFLICTS_${PN} += "routes"
+
+PR = "r2"
+
+SRC_URI = "git://github.com/bbangert/routes.git"
+SRCREV = "0900d346e5569018644dcee850d679de3c915efb"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-rsa.inc b/external/meta-iot-cloud/recipes-devtools/python/python-rsa.inc
new file mode 100644
index 00000000..916b88e7
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-rsa.inc
@@ -0,0 +1,24 @@
+SUMMARY = "Pure-Python RSA implementation"
+AUTHOR = "Sybren A. Stuvel"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c403f6882d4f97a9cd927df987d55634"
+
+PR = "r1"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-compression \
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-doctest \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-multiprocessing \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-pickle \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-pyasn1 \
+"
+
+SRC_URI[md5sum] = "b315f47882c24030ee6b5aad628cccdb"
+SRC_URI[sha256sum] = "25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-scandir.inc b/external/meta-iot-cloud/recipes-devtools/python/python-scandir.inc
new file mode 100644
index 00000000..ebc6049e
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-scandir.inc
@@ -0,0 +1,12 @@
+SUMMARY = "A better directory iterator and faster os.walk()"
+HOMEPAGE = "https://github.com/benhoyt/scandir"
+AUTHOR = "Ben Hoyt"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=482ee62da51806409d432a80eed4e3ea"
+
+PR = "r0"
+
+SRC_URI = "git://github.com/benhoyt/scandir.git"
+SRCREV = "edbae30f83f370f9d2f1e43d02e3793081e1cd25"
+
+S = "${WORKDIR}/git"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-scp.inc b/external/meta-iot-cloud/recipes-devtools/python/python-scp.inc
new file mode 100644
index 00000000..bc16c730
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-scp.inc
@@ -0,0 +1,14 @@
+SUMMARY = "SCP module for Paramiko"
+HOMEPAGE = "https://github.com/jbardin/scp.py"
+AUTHOR = "James Bardin"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fc264c65fb17b7db5237cf7ce1780769"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-io \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "9874e188a4d6aa5c849f7a09feecbdb9"
+SRC_URI[sha256sum] = "ea095dd1d0e131874bc9930c3965bce3d1d70be5adb2a30d811fcaea4708a9ee" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-secretstorage.inc b/external/meta-iot-cloud/recipes-devtools/python/python-secretstorage.inc
new file mode 100644
index 00000000..877765b9
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-secretstorage.inc
@@ -0,0 +1,19 @@
+DESCRIPTION = "Python bindings to FreeDesktop.org Secret Service API"
+AUTHOR = "Dmitry Shachnev"
+HOMEPAGE = "https://github.com/mitya57/secretstorage"
+
+PR = "r0"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-crypt \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-netclient \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-cryptography \
+"
+
+PYPI_PACKAGE = "SecretStorage"
+
+inherit pypi \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-setuptools-scm-git-archive.inc b/external/meta-iot-cloud/recipes-devtools/python/python-setuptools-scm-git-archive.inc
new file mode 100644
index 00000000..187451d2
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-setuptools-scm-git-archive.inc
@@ -0,0 +1,22 @@
+SUMMARY = "setuptools_scm plugin for git archives"
+HOMEPAGE = "https://github.com/Changaco/setuptools_scm_git_archive/"
+AUTHOR = "Changaco"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
+
+PYPI_PACKAGE = "setuptools_scm_git_archive"
+
+DEPENDS += "\
+ ${PYTHON_PN}-setuptools-scm-native \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-setuptools-scm \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "cb4ca99e97edea548117fe0d80cbd089"
+SRC_URI[sha256sum] = "52425f905518247c685fc64c5fdba6e1e74443c8562e141c8de56059be0e31da"
+
+BBCLASSEXTEND = "native"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-sshtunnel.inc b/external/meta-iot-cloud/recipes-devtools/python/python-sshtunnel.inc
new file mode 100644
index 00000000..1eabce24
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-sshtunnel.inc
@@ -0,0 +1,22 @@
+DESCRIPTION = "Pure python SSH tunnels"
+HOMEPAGE = "https://github.com/pahaz/sshtunnel"
+AUTHOR = "Pahaz Blinov"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=099ee2b925d98c72f52684df6fa3ac9f"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-netserver \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-unixadmin \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-paramiko \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "fb16cf0aec60451369ce23a0491c8b9b"
+SRC_URI[sha256sum] = "f29ae41a1bd3afa64e9a31029bece2966e4be9a9641e8262372741e691c40d76" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-tabulate.inc b/external/meta-iot-cloud/recipes-devtools/python/python-tabulate.inc
new file mode 100644
index 00000000..65066f3f
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-tabulate.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "Pretty-print tabular data in Python, a library and a command-line utility"
+AUTHOR = "Sergey Astanin"
+HOMEPAGE = "https://bitbucket.org/astanin/python-tabulate"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d66f6ca88dd4fcb1818a28e3c63c1d2e"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-wcwidth \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "9bbaa53754356d837343740fdc70c074"
+SRC_URI[sha256sum] = "e4ca13f26d0a6be2a2915428dc21e732f1e44dad7f76d7030b2ef1ec251cf7f2" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-tempora.inc b/external/meta-iot-cloud/recipes-devtools/python/python-tempora.inc
new file mode 100644
index 00000000..6113d846
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-tempora.inc
@@ -0,0 +1,26 @@
+SUMMARY = "Objects and routines pertaining to date and time"
+AUTHOR = "Jason R. Coombs"
+HOMEPAGE = "https://github.com/jaraco/tempora"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+DEPENDS += "\
+ ${PYTHON_PN}-setuptools-scm-native \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-numbers \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-jaraco-functools \
+ ${PYTHON_PN}-pytz \
+ ${PYTHON_PN}-six \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "ab9bb719151aba1aee8a52128d1444d1"
+SRC_URI[sha256sum] = "4848df474c9d7ad9515fbeaadc88e48843176b4b90393652156ccff613bcaeb1"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-vsts-cd-manager.inc b/external/meta-iot-cloud/recipes-devtools/python/python-vsts-cd-manager.inc
new file mode 100644
index 00000000..44dd5939
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-vsts-cd-manager.inc
@@ -0,0 +1,22 @@
+DESCRIPTION = "Python wrapper around some of the VSTS APIs"
+AUTHOR = "Microsoft Corporation"
+HOMEPAGE = "https://github.com/Microsoft/vsts-cd-manager"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${BPN}-${PV}-license;md5=27e94c0280987ab296b0b8dd02ab9fe5"
+
+PR = "r0"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-netclient \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-msrest \
+"
+
+SRC_URI += "https://github.com/Microsoft/vsts-cd-manager/raw/2649d236be94d119b13e0ac607964c94a9e51fde/LICENSE;downloadfilename=${BPN}-${PV}-license;name=license"
+SRC_URI[license.md5sum] = "27e94c0280987ab296b0b8dd02ab9fe5"
+SRC_URI[license.sha256sum] = "dea9265341829002e2c23a7372393eb2ed6e26085fb623f38a4ba0af833f30a6"
+
+SRC_URI[md5sum] = "22919a67395dda301810b35263b82ac5"
+SRC_URI[sha256sum] = "0bb09059cd553e1c206e92ef324cb0dcf92334846d646c44c684f6256b86447b"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-webob.inc b/external/meta-iot-cloud/recipes-devtools/python/python-webob.inc
new file mode 100644
index 00000000..c99d84e6
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-webob.inc
@@ -0,0 +1,15 @@
+DESCRIPTION = "WSGI request and response object"
+HOMEPAGE = "http://webob.org/"
+AUTHOR = "Pylons Project"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://docs/license.txt;md5=8ed3584bcc78c16da363747ccabc5af5"
+
+PR = "r0"
+
+SRC_URI = "git://github.com/Pylons/webob.git;branch=1.7-branch"
+SRCREV = "c4cee625e5b0b0f410e22ca60f701eff98f288d0"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-webrtcvad.inc b/external/meta-iot-cloud/recipes-devtools/python/python-webrtcvad.inc
new file mode 100644
index 00000000..dd6103e3
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-webrtcvad.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Python interface to the Google WebRTC Voice Activity Detector (VAD)"
+HOMEPAGE = "https://github.com/wiseman/py-webrtcvad"
+AUTHOR = "John Wiseman"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=425b45e5a79ac786f2f8e977a3beaad4"
+
+PR = "r0"
+
+SRC_URI = "git://github.com/wiseman/py-webrtcvad.git"
+SRCREV = "bb429dac1a686807c69b916f03dd843fa10b0927"
+
+S = "${WORKDIR}/git"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-xmltodict.inc b/external/meta-iot-cloud/recipes-devtools/python/python-xmltodict.inc
new file mode 100644
index 00000000..a14690ae
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-xmltodict.inc
@@ -0,0 +1,15 @@
+SUMMARY = "Makes working with XML feel like you are working with JSON"
+AUTHOR = "Martin Blech"
+HOMEPAGE = "https://github.com/martinblech/xmltodict"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01441d50dc74476db58a41ac10cb9fa2"
+
+PR = "r0"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-xml \
+"
+
+SRC_URI[md5sum] = "9f955947db085485873ac68154e88069"
+SRC_URI[sha256sum] = "8f8d7d40aa28d83f4109a7e8aa86e67a4df202d9538be40c0cb1d70da527b0df"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python-zc-lockfile.inc b/external/meta-iot-cloud/recipes-devtools/python/python-zc-lockfile.inc
new file mode 100644
index 00000000..77a4c93d
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python-zc-lockfile.inc
@@ -0,0 +1,18 @@
+SUMMARY = "Basic inter-process locks"
+AUTHOR = "Zope Foundation"
+HOMEPAGE = "http://www.python.org/pypi/zc.lockfile"
+LICENSE = "ZPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=78ccb3640dc841e1baecb3e27a6966b2"
+
+PYPI_PACKAGE = "zc.lockfile"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+"
+
+PR = "r0"
+
+SRC_URI[md5sum] = "6624ae27089c3c52894ade444d3655b1"
+SRC_URI[sha256sum] = "96cb13769e042988ea25d23d44cf09342ea0f887083d0f9736968f3617665853"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-argcomplete_1.9.4.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-argcomplete_1.9.4.bb
new file mode 100644
index 00000000..0acfa380
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-argcomplete_1.9.4.bb
@@ -0,0 +1,14 @@
+inherit pypi setuptools3 update-alternatives
+require python-argcomplete.inc
+
+ALTERNATIVE_${PN} = "\
+ activate-global-python-argcomplete \
+ python-argcomplete-check-easy-install-script \
+ register-python-argcomplete \
+"
+
+ALTERNATIVE_LINK_NAME[activate-global-python-argcomplete] = "${bindir}/activate-global-python-argcomplete"
+ALTERNATIVE_LINK_NAME[python-argcomplete-check-easy-install-script] = "${bindir}/python-argcomplete-check-easy-install-script"
+ALTERNATIVE_LINK_NAME[register-python-argcomplete] = "${bindir}/register-python-argcomplete"
+
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-cbor_1.0.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-cbor_1.0.0.bb
new file mode 100644
index 00000000..32f7220c
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-cbor_1.0.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-cbor.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-cheroot_6.4.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-cheroot_6.4.0.bb
new file mode 100644
index 00000000..36dd5358
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-cheroot_6.4.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-cheroot.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-cherrypy_17.3.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-cherrypy_17.3.0.bb
new file mode 100644
index 00000000..e925d1f4
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-cherrypy_17.3.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-cherrypy.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-dicttoxml_1.7.4.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-dicttoxml_1.7.4.bb
new file mode 100644
index 00000000..3e08a4cd
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-dicttoxml_1.7.4.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-dicttoxml.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-dill_0.2.6.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-dill_0.2.6.bb
new file mode 100644
index 00000000..4ca5fa4c
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-dill_0.2.6.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-dill.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-docutils_%.bbappend b/external/meta-iot-cloud/recipes-devtools/python/python3-docutils_%.bbappend
new file mode 100644
index 00000000..72bd2f45
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-docutils_%.bbappend
@@ -0,0 +1,31 @@
+inherit update-alternatives
+
+ALTERNATIVE_${PN} = "\
+ rst2html \
+ rst2html4 \
+ rst2html5 \
+ rst2latex \
+ rst2man \
+ rst2odt \
+ rst2odt_prepstyles \
+ rst2pseudoxml \
+ rst2s5 \
+ rst2xetex \
+ rst2xml \
+ rstpep2html \
+"
+
+ALTERNATIVE_LINK_NAME[rst2html] = "${bindir}/rst2html.py"
+ALTERNATIVE_LINK_NAME[rst2html4] = "${bindir}/rst2html4.py"
+ALTERNATIVE_LINK_NAME[rst2html5] = "${bindir}/rst2html5.py"
+ALTERNATIVE_LINK_NAME[rst2latex] = "${bindir}/rst2latex.py"
+ALTERNATIVE_LINK_NAME[rst2man] = "${bindir}/rst2man.py"
+ALTERNATIVE_LINK_NAME[rst2odt] = "${bindir}/rst2odt.py"
+ALTERNATIVE_LINK_NAME[rst2odt_prepstyles] = "${bindir}/rst2odt_prepstyles.py"
+ALTERNATIVE_LINK_NAME[rst2pseudoxml] = "${bindir}/rst2pseudoxml.py"
+ALTERNATIVE_LINK_NAME[rst2s5] = "${bindir}/rst2s5.py"
+ALTERNATIVE_LINK_NAME[rst2xetex] = "${bindir}/rst2xetex.py"
+ALTERNATIVE_LINK_NAME[rst2xml] = "${bindir}/rst2xml.py"
+ALTERNATIVE_LINK_NAME[rstpep2html] = "${bindir}/rstpep2html.py"
+
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-entrypoints_0.2.3.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-entrypoints_0.2.3.bb
new file mode 100644
index 00000000..8541f484
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-entrypoints_0.2.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-entrypoints.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-fire_0.2.1.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-fire_0.2.1.bb
new file mode 100644
index 00000000..5c61781f
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-fire_0.2.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-fire.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-httplib2_0.11.3.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-httplib2_0.11.3.bb
new file mode 100644
index 00000000..949e87dd
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-httplib2_0.11.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-httplib2.inc \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-janus_0.4.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-janus_0.4.0.bb
new file mode 100644
index 00000000..f8fa41fb
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-janus_0.4.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Mixed sync-async queue to interoperate between asyncio tasks and classic threads"
+AUTHOR = "Andrew Svetlov"
+HOMEPAGE = "https://github.com/aio-libs/janus/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=23878c357ebb4c8ce1109be365043349"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-typing \
+"
+
+PR = "r0"
+
+SRC_URI[sha256sum] = "cfc221683160b91b35bae1917e2957b78dad10a2e634f4f8ed119ed72e2a88ef"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-jaraco-functools_1.20.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-jaraco-functools_1.20.bb
new file mode 100644
index 00000000..bcc69e90
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-jaraco-functools_1.20.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3
+require python-jaraco-functools.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-lang \
+"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-jeepney_0.3.1.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-jeepney_0.3.1.bb
new file mode 100644
index 00000000..aa650355
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-jeepney_0.3.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-jeepney.inc \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-jmespath_0.9.3.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-jmespath_0.9.3.bb
new file mode 100644
index 00000000..6f68011d
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-jmespath_0.9.3.bb
@@ -0,0 +1,12 @@
+inherit pypi setuptools3 update-alternatives
+require python-jmespath.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-stringold \
+"
+
+ALTERNATIVE_${PN} = "jmespath"
+ALTERNATIVE_LINK_NAME[jmespath] = "${bindir}/jp.py"
+ALTERNATIVE_PRIORITY = "30"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-keyring_13.1.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-keyring_13.1.0.bb
new file mode 100644
index 00000000..db8ed6e6
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-keyring_13.1.0.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3 update-alternatives
+require python-keyring.inc
+
+ALTERNATIVE_${PN} = "keyring"
+ALTERNATIVE_LINK_NAME[keyring] = "${bindir}/keyring"
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-knack_0.4.1.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-knack_0.4.1.bb
new file mode 100644
index 00000000..b34fdba0
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-knack_0.4.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-knack.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-mapbox_0.18.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-mapbox_0.18.0.bb
new file mode 100644
index 00000000..652710f1
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-mapbox_0.18.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "A Python client for Mapbox services"
+HOMEPAGE = "https://pypi.org/project/mapbox/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI[md5sum] = "7e5a55af6054f9d0681313855814512c"
+SRC_URI[sha256sum] = "3e9a098524a6b855f39fd5e773fb21526ef9660291f12b147e98fd44c7573e0b"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ python3-boto3 \
+ python3-cachecontrol \
+ python3-dateutil \
+ python3-iso3166 \
+ python3-polyline \
+ python3-requests \
+ python3-uritemplate \
+"
+
+RDEPENDS_${PN} += "python3-core python3-json python3-netclient python3-numbers"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-memcached_1.59.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-memcached_1.59.bb
new file mode 100644
index 00000000..6e704003
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-memcached_1.59.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3
+require python-memcached.inc
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-compression \
+"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-paramiko_2.4.1.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-paramiko_2.4.1.bb
new file mode 100644
index 00000000..0ffcc115
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-paramiko_2.4.1.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-paramiko.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-portend_2.3.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-portend_2.3.bb
new file mode 100644
index 00000000..478b411c
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-portend_2.3.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-portend.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-pydocumentdb_2.3.2.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-pydocumentdb_2.3.2.bb
new file mode 100644
index 00000000..5a02b72c
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-pydocumentdb_2.3.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pydocumentdb.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-pyjwt_%.bbappend b/external/meta-iot-cloud/recipes-devtools/python/python3-pyjwt_%.bbappend
new file mode 100644
index 00000000..f904e343
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-pyjwt_%.bbappend
@@ -0,0 +1,5 @@
+inherit update-alternatives
+
+ALTERNATIVE_${PN} = "pyjwt"
+ALTERNATIVE_LINK_NAME[pyjwt] = "${bindir}/pyjwt"
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-repoze-lru_0.6.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-repoze-lru_0.6.bb
new file mode 100644
index 00000000..c152fd00
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-repoze-lru_0.6.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-repoze-lru.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-requests-toolbelt_0.8.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-requests-toolbelt_0.8.0.bb
new file mode 100644
index 00000000..0a673a7b
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-requests-toolbelt_0.8.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-requests-toolbelt.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-requests-unixsocket_0.2.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-requests-unixsocket_0.2.0.bb
new file mode 100644
index 00000000..587d6d21
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-requests-unixsocket_0.2.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Use requests to talk HTTP via a UNIX domain socket"
+HOMEPAGE = "https://github.com/msabramo/requests-unixsocket"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+inherit pypi setuptools3
+
+DEPENDS += "\
+ python3-pbr-native \
+"
+
+RDEPENDS_${PN} += "\
+ python3-requests \
+ python3-urllib3 \
+"
+
+RDEPENDS_${PN} += " \
+ python3-io \
+"
+
+SRC_URI[sha256sum] = "9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-routes_2.4.1.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-routes_2.4.1.bb
new file mode 100644
index 00000000..06dd1ad7
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-routes_2.4.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-routes.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-rsa_3.4.2.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-rsa_3.4.2.bb
new file mode 100644
index 00000000..05d0e74f
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-rsa_3.4.2.bb
@@ -0,0 +1,22 @@
+inherit pypi setuptools3 update-alternatives
+require python-rsa.inc
+
+ALTERNATIVE_${PN} = "\
+ pyrsa-decrypt \
+ pyrsa-decrypt-bigfile \
+ pyrsa-encrypt \
+ pyrsa-encrypt-bigfile \
+ pyrsa-keygen \
+ pyrsa-priv2pub \
+ pyrsa-sign \
+ pyrsa-verify \
+"
+ALTERNATIVE_LINK_NAME[pyrsa-decrypt] = "${bindir}/pyrsa-decrypt"
+ALTERNATIVE_LINK_NAME[pyrsa-decrypt-bigfile] = "${bindir}/pyrsa-decrypt-bigfile"
+ALTERNATIVE_LINK_NAME[pyrsa-encrypt] = "${bindir}/pyrsa-encrypt"
+ALTERNATIVE_LINK_NAME[pyrsa-encrypt-bigfile] = "${bindir}/pyrsa-encrypt-bigfile"
+ALTERNATIVE_LINK_NAME[pyrsa-keygen] = "${bindir}/pyrsa-keygen"
+ALTERNATIVE_LINK_NAME[pyrsa-priv2pub] = "${bindir}/pyrsa-priv2pub"
+ALTERNATIVE_LINK_NAME[pyrsa-sign] = "${bindir}/pyrsa-sign"
+ALTERNATIVE_LINK_NAME[pyrsa-verify] = "${bindir}/pyrsa-verify"
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-scandir_1.5.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-scandir_1.5.bb
new file mode 100644
index 00000000..2f4fb20b
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-scandir_1.5.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-scandir.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-scp_0.11.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-scp_0.11.0.bb
new file mode 100644
index 00000000..fe77e463
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-scp_0.11.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-scp.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-secretstorage_3.0.1.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-secretstorage_3.0.1.bb
new file mode 100644
index 00000000..300e04cc
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-secretstorage_3.0.1.bb
@@ -0,0 +1,12 @@
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c49a7ec562572351456ea021b15dc882"
+
+inherit setuptools3
+require python-secretstorage.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-jeepney \
+"
+
+SRC_URI[md5sum] = "a30efe5f34e3f6c522ff2b3826f567ba"
+SRC_URI[sha256sum] = "819087ca89c0d6c5711692f41fb26f786af9dcc5bb89d567722a66edfbb2a689" \ No newline at end of file
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-setuptools-scm-git-archive_1.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-setuptools-scm-git-archive_1.0.bb
new file mode 100644
index 00000000..4efd9529
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-setuptools-scm-git-archive_1.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-setuptools-scm-git-archive.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-sshtunnel_0.1.4.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-sshtunnel_0.1.4.bb
new file mode 100644
index 00000000..a5fa51f0
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-sshtunnel_0.1.4.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3 update-alternatives
+require python-sshtunnel.inc
+
+ALTERNATIVE_${PN} = "sshtunnel"
+ALTERNATIVE_LINK_NAME[sshtunnel] = "${bindir}/sshtunnel"
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-tabulate_0.8.2.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-tabulate_0.8.2.bb
new file mode 100644
index 00000000..87755892
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-tabulate_0.8.2.bb
@@ -0,0 +1,6 @@
+inherit pypi setuptools3 update-alternatives
+require python-tabulate.inc
+
+ALTERNATIVE_${PN} = "tabulate"
+ALTERNATIVE_LINK_NAME[tabulate] = "${bindir}/tabulate"
+ALTERNATIVE_PRIORITY = "30"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-tempora_1.13.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-tempora_1.13.bb
new file mode 100644
index 00000000..ce42a589
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-tempora_1.13.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-tempora.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-transitions_0.8.1.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-transitions_0.8.1.bb
new file mode 100644
index 00000000..107e98c6
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-transitions_0.8.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "A lightweight, object-oriented Python state machine implementation with many extensions."
+AUTHOR = "Tal Yarkoni"
+HOMEPAGE = "http://github.com/pytransitions/transitions"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8734a2c2e13bbf9c2fd1b6cb64af8219"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-six \
+"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-typing \
+"
+
+PR = "r0"
+
+SRC_URI[sha256sum] = "2b8cf2078ed189ffbb0f29421798d7a63ff0d7823682a0d69c01bd8240363cac"
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-vsts-cd-manager_1.0.2.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-vsts-cd-manager_1.0.2.bb
new file mode 100644
index 00000000..91b6c614
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-vsts-cd-manager_1.0.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-vsts-cd-manager.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-webob_1.7.2.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-webob_1.7.2.bb
new file mode 100644
index 00000000..18e087c2
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-webob_1.7.2.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-webob.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-webrtcvad_2.0.10.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-webrtcvad_2.0.10.bb
new file mode 100644
index 00000000..717ed6bd
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-webrtcvad_2.0.10.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-webrtcvad.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-xmltodict_0.11.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-xmltodict_0.11.0.bb
new file mode 100644
index 00000000..a593d010
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-xmltodict_0.11.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-xmltodict.inc
diff --git a/external/meta-iot-cloud/recipes-devtools/python/python3-zc-lockfile_1.3.0.bb b/external/meta-iot-cloud/recipes-devtools/python/python3-zc-lockfile_1.3.0.bb
new file mode 100644
index 00000000..2b73b60d
--- /dev/null
+++ b/external/meta-iot-cloud/recipes-devtools/python/python3-zc-lockfile_1.3.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-zc-lockfile.inc