🧑💻 Developers, save the date — Dev Day is back!
Join thousands of fellow builders at this free, full-day event to:
- Get hands on with AI + latest tools
- Hear from industry leaders (OpenAI, CrewAI, Cursor + more)
- See live open source & product demos
- Network
Register here: snowflake.com/en/dev-day/in-…
🚀 Join the upcoming Streamlit virtual meetup!
Explore AI agents in app development with @thedataprof and @lukasmasuch. Learn about agent skills, best practices, and codebase enhancements. Plus a Live Q&A!
📆: April 28th, 9–10am PT
🙌 Register: luma.com/00puw7h1
Streamlit 1.55
🍿 Introducing dynamic containers:
st.tabs, st.popover, and st.expander can rerun the app on open/close by setting the on_change parameter + programmatically open/close when given a key.
🔗 Announcing widget binding:
Most non-trigger widgets now have a bind parameter to simplify syncing widget state with URL query parameters.
And more: docs.streamlit.io/develop/qu…
🎈 Streamlit 1.54 is here!
Highlights:
🎨 Use custom theme colors in simple chart elements
🥷 Widgets now use key-based identity to prevent unwanted resets
😃 st.logo now supports Material icons and emojis
🔗 New client.showErrorLinks to configure display of error help links
Explore the full release: docs.streamlit.io/develop/qu…
Have you checked out Release 1.53? 🎈
Highlights:
❄️ Session-scoped caller's rights connections in SiS
⭐ Run Streamlit with Starlette (experimental support)
🔑 Expose OIDC ID and access tokens in st.user.tokens
🌐 Use st.App, a new experimental ASGI-compatible entry point
Explore more: docs.streamlit.io/develop/qu…
🥳 YOU MADE IT to Day 30 of #30DaysOfAI!
Final challenge: Structured Output with Pydantic. Instead of getting plain text responses that need manual parsing, you'll use PydanticOutputParser to get type-safe, validated objects with guaranteed fields.
Congrats to everyone who crossed the finish line! 👏
📆 Day 30: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🤩 Day 29 of #30DaysOfAI is here!
Today’s challenge: Rebuild your LinkedIn Post Generator using @LangChain. Instead of writing raw API calls with f-strings you'll use PromptTemplate and LangChain Expression Language (LCEL) to create composable chains.
📆 Day 29: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 Day 27 of #30DaysOfAI
Today’s challenge: Build a chat interface for your multi-tool agent! The app demonstrates how to interact with a pre-created agent that can autonomously orchestrate between Cortex Search and Cortex Analyst, showing its thinking process and tool selection in real-time.
📆 Day 27: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
✨ Day 26 of #30DaysOfAI...let's go!
Today’s challenge: Build your first Cortex Agent. You’ll combine Cortex Search and Cortex Analyst to create an autonomous assistant that plans, selects tools, and executes tasks to answer questions across your data.
📆 Day 26: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🚀 It's Day 25 of #30DaysOfAI!
Today’s challenge: Build a complete voice-enabled AI assistant. Users can record messages, which are transcribed using @Snowflake's AI_TRANSCRIBE, and the assistant will respond with context-aware answers using conversation history.
📆 Day 25: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
✨ Days 23 & 24 of #30DaysOfAI!
Day 23 challenge: Use TruLens and @Snowflake's AI Observability to evaluate your RAG app & measure exactly how accurate it is!
Day 24 challenge: Build a multimodal image analyzer with vision-capable models.
📆 Day 23: 30daysofai.streamlit.app/?da…📆 Day 24: 30daysofai.streamlit.app/?da…
🚀 Day 22 of #30DaysOfAI is here!
Today’s challenge: Build a complete conversational RAG chatbot to chat with your documents. The app will maintain full conversation history, allowing for contextual dialogue and follow-up questions!
📆 Day 22: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 It's Day 21 of #30DaysOfAI!
Today’s challenge: Build a complete RAG pipeline using @Snowflake Cortex Search. You'll retrieve relevant documents as context for LLM-generated answers. The app will display a visual guide showing the three-step RAG process, then an interface for input questions.
📆 Day 21: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 Ready for Day 20 of #30DaysOfAI??
Today’s challenge: Query your @Snowflake Cortex Search service to find relevant customer reviews. You’ll use the Python SDK to perform semantic searches, retrieve docs based on meaning, and display the results in a clean interface.
📆 Day 20: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🚀 Day 19 of #30DaysOfAI
Today’s challenge: Build a semantic search service for customer reviews with @Snowflake Cortex Search! This understands meaning (not just keywords), automatically indexes your data, and stays in sync with your tables while inheriting security and governance.
📆 Day 19: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 It's Day 18 of #30DaysOfAI!
Today’s challenge: Generate embeddings for your review chunks to enable semantic search in your RAG system. You’ll convert text into 768-dimensional vectors using @Snowflake Cortex’s embed_text_768 function and save them to a table with the VECTOR data type.
📆 Day 18: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🚀 Day 17 of #30DaysOfAI
Today’s challenge: Load customer reviews from Day 16 and process them into searchable chunks for RAG! You'll keep short reviews intact as single chunks and split longer text into smaller overlapping chunks.
📆 Day 17: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🚀 We're on to Day 16 of #30DaysofAI!
Today’s challenge: Build the first step of a RAG pipeline. You'll create a batch file uploader that accepts multiple files at once, then extract the raw text content and store it in a database table.
📆 Day 16: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🤩 Congratulations to @SiddhantSadangi on the launch of "Building Data Apps with Streamlit"!
As a Streamlit Creator and recognized community leader, Siddhant brings a level of expertise that makes this a super valuable resource. 🎈
📕 Grab a copy for a complete, hands-on roadmap to creating professional, production-ready apps: orangeava.com/products/build…
🧑💻 Day 15 of #30DaysOfAI!
Today’s challenge: Build a side-by-side Model Comparison Arena. You'll run the same prompt through two different models and compare their results, latency, and token counts.
📆 Day 15: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 Day 13 of #30DaysOfAI is here!
Today’s challenge: Add customizable personalities to your streaming chatbot using system prompts. You'll give your bot different personas—like a pirate, teacher, or comedian—and watch how the AI adapts.
📆 Day 13: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 Day 12 of #30DaysOfAI
Today’s challenge: Add streaming responses to your chatbot to create a more dynamic and responsive experience. Instead of waiting for a full reply, the AI's response will appear word-by-word in real-time!
💬 Day 12: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 It's Day 11 of #30DaysOfAI!
Today’s challenge: Enhance your chatbot with better history management. You'll add a welcome message, display conversation stats in the sidebar, and build a way to clear the chat history for a more polished experience.
📆 Day 11: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 Check out Day 9 of #30DaysOfAI!
Today’s challenge: You'll learn why standard variables reset in Streamlit and how to use Session State to preserve data. Build a counter that actually remembers its value every time you click a button!
📆 Day 9: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 Welcome to Week 2 of #30DaysOfAI and Day 8!
Today’s challenge: Move beyond linear apps and start building your chatbot. You'll use Streamlit’s chat elements to render a visual conversation and create the skeleton for your chatbot app.
📆 Day 8: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 It's Day 4 of #30DaysOfAI!
Today’s challenge: Use caching to optimize your app's performance. You'll call a powerful model like Claude 3.5 Sonnet running securely inside @Snowflake, display the AI’s response, plus how long the request took.
📆 Day 4: 30daysofai.streamlit.app/?da…
⭐️ Learn more: github.com/streamlit/30DaysO…
🧑💻 Check out Day 3 of #30DaysOfAI!
Today’s challenge: Go beyond static text by using the snowflake.cortex.Complete Python API and st.write_stream to stream AI responses word-by-word into your app.
💻 Day 3: 30daysofai.streamlit.app/?da…
⭐️Learn more: github.com/streamlit/30DaysO…
Streamlit 1.52 is packed with requested features! 🤩
📅 Set date + time in a single st.datetime_input widget
🎙️ st.chat_input can optionally accept audio
📩 On-demand download generation for st.download_button (avoid blocking your script!)
And more: docs.streamlit.io/develop/qu…
st.balloons for ALL emojis! 🤩
Pick your fave emoji (or multiple!) to customize and animate across your app using Creator @jncel_ 's streamlit-emoji-float component.
Demo: emoji-float-demo.streamlit.a…
RAG is great for docs—what about CSVs? 🤔
Don't miss Streamlit Creator @TRJ_0751's session at @Snowflake BUILD next week! Learn how to build an AI agent to translate queries, analyze files, and visualize insights.
RSVP for BUILD: snowflake.com/en/build/?utm_…
🚀 The dev conference for AI and apps is back!
Join @Snowflake BUILD—a free, virtual event Nov 4-7 packed with announcements, technical sessions, & hands-on labs (including Streamlit!). Plus, earn a badge in the AI or Data Engineering bootcamps. 🏅
RSVP: snowflake.com/en/build/?utm_…
See what's new in Streamlit 1.50! 👇
🤹 MultiselectColumn: Editable, colorful lists right in your dataframes!
🎨 Color palettes: Configure exact shades for Markdown, status elements, sparklines and more.
📊 st.bar_chart sorting: Easily sort your bars for instant clarity.
Learn more: docs.streamlit.io/develop/qu…