Earlier quoted context omitted.
Thanks! Agree, we wanted to provide a high-degree of customizability with a CSS-like API https://google.github.io/mesop/components/style/ so you can create delightful demos.
Ah that's excellent! I didn't notice that, it might be a good idea to highlight it a bit more. On the front page, "Build custom UIs without writing Javascript/CSS/HTML" made me think CSS wasn't an option
Show HN: Mesop – Open-source Python UI framework
41–50 of 56 posts
Re: Show HN: Mesop – Open-source Python UI framework
#42I've added mesop to https://pyviz.org/tools.html#dashboarding , where it is the 35th OSS Python dashboarding tool to appear. (There were 5 in 2019). It's a crowded space!
Re: Show HN: Mesop – Open-source Python UI framework
#43Earlier quoted context omitted.
Thanks for the question! Streamlit is definitely more mature and I think it's a great tool for many use cases. Where I think Mesop shines is that you get a lot of flexibility, just by writing your UI in Python. For example, Mesop has an out-of-the-box [chat component]( https://google.github.io/mesop/demo/ ), but if you need to customize it, you can actually just copy the [chat.py file]( https://github.com/google/meso…
fyi, HN doesn't support markdown
Oh, but it does, it's just plaintext with classic “[squared](circle)” convention: clickable inline (references) following [annotated clauses]. We can read the term, and click the ref.
Markdown's point is if plaintext is supported, so is Markdown.
Re: Show HN: Mesop – Open-source Python UI framework
#44Re: Show HN: Mesop – Open-source Python UI framework
#45One of the key requirements in a multi-agent chat app is to be able to display steps of sub-tasks nested under parent tasks (to any level of nesting), with the option to fold/collapse sub-steps to only view the parent steps. I was able to get this to work with chainlit, though it was not easy, since their sub-step rendering mental model seemed more aligned to a certain other LLM framework with a partial name overlap with theirs.
That said, I am very curious if Mesop could be a viable alternative, for this type of nested chat implementation, especially if the overall layout can be much more flexible (which it seems like), and more production-ready.
[1] Chainlit https://github.com/Chainlit/chainlit
[2] Langroid: https://github.com/langroid/langroid
[3] Langroid ChainlitAgentCallback class: https://github.com/langroid/langroid/blob/main/langroid/agen...
[4] Langroid chainlit demos https://github.com/langroid/langroid/tree/main/examples/chai...
Re: Show HN: Mesop – Open-source Python UI framework
#46I've had a quick look through the docs/demos. At the moment I use Flask/htmx/tailwind for my apps, but I like how succinct this framework is, but how themable is it?
You can customize the UI quite extensively using our Style API https://google.github.io/mesop/components/style/ If you like tailwind, I think you will like this as it's essentially like writing inline styles, but with a Pythonic, strongly-typed API.
Re: Show HN: Mesop – Open-source Python UI framework
#47Earlier quoted context omitted.
fyi, HN doesn't support markdown
> HN doesn't support markown Oh, but it does, it's just plaintext with classic “[squared](circle)” convention: clickable inline (references) following [annotated clauses]. We can read the term, and click the ref. Markdown's point is if plaintext is supported, so is Markdown.
Re: Show HN: Mesop – Open-source Python UI framework
#48If only we had something like this for native desktop applications.
Re: Show HN: Mesop – Open-source Python UI framework
#49Earlier quoted context omitted.
fyi, HN doesn't support markdown
> HN doesn't support markown Oh, but it does, it's just plaintext with classic “[squared](circle)” convention: clickable inline (references) following [annotated clauses]. We can read the term, and click the ref. Markdown's point is if plaintext is supported, so is Markdown.
Re: Show HN: Mesop – Open-source Python UI framework
#50Earlier quoted context omitted.
> HN doesn't support markown Oh, but it does, it's just plaintext with classic “[squared](circle)” convention: clickable inline (references) following [annotated clauses]. We can read the term, and click the ref. Markdown's point is if plaintext is supported, so is Markdown.
If it's not rendered, then it's not supported. This is very obvious in this case, where the square-brackets have no additional value, but make it just harder to read the text. The links are getting rendered independent of the brackets, so markdown-syntax has no function here.
Including the squared circle for inline links.
[^1]: As in functional requirements, is serving to convey the markup intent in a non rich text rendering.