# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           python 1.0
PortGroup           github 1.0

github.setup        computationalmodelling nbval 0.11.0
revision            0
name                py-${github.project}
categories-append   science
license             BSD
supported_archs     noarch
platforms           {darwin any}
github.tarball_from archive

maintainers         nomaintainer

description         A py.test plugin to validate Jupyter notebooks

long_description    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.

checksums           rmd160  21af339fc68eb0f7c036c50ff21be7caf9bd0fbe \
                    sha256  4ec0620c643ead87643b28c04cc04b1bf649e248dd1baf70dc365d3723baddd1 \
                    size    63742

python.versions     310 311 312 313 314

if {${name} ne ${subport}} {
    depends_run-append \
        port:py${python.version}-coverage \
        port:py${python.version}-ipykernel \
        port:py${python.version}-jupyter_client \
        port:py${python.version}-nbformat \
        port:py${python.version}-pytest

    depends_test-append \
        port:py${python.version}-matplotlib \
        port:py${python.version}-sympy

    post-patch {
        reinplace "s|\"py.test\"|\"py.test-${python.branch}\"|g" \
            ${worksrcpath}/tests/test_unit_tests_in_notebooks.py
    }

    test.run        yes
}
