Skip to content

App configuration as inline metadata (i.e., TOML comment block)? #7

@manzt

Description

@manzt

First of all, I want to say that I really love the MEPs. These are excellent reads and really give me a sense of the foundations and considerations that have gone into marimo. Kudos!

I saw in MEP 4 that the idea for putting the app config as TOML was ultimately decided against because it:

"requires committing and shipping the TOML file for settings to be reproducible. This was a dealbreaker."

I'm guessing that this decision was before PEP 723, and now there is some precedent for putting tool-specific metadata in the comment block as well. For example, with uv you can add exclude-newer metadata.

# /// script
# requires-python = ">=3.13"
# dependencies = [
#     "numpy",
# ]
#
# [tool.uv]
# exclude-newer = "2024-12-05T22:06:45.27544-05:00"
# ///

def main() -> None:
    print("Hello from foo.py!")


if __name__ == "__main__":
    main()

I'm not saying this should be where marimo app configuration lives, but moreover just pointing out that the original con/dealbreaker wrt to more static app configuration may no longer hold. Thought I'd open an issue for discussion. A [tool.marimo] block could be interesting!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions