I am excited beyond description to lift the veil on what we have been working on in 2026:
Please meet ggsql! A new extension of the SQL language for creating visualisations using the grammar of graphics. Read all about it in the blog post or visit the website at ggsql.org
Posts by Carson Sievert (he/him)
Shiny for Python 1.6 is out! Two big additions: toolbar components for compact, modern UIs (thank you, @enelson5.bsky.social!) and built-in OpenTelemetry support for production observability. Zero Shiny changes required w/ usual OTel config.
`pip install -U shiny`
π: shiny.posit.co/blog/posts/s...
Quarto v1.9 is out! We'll have an announcement blog post soon, but quarto.org/docs/download/ has the main highlights, including:
- PDF accessibility in latex and typst
- llms.txt support
- third-party engine extensions
Give it a whirl, and thanks!
Our list of 2026 #rstats and #python summer internships has been posted.
We can't wait to work with you and make great things!
tidyverse.org/blog/2026/03...
Shiny for R v1.12 is here with built-in OpenTelemetry support! π
Trace sessions and reactive calculations in production with zero code changes. Just install {otel}/{otelsdk} and set your env vars.
Learn more: shiny.posit.co/blog/posts/s...
#RStats #RShiny #OpenTelemetry
I am super hyped to finally share the first release of plumber2 with all of you. This has been the center of my attention for a big part of 2025 and I hope you'll find it a worthy update to the venerable plumber package.
The blog post will tell you more
#rstats
On the blog: building an AI-powered location explorer with Shiny and Claude
Intrigued by apps youβve seen that bridge GIS and LLMs? You can build them yourselves in #rstats!
Read the post: walker-data.com/posts/ai-loc...
A white stylized serpent or "S" curve with a circular head and dot for an eye, is centered on a dark blue circle. Behind the circle is a dark blue background with lighter blue vertical lines of varying heights, resembling an audio waveform.
Announcing Orbital for Python! For Scikit-learn users, this tool transforms your ML pipelines into SQL queries, letting predictions run directly in your database without a #Python environment.
Learn more: posit.co/blog/introdu...
At Posit, we love @typst.app:
β‘ Make PDFs in milliseconds, not minutes
β¨ The power of LaTeX with today's technologies
βοΈ Modern typography (including emojis!)
π§ Clear mental model
So I'm thrilled to announce that we're now supporting its development: posit.co/blog/posit-a...
#rstats
Risky post!
(This is great, fun to read and the frustrated tone throughout really does capture how it feels sometimes to be an experienced programmer trying to argue that "LLMs are actually really useful" in many corners of the internet)
This feature is currently only available in python but is coming to R soon
A fun and cartoonish portrayal of bookmarking a web page
Screenshot of new Generative AI articles within the Shiny documentation
Shiny v1.4 is now on PyPI! π
Highlights include bookmarking and new Generative AI documentation. ππ€
Read here for more. π
shiny.posit.co/blog/posts/s...
Want to work with me on the Shiny team at @posit.co alongside @jcheng5.bsky.social @winstonchang.bsky.social @schloerke.bsky.social @grrrck.xyz?
We're looking for another engineer, apply here posit.co/job-detail/?...
#rstats #rshiny #ShinyConf #python #pydata
Slides from my #ShinyConf talk earlier today: "LLM-Powered Shiny apps with ellmer and chatlas"
docs.google.com/presentation...
#rstats #rshiny #python #ai
A dark blue hexagon with rounded corners containing a white silhouette of Atlas kneeling and holding two white chat bubbles above him. Below the hexagon is the word "CHATLAS" in white text. The background is a lighter blue with a pattern of white lines and dots resembling a circuit board. The Posit logo is in the corner.
We are thrilled to announce chatlas, a Python package that simplifies working with large language models (LLM) in Python!
Chat, tool call, stream API calls, RAG, and more, with developer details like typing support and rich console output.
Read the post: posit.co/blog/announc...
#Python #AI
Shiny Conference 2025. Carson Sievert. Building LLM-Powered Shiny apps via ellmer and chatlas.
We're excited for #ShinyConf2025!
Posit's Carson Sievert will talk about "Building LLM-Powered Shiny apps via ellmer and chatlas"
Learn more and see the full agenda at www.shinyconf.com/agenda.
#RShiny #ShinyForPython #rstats
The Single Optimization tab showing results for the Ackley function. The interface displays optimization metrics (final value: 0.00285506, distance to minimum: 0.00285506, total iterations: 71), a contour visualization of the function and the optimization path, a convergence plot showing objective value vs iteration, and detailed results in a table format. The left sidebar contains various configuration options
The Single Optimization tab showing results for the Ackley function. The interface displays optimization metrics (final value: 0.00285506, distance to minimum: 0.00285506, total iterations: 71), a 3D visualization of the optimization path, a convergence plot showing objective value vs iteration, and detailed results in a table format. The left sidebar contains various configuration options
A 3D surface plot showing an optimization path on the Ackley function. The surface is colored in yellow to green, with a clear minimum point at the center. The optimization path is shown in red, moving from the starting point (blue dot) to the end point (purple diamond), converging towards the global minimum.
The Landscape Analysis tab of the optimization app showing a 3D visualization of the Simple Bowl (Sphere) function. The interface includes settings for test function selection, analysis type, and grid resolution on the left. The main panel displays the bowl-shaped function surface and its mathematical formula f(x) = Ξ£xα΅’Β² along with properties including domain [-5.12, 5.12], global minimum (0), and minimum location (0, 0).
Test BFGS, Nelder-Mead & other numerical optimization algorithms on classic functions like Rosenbrock & Ackley. Compare paths & landscapes in real-time. Built with #rstats #rshiny
π App: shiny.thecoatlessprofessor.com/numerical-op...
π» Code: github.com/coatless-shi...
A screenshot of a Pyodide REPL executing Polars code: import polars as pl import requests r = requests.get("https://raw.githubusercontent.com/pola-rs/polars/refs/heads/main/examples/datasets/foods2.csv") pl.read_csv(r.content).group_by("category").mean()
A screenshot of a Quarto Live code cell executing Polars code: import polars as pl import requests r = requests.get("https://raw.githubusercontent.com/pola-rs/polars/refs/heads/main/examples/datasets/foods2.csv") pl.read_csv(r.content).group_by("category").mean()
A screenshot of a Shinylive app using Polars code: from shiny import App, render, ui import polars as pl from pathlib import Path app_ui = ui.page_fluid( ui.input_select("cyl", "Select Cylinders", choices=["4", "6", "8"]), ui.output_data_frame("filtered_data") ) def server(input, output, session): df = pl.read_csv(Path(__file__).parent / "mtcars.csv") @output @render.data_frame def filtered_data(): return (df .filter(pl.col("cyl") == int(input.cyl())) .select(["mpg", "cyl", "hp"])) app = App(app_ui, server)
Recently I've been working on getting #polars running in #pyodide. This was a fun one, even requiring patches to LLVM's #wasm writer! Everything has now been upstreamed and earlier this week Pyodide v0.27.0 released, including a Wasm build of Polars usable in Pyodide, Shinylive and Quarto Live π
Great work by @halleeshearer.bsky.social in her first first-author paper. With π shiny app π to explore how FC reliability fares ACROSS DIFFERENT movies versus rest, region-by-region. Thanks @sneuroble.bsky.social @tingsterx.bsky.social @ninetlab.bsky.social for π collab.
doi.org/10.1162/imag...
I finally tried the {shinychat} #RStats π¦ and it's nice to see LLM streaming responses in an R Shiny app!
By @jcheng5.bsky.social & @cpsievert.bsky.social at @posit.co
github.com/posit-dev/sh...
#RShiny #GenAI 1/2
I've been working with a variety of #LLM / #GenAI interfaces in #Python, but I haven't found one that does exactly what I need in a streamlined way.
The new chatlas package from Posit may be just that. It supports multiple providers, structured data outputs, and more!
posit-dev.github.io/...