Carson Sievert (he/him)

@cpsievert.bsky.social

Shiny engineer at Posit (formerly RStudio). #rstats #python

I'm happy to share `ir`, a new command-line tool for running portable R scripts and Quarto documents. It's inspired by my two favorite parts of `uv`: self-describing scripts and tools you can run without installing first. opensource.posit.co/blog/2026-07...

ir 0.1.0: self-describing R scripts and Quarto documents

`ir` is a new command-line tool for running portable R scripts and rendering Quarto documents whose package requirements, and optional R selection, live inside the file itself.

opensource.posit.co

Using LLM chat in a browser interface is just the beginning. You can unlock so much more power programmatically! At Pyladies Monterrey, I spoke about chatlas, a lightweight library that connects #Python with LLMs. Check out the slides and summary (in 🇪🇸 and 🇬🇧): ivelasq.rbind.io/talk/connect...

Connecting Python with LLMs – %>% dreams

This talk explores how to connect Python code directly to LLMs using chatlas, a lightweight library that makes LLM integration straightforward and flexible.

ivelasq.rbind.io

Announcing posit::glimpse() May 2026! ✨ Key open-source updates for #RStats, #Python, and now #SQL: 📊 ggsql: Grammar of graphics for SQL 🤖 raghilda: Simplified RAG in Python 🔭 Shiny + pointblank: Built-in OpenTelemetry support 🦀 Quarto 2: A Rust-based future Read more: posit.co/blog/2026-05...

posit::glimpse() Newsletter - May 2026

We’re introducing new packages like ggsql and raghila, alongside major updates to Quarto and many other open-source packages.

posit.co

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

plumber2 0.1.0

plumber2, a complete rewrite of plumber, has landed on CRAN, providing a modern, future proof solution for creating web servers in R. Read all about the new features here.

tidyverse.org

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

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.

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 🎉

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)