# -*- 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

name                py-opt_einsum
version             3.3.0
revision            0

license             MIT
maintainers         nomaintainer
platforms           {darwin any}
supported_archs     noarch

description         A tensor contraction order optimizer.

long_description    Optimized einsum can significantly reduce the \
                    overall execution time of einsum-like expressions \
                    (e.g., np.einsum, dask.array.einsum, pytorch.einsum, \
                    tensorflow.einsum) by optimizing the expression's \
                    contraction order and dispatching many operations \
                    to canonical BLAS, cuBLAS, or other specialized \
                    routines. Optimized einsum is agnostic to the backend \
                    and can handle NumPy, Dask, PyTorch, Tensorflow, CuPy, \
                    Sparse, Theano, JAX, and Autograd arrays as well as \
                    potentially any library which conforms to a standard API.

homepage            https://github.com/dgasmith/opt_einsum

checksums           rmd160  fc1df640e738bb17d28e2772cdf9a2e678fafba2 \
                    sha256  59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549 \
                    size    73951

python.versions     310 311

if {${name} ne ${subport}} {
    depends_lib-append \
                    port:py${python.version}-numpy

    test.run        yes

    post-destroot {
        set docdir ${prefix}/share/doc/${subport}
        xinstall -d ${destroot}${docdir}
        xinstall -m 0644 -W ${worksrcpath} LICENSE README.md \
            ${destroot}${docdir}
    }
}
