# -*- 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.13
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  599ff57ccbbad719fe4901994a0409908abfaa86 \
                    sha256  12dffd800b3f6beae15e0ee3983cc3e8a3fb03c8a87cb0d58973e560008ba3aa \
                    size    38641267

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
}
