diff --git a/dev-python/socketio-client/Manifest b/dev-python/socketio-client/Manifest
new file mode 100644
index 0000000..0729bf4
--- /dev/null
+++ b/dev-python/socketio-client/Manifest
@@ -0,0 +1 @@
+DIST socketio-client-0.7.2.tar.gz 23488 BLAKE2B 8c638dcc8ed30fb01a31e36f8175ef7e6b77b37dac0a66f1ef663a372458ccb34bac2ed58fce31a3856eb3d067ad8dc20f7d4a332b2af10ae12717bbb786349f SHA512 850839f804953c706458467c9e35c4c3637d3a61ff55042ef0b6f98e39a277faa97a0a3d7b1e18210e68ec32bb4ca793cd404631e0e2b533e61ad5d05cbc18fa
diff --git a/dev-python/socketio-client/metadata.xml b/dev-python/socketio-client/metadata.xml
new file mode 100644
index 0000000..3d1c3fb
--- /dev/null
+++ b/dev-python/socketio-client/metadata.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ socketIO-client
+ invisibleroads/socketIO-client
+
+
+ zmedico@gentoo.org
+
+
+ python@gentoo.org
+ Python
+
+
diff --git a/dev-python/socketio-client/socketio-client-0.7.2.ebuild b/dev-python/socketio-client/socketio-client-0.7.2.ebuild
new file mode 100644
index 0000000..e640738
--- /dev/null
+++ b/dev-python/socketio-client/socketio-client-0.7.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit distutils-r1
+
+MY_PN="socketIO-client"
+DESCRIPTION="A socket.io client library for Python"
+HOMEPAGE="https://github.com/invisibleroads/socketIO-client/ https://pypi.org/project/socketIO-client/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+python_test() {
+ # https://github.com/invisibleroads/socketIO-client/issues/90
+ # This runs the suite but has nill output to the screen
+ # The bug filed will hopefully yield a more conventional testsuite
+
+ # The import of SocketIO need be made with abs path to run the tests
+ sed -e 's:from .. import:from socketIO_client import:' \
+ -i ${REPO_PN}/tests/__init__.py || die
+
+ "${PYTHON}" ${REPO_PN}/tests/__init__.py || die "Tests failed under ${EPYTHON}"
+
+ # Return to original form for final install
+ sed -e 's:from socketIO_client import:from .. import:' \
+ -i ${REPO_PN}/tests/__init__.py || die
+}
diff --git a/net-analyzer/ripe-atlas-tools/Manifest b/net-analyzer/ripe-atlas-tools/Manifest
new file mode 100644
index 0000000..ddad8ec
--- /dev/null
+++ b/net-analyzer/ripe-atlas-tools/Manifest
@@ -0,0 +1 @@
+DIST ripe.atlas.tools-1.2.3.tar.gz 86364 BLAKE2B de2aa0a57e135d463d1edb7e3277d21052353009d1dbcc2ead03d659c9736e61f36e95d102b5c3792448a1ea304e340f97856647f3c565fec9fcbbf0c414596a SHA512 f9e3b94ac9561faf0f6738099a0511b5aedb3b0d3230997a8033b8a1a804b885169891de8f408933ad90e3d4543375741657d9989fef09548d9cc8f0d9920e66
diff --git a/net-analyzer/ripe-atlas-tools/metadata.xml b/net-analyzer/ripe-atlas-tools/metadata.xml
new file mode 100644
index 0000000..d68fdc3
--- /dev/null
+++ b/net-analyzer/ripe-atlas-tools/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+ ripe.atlas.tools
+
+
diff --git a/net-analyzer/ripe-atlas-tools/ripe-atlas-tools-1.2.3-r1.ebuild b/net-analyzer/ripe-atlas-tools/ripe-atlas-tools-1.2.3-r1.ebuild
new file mode 100644
index 0000000..997ea8e
--- /dev/null
+++ b/net-analyzer/ripe-atlas-tools/ripe-atlas-tools-1.2.3-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_6 )
+
+inherit distutils-r1
+
+MY_PN=${PN//-/.}
+DESCRIPTION="The official command-line client for RIPE Atlas"
+HOMEPAGE="https://atlas.ripe.net/"
+SRC_URI="mirror://pypi/${PN:0:1}/ripe.atlas.tools/ripe.atlas.tools-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+DOCS=( CHANGES.rst README.rst )
+
+RDEPEND="
+ >=net-libs/ripe-atlas-sagan-1.1.10[${PYTHON_USEDEP}]
+ >=www-client/ripe-atlas-cousteau-1.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/nose[${PYTHON_USEDEP}] )"
+
+python_test() {
+ nosetests --verbose || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ echo "RIPE Atlas Tools (Magellan) [Gentoo Linux] ${PVR}" > \
+ ${D}$(python_get_sitedir)/ripe/atlas/tools/user-agent
+}
diff --git a/net-libs/ripe-atlas-sagan/Manifest b/net-libs/ripe-atlas-sagan/Manifest
new file mode 100644
index 0000000..c51a43f
--- /dev/null
+++ b/net-libs/ripe-atlas-sagan/Manifest
@@ -0,0 +1 @@
+DIST ripe-atlas-sagan-1.3.0.tar.gz 117529 BLAKE2B 2076f8a7db16334b8eeefc020a6cee6d42c79428ac3c602cfd9a93cd7382d01d627b066ddf5b5d80cb715ebbfb890c28430ac068dedd24c76f1b39aed25c712a SHA512 4adb7377f9dc4afd7228e7e932cb97b2620921885a7a58b0264fe1fda7bacc3ce0e9ae47918191569af688b6ad7c969477c133f211ef61856558f14cbe693fc0
diff --git a/net-libs/ripe-atlas-sagan/metadata.xml b/net-libs/ripe-atlas-sagan/metadata.xml
new file mode 100644
index 0000000..9d97478
--- /dev/null
+++ b/net-libs/ripe-atlas-sagan/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+ ripe.atlas.sagan
+
+
diff --git a/net-libs/ripe-atlas-sagan/ripe-atlas-sagan-1.3.0.ebuild b/net-libs/ripe-atlas-sagan/ripe-atlas-sagan-1.3.0.ebuild
new file mode 100644
index 0000000..4cc4e27
--- /dev/null
+++ b/net-libs/ripe-atlas-sagan/ripe-atlas-sagan-1.3.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit distutils-r1
+
+DESCRIPTION="A parsing library for RIPE Atlas result strings"
+HOMEPAGE="https://atlas.ripe.net/"
+MY_GITHUB_AUTHOR="RIPE-NCC"
+SRC_URI="https://github.com/${MY_GITHUB_AUTHOR}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+DOCS=( CHANGES.rst README.rst )
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests nose
+distutils_enable_sphinx docs
diff --git a/www-client/ripe-atlas-cousteau/Manifest b/www-client/ripe-atlas-cousteau/Manifest
new file mode 100644
index 0000000..ac4bbe3
--- /dev/null
+++ b/www-client/ripe-atlas-cousteau/Manifest
@@ -0,0 +1 @@
+DIST ripe-atlas-cousteau-1.4.2.tar.gz 56895 BLAKE2B ce3fd4d0c0964e13d4b4a484cd61039ba1ff4a4512744f5d4a9a0daa5f04d2aeb89759f78d7d4286022410698f4501aa38b60e0151c84fd4ecef02e8ab8cc2dc SHA512 d5cb89b9c6381b000c809e7750490084e42020407345d27435d9c4ec3e4693954efc620d44cf63422ff8552e8d42524b39d3368144b39c9e045f2a5d16b4d273
diff --git a/www-client/ripe-atlas-cousteau/metadata.xml b/www-client/ripe-atlas-cousteau/metadata.xml
new file mode 100644
index 0000000..5920d5a
--- /dev/null
+++ b/www-client/ripe-atlas-cousteau/metadata.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+ ripe.atlas.cousteau
+
+
diff --git a/www-client/ripe-atlas-cousteau/ripe-atlas-cousteau-1.4.2.ebuild b/www-client/ripe-atlas-cousteau/ripe-atlas-cousteau-1.4.2.ebuild
new file mode 100644
index 0000000..3c53787
--- /dev/null
+++ b/www-client/ripe-atlas-cousteau/ripe-atlas-cousteau-1.4.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python wrapper around the RIPE Atlas API"
+HOMEPAGE="https://atlas.ripe.net/"
+MY_GITHUB_AUTHOR="RIPE-NCC"
+SRC_URI="https://github.com/${MY_GITHUB_AUTHOR}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( CHANGES.rst README.rst )
+
+RDEPEND="
+ =dev-python/requests-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/socketio-client-0.6.5[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/funcsigs[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+ ${RDEPEND}
+"
+
+distutils_enable_tests nose
+distutils_enable_sphinx docs