Changelog

Our latest product additions and improvements.

🧭 Main navigation

December 8, 2021

We've released the first of many small navigation changes, all intended to make it easier for you to get around the product and differentiate between exploration mode (when you need to understand how all your models, apps, and data relate to each other) and focus mode (when you’re actively building in BaseTen).

Your main navigation now includes words, because the icons in the old icon-only navigation didn’t speak for themselves. The main navigation also minimizes when you’re editing worklets and views now, to give you more space to build.

🪧 Protecting your work

November 19, 2021

We're always trying to make it easier for you to work on BaseTen, both on your own and with others. Here’s a little improvement that should help your editing experience when you have multiple windows of BaseTen open or are collaborating on BaseTen with someone else.

If you accidentally end up editing a worklet, view, or query in multiple windows, we kindly prevent you from saving changes that’ll overwrite your work. We do the same thing when you and a colleague are collaborating on an application together, so no more accidentally editing over each other's work.

🕰 Long-running tasks

November 18, 2021

ML tasks can be fairly time-consuming. Processing audio, video, and images can take minutes, sometimes even hours. While BaseTen already supported processing of up to 5 minutes per python node invocation, even that can be limiting.

We're happy to announce that long-running tasks are now a first-class citizen in BaseTen. Each python node invocation can take up to 4 hours, as long as you invoke the worklet in async mode.

If your worklet has long-running tasks, i.e. tasks that take more than a few minutes, we highly recommend marking the worklet for background execution. Then, the worklet will always execute in async mode.

Alternatively, you can pass the async flag in the API request to execute any worklet in async mode:

curl -X POST https://app.baseten.co/applications/{YOUR_APP_ID}/worklets/{YOUR_WORKLET_ID}/invoke -H 'Authorization: Api-Key YOUR_API_KEY' -d '{ "worklet_input": WORKLET_INPUT , "async": true}'

🧐 Unexplained errors, explained!

November 15, 2021

When writing any sort of software, it's inevitable to run into errors that Googling, scrolling through myriad Stack Overflow answers, and random fixes ultimately cannot resolve. Here at BaseTen, we’ve made an effort to rid you of some of that misery by adding more descriptive error messages to worklet and node outputs.

Here are a few of the errors we’ve made more clear:

  • New requirements still being applied to your python environment: If you’re trying to use new requirements right away, you’ll see a message letting you know they’re still being applied.
  • (ModuleNotFoundError): No module named 'cv2'; this might be due to the new requirements that are still being applied.
  • Timing out in a worklet or node: When you run a worklet or node with some code that times out because it runs for longer than 5 minutes, you’ll see a message encouraging you to optimize your code or run it as a background task.
  • (ReadTimeout): The node timed out. Nodes must be executed in 300s or less; you can make this error go away by optimizing your code, or running it as a background task.
  • Server errors: When you run a worklet or node with some code that causes a server error, you’ll see a message letting you know that you should try again or contact us.
  • (HTTPError): An error has occurred. Please try running your code again. If the error persists, reach out to BaseTen for more information.

Here’s to hoping you never run into unexplained errors in BaseTen 🤞 But if you do, we’re here to help. Happy coding!

✅ Select view builder component

November 3, 2021

The new select component replaces our old dropdown component, with improved functionality. Use this new select component to allow operators to select from a list of options in your app, for example, when labeling data.

Add all your options at once

In the old dropdown component, you had to configure your options one-by-one as individual input fields. With the new Select component, you can add all your options through a single display function.

Add dynamic options

You can display dynamic options in the select component. For example, the option the operator chooses in one select component could determine the options available to them in a second select component.

Search for options in the UI

When using your app, operators can type to search and more quickly find the option they’re looking for.

Create new options from the UI

If an operator searches for something and doesn’t find it in the list of existing options, you can give them the ability to easily create a new option from the UI. You can choose whether to enable or disable this functionality in the select component.

Dynamically disable the Select component

You can dynamically disable the select component. For example, you can require operators to submit text through a text input component before being able to select an option in the select component.

We’d love to see what you build with this new component.

🗑️ ​​Delete hotkey

November 2, 2021

When building our own application views, a few of us at BaseTen got frustrated when we couldn’t use the delete key to quickly remove components.

Mike to the rescue. You (and we!) can now remove components by hitting the delete key. Happy view building!

🔎 Improved model logs search

October 22, 2021

You can now search model logs using regular expressions, logging level, and time span.

👥 Invite collaborators in BaseTen

October 20, 2021

If you’ve been eagerly waiting to be able to give coworkers, friends, family, pets (anyone with an email address!) access to collaborate on your amazing BaseTen creations, look no further than this new addition to BaseTen! As an Owner or Admin in your BaseTen organization, you can now invite others to see and edit your applications, models, and data sources. Better yet, if you need to restrict editing permissions, the access is role-based. You can choose between: Admin, Creator, and Operator roles. Head over to the “Manage access” popup in your settings tab to start inviting members!

🔗 SageMaker integration

October 14, 2021

You can now import Sagemaker models into BaseTen and use them in your applications. Head over to the Import model dialog on Models page to browse your deployed models on SageMaker and import the one you want.

For more details, please refer to this blog post.

📁 Upload multiple files at once in a View

August 26, 2021

The Filepicker component in the View Builder now supports uploading multiple files! Just select everything you’d like to upload when you click on Browse and watch the magic happen ✨

Note: files uploaded using the Filepicker are uploaded to S3 as public files and are therefore visible to anyone with the URL. 🗣 Let us know in the feedback section below if you're interested in a private implementation of the Filepicker (hint: it’s coming!)

✅ Getting started with BaseTen

August 18, 2021

We’ve incorporated an onboarding checklist into BaseTen’s home screen for all users! If you’re a veteran BaseTen user (thanks for the support, we ❤️ you), you can easily get rid of the checklist for good. But if you’re new to BaseTen, fear not! This handy checklist has come to your rescue!

Embedded links in each checklist item navigate you to key aspects of BaseTen such as Applications, Models, and Views, making it easy to familiarize yourself with the product. And once you complete the onboarding process in your checklist, you can rejoice in being a certified BaseTen wizard 🧙 and continue exploring all that we have to offer!

🔗 Connecting to BigQuery is easy

August 4, 2021

We've added BigQuery to the growing list of 3rd party data sources that are natively supported within BaseTen. To allow your BaseTen apps to read from and write to your BigQuery tables, first create a BigQuery data connection and provide it with a GCP service account in JSON:

Now that the data connection is created you can interact with BigQuery within your apps in a few different ways:

Within your worklet code you can:

Within the query builder UI you can directly query BigQuery:

🕥 Scheduled worklet runs

July 28, 2021

We've added the ability for worklets to be invoked at a scheduled cadence. These scheduled runs work very similarly to cron and can be invoked hourly, daily, or weekly in whatever timezone you choose.

📊 Plotly integration

July 28, 2021

We've added a new Plotly charting component in the view builder. The component uses the Plotly JSON chart schema that can be modified in the view builder itself or can be populated from a worklet. The Plotly python library has been added to all environments. Build basic bar, line, and pie charts configuration or complex, customized visualizations.

🛬 New landing page

July 20, 2021

Previously, when you logged into BaseTen, you would land on the Applications page. While Applications will be one of the most common resources you visit, landing here made it nearly impossible to understand what else you could do within BaseTen.

To provide a better understanding of what resources have been created and what’s possible in BaseTen, we’ve introduced a new landing page. Here you will find your most recently created applications, models, and database tables, as well as shortcuts to create additional ones. We’ve also included a few quick links below, such as how to update your account information, add API keys, and more.

Please let us know if there’s something you find yourself doing frequently and we’ll do our best to add it!