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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions