# -*- 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-marimo
version             0.23.8
revision            0

categories-append   devel science
platforms           {darwin any}
supported_archs     noarch
license             Apache-2
maintainers         {reneeotten @reneeotten} openmaintainer

description         A library for making reactive notebooks and apps
long_description    {*}${description}

homepage            https://marimo.io

checksums           rmd160  8e224b7aa63068216c1d28d9199fe86fecd88ab5 \
                    sha256  8049df4ad263e7126e959d7d910b014e6181dffe49f540a89c3174e61a446a99 \
                    size    38505767

python.versions     313 314
python.pep517_backend uv

if {${name} ne ${subport}} {
    # required packages
    depends_run-append \
                    port:py${python.version}-click \
                    port:py${python.version}-docutils \
                    port:py${python.version}-itsdangerous \
                    port:py${python.version}-jedi \
                    port:py${python.version}-loro \
                    port:py${python.version}-markdown \
                    port:py${python.version}-msgspec \
                    port:py${python.version}-python-multipart \
                    port:py${python.version}-narwhals \
                    port:py${python.version}-packaging \
                    port:py${python.version}-psutil \
                    port:py${python.version}-pygments \
                    port:py${python.version}-pymdown-extensions \
                    port:py${python.version}-yaml \
                    port:py${python.version}-starlette \
                    port:py${python.version}-tomlkit \
                    port:py${python.version}-uvicorn \
                    port:py${python.version}-websockets

    # optional, recommended packages
    depends_run-append \
                    port:py${python.version}-altair \
                    port:ruff \
                    port:py${python.version}-nbformat \
                    port:py${python.version}-openai \
                    port:py${python.version}-pydantic-ai-slim \
                    port:py${python.version}-tiktoken

    # optional, lsp
    depends_run-append \
                    port:py${python.version}-python-lsp-server \
                    port:py${python.version}-python-lsp-ruff

    # optional, mcp
    depends_run-append \
                    port:py${python.version}-mcp \
                    port:py${python.version}-pydantic
}
