Skip to main content

Rill 0.2 – Working in the open

· 4 min read

⚡ Rill Developer is a tool that makes it effortless to transform your datasets with SQL. These are our release notes for our 0.2.0 release, still in Tech Preview.

To try out Rill Developer, check out these instructions and let us know over on Discord if you encounter any problems or have ideas about how to improve Rill Developer!

This post marks our first release of Rill Developer since we publicly opened up our repository a month ago.

And with this release, we’re also committing publicly to building Rill Developer in the open. You’ll notice our Github Issues tab is now overflowing with tasks, bugs, and nits we’re working on. These are available for you to see right now & we will be communicating in Github.

These release notes are also something we’d like to be shipping to you regularly, as frequently as we ship new versions of Rill Developer. We’re still thinking about how we want to publicly share our roadmap, so expect further developments in future versions.

We’ve been working very hard since we released Rill Developer to figure out our roadmap this year. We’ll be releasing that roadmap sometime in a future release.

So what new features are we shipping on 0.2.0? For one thing, a bunch of bug fixes surfaced by people who were nice enough to give it a spin when we first announced. And also:

Install Rill Developer straight from NPM

Before this release, the only way to try out Rill Developer was to clone the repository from Github and run a set of npm commands, or to use Docker. Now, you can easily get the latest version by running npm install -g @rilldata/rill . This will give you the rill CLI command. So for instance, you can then commands like rill import-table path/to/file.csv . Rill Developer is still pretty slow to install; DuckDB’s node bindings will still need to build. We’re thinking different solutions to this problem, but we’re holding off on implementing them until we have figured out how we are going to refactor the backend. But suffice to say, there’s a much better update path now than there was before!

Import data directly from the interface

One of our priorities is to make it easier to import datasets directly into the interface. We knew when we first launched Rill Developer that importing data was going to be kind of clunky. This was an intentional tradeoff so that we could ship sooner and start getting feedback from people. With this release, you’ll notice that the “tables” list on the left now has a little plus button. You can click on that and it will import whatever csv or parquet files you select. We have plans to make this import process even easier in the future, but this is a start.

Connect to a pre-existing DuckDB database

We’ve made it possible to have Rill Developer listen to a pre-existing DuckDB database. This will enable devs who are using DuckDB for something else (such as the endpoint of a local dbt pipeline, or something created from a Jupyter notebook) to do a last-mile transformation & profiling of the tables in that database.

Materialize your project files to the filesystem

In this release, every model created in the interface will be added to your project directory under models/. This materialization is now the source of truth; changes to the model file will result in re-profiling in the interface. Similarly, we are now listening to the duckdb database for changes in tables, so if you manually drop a table in a database in one process, Rill Developer will pick up those changes in the interface. These features are a bit rough as-is, and we’ll be working to solidify them in the next release. In the future, we’ll likely (1) make sure these aren’t super buggy 🙂 and (2) create special views that can be added to your editor of choice, so you can write your model queries in (for instance) vscode and have a pane that does the profiling.

That’s it for now. Expect many, many more features, improvements, and exciting new analysis workflows in Rill Developer in the coming months!