dev-python/nbval: new package.
authorMarius Brehler <marbre@linux.sungazer.de>
Mon, 20 Nov 2017 10:24:36 +0000 (11:24 +0100)
committerPatrice Clement <monsieurp@gentoo.org>
Thu, 30 Nov 2017 14:46:17 +0000 (15:46 +0100)
nbval is a py.test plugin to validate Jupyter notebook.

The plugin adds functionality to py.test to recognise and collect Jupyter
notebooks.  The intended purpose of the tests is to determine whether execution
of the stored inputs match the stored outputs of the .ipynb file. Whilst also
ensuring that the notebooks are running without errors.

The tests were designed to ensure that Jupyter notebooks (especially those for
reference and documentation), are executing consistently.

Each cell is taken as a test, a cell that doesn't reproduce the expected output
will fail.

Closes: https://bugs.gentoo.org/638208
Closes: https://github.com/gentoo/gentoo/pull/6247
Package-Manager: Portage-2.3.13, Repoman-2.3.3

dev-python/nbval/Manifest [new file with mode: 0644]
dev-python/nbval/metadata.xml [new file with mode: 0644]
dev-python/nbval/nbval-0.7.ebuild [new file with mode: 0644]

diff --git a/dev-python/nbval/Manifest b/dev-python/nbval/Manifest
new file mode 100644 (file)
index 0000000..820ef0c
--- /dev/null
@@ -0,0 +1 @@
+DIST nbval-0.7.tar.gz 51805 SHA256 1f009c45ce38abda6b3c1b755cf080f7cd25526721fe3f0060fce89f2a9fb861 SHA512 f146910d7fbd6a1f18b3d9ae006a1b252cc2e038f8a316463530b564e007b4b4e0b2daefbed7ae9ec7e14280f6f004b437c9570fd4d1e959c53165dcdf3cac5e WHIRLPOOL f3b74fd8668315946510b263eba99ec252d3c512fcfb9d60cdecc1b9c32a72445b4243073f3d0eeabbcecd5be8f12d21e639beccb7fe6fd9b383b12890d2d5fd
diff --git a/dev-python/nbval/metadata.xml b/dev-python/nbval/metadata.xml
new file mode 100644 (file)
index 0000000..1912144
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>marbre@linux.sungazer.de</email>
+               <name>Marius Brehler</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>sci@gentoo.org</email>
+               <name>Gentoo Science Project</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Gentoo Proxy Maintainers Project</name>
+       </maintainer>
+       <longdescription>
+               The plugin adds functionality to py.test to recognise and collect Jupyter notebooks.
+               The intended purpose of the tests is to determine whether execution of the stored
+               inputs match the stored outputs of the .ipynb file. Whilst also ensuring that the
+               notebooks are running without errors.
+
+               The tests were designed to ensure that Jupyter notebooks (especially those for reference
+               and documentation), are executing consistently.
+
+               Each cell is taken as a test, a cell that doesn't reproduce the expected output will fail.
+       </longdescription>
+       <upstream>
+               <remote-id type="pypi">nbval</remote-id>
+               <remote-id type="github">computationalmodelling/nbval</remote-id>
+       </upstream>
+</pkgmetadata>
diff --git a/dev-python/nbval/nbval-0.7.ebuild b/dev-python/nbval/nbval-0.7.ebuild
new file mode 100644 (file)
index 0000000..fbb65c0
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit distutils-r1
+
+DESCRIPTION="A py.test plugin to validate Jupyter notebooks"
+HOMEPAGE="https://github.com/computationalmodelling/nbval"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+       >=dev-python/pytest-2.8[${PYTHON_USEDEP}]
+       dev-python/six[${PYTHON_USEDEP}]
+       dev-python/jupyter_client[${PYTHON_USEDEP}]
+       dev-python/nbformat[${PYTHON_USEDEP}]
+       dev-python/ipykernel[${PYTHON_USEDEP}]
+       "
+DEPEND="${RDEPEND}
+       test? (
+               dev-python/sympy[${PYTHON_USEDEP}]
+               dev-python/matplotlib[${PYTHON_USEDEP}]
+               dev-python/pytest-cov[${PYTHON_USEDEP}]
+       )
+       "
+
+python_test() {
+       emake test
+}