Live Chat

We'll need to share your messages (and your email address if you're logged in) with our live chat provider, Drift. Here's their privacy policy.

If you don't want to do this, you can email us instead at

Blog - Page 4

Anvil News - December
20th of December 2018

A happy holiday season to everybody! As the nights draw in and the temperatures drop*, we’ve been working hard to make Anvil even cooler.

* Temperature changes may vary by hemisphere. Consult your globe for more information.

Titles, logos and descriptions

Now you can customise the public face of your app using Titles and Logos. This configures search engine and social media previews as well as your app’s favicon and the title of the browser tab.

Look for Titles and Logos under the Gear menu Gear Menu Icon to brand your app!

Introducing the Anvil Library

There’s now a library of useful components to clone for free and use in your apps.

Click here to check it out

The components are implemented as Anvil apps, so they are composed of the standard atomic Anvil Toolbox components. This means you can see exactly how they work and modify them to suit your requirements.

The current list of components in the library is:

  • An input Form validation module
  • A translation module
  • A multi-select DropDown component
  • A progress bar
  • A sliding toggle switch
  • An input box that displays results as queries are typed

We’ll be adding more components as time goes on. If you have any requests, why not start a thread in the Forum?

Do you have a component to share? We welcome submissions. Contact us at!

A special thanks goes to David Wylie for his excellent Multi-Select DropDown and Toggle Switch/Progress Bar components, which are available for everybody in the library.

Even more ways to search our documentation

We’re constantly adding to our documentation search system. A single search box finds results from the Reference Docs, our tutorials and cookbooks, selected Forum posts, example apps to clone, and other specially-written hints and snippets.

Use the ‘How do I…’ search box in the top-right corner of the Anvil editor, or visit the Learning Centre or Knowledge Base pages for a bigger version.

Other updates

As usual, we’ve been working on the details too. Here are a few details you might have missed:

  • The Data Tables Service now tells you how many Rows are in your table.

  • Remembered user sessions are now stored in the Users table in Data Tables, so you can delete them to log users out.

  • There’s now a distinct URL associated with editing an app, so you can bookmark the Anvil editor with an app open.

Until next time, happy building! See you in the New Year.

Anvil News - November
30th of November 2018

Anvil On Tour: Upcoming Events

We will be presenting at a bunch of development- and Python-related meetups over the next few months. Come and join us!

(Want us at your local meetup? Get in touch, wherever you are:

  • Nov 22nd: London, UK (London Python, pictured above)
    We had a great response at London Python, and a lot of interest afterwards. We’ve already been invited back!

  • Dec 4th: St Louis, MO, USA (STL Python)
    Stefano Menci will be leading a hands-on workshop in St Louis.

  • Jan 8th: Indianapolis, IN, USA (IndyPy)
    This is the Indianapolis pitch competition for PyCon Startup Row. Last year, we built the voting app for the competition, live on stage in London. This year, we’re giving a full-length talk.

  • Jan 10th: Frederick, MA, USA (Python Frederick)
    Meredydd Luff will be demonstrating Anvil, and talking about how it works under the hood.

  • Jan 17th: Manchester, UK (North West Python)
    Meredydd will be demonstrating Anvil, and talking about how it works under the hood.

  • Jan 29th: Sheffield, UK (Python Sheffield)
    Workshop time! Come and try Anvil yourself with friendly hands-on assistance.

  • Feb 21st: Oxford, UK (Oxford Python)
    Meredydd will be demonstrating Anvil, and talking about how it works under the hood.

  • May 3-5: Cleveland, OH, USA (PyCon)
    We’re already confirmed as sponsors for PyCon 2018 – find us in the exhibition hall, and meet up with other Anvil users.

Bring Anvil to your event

We’d love to present at your local Python, data science or development meetup – we do local or remote presentations all over the world. Drop us a line at

We can also offer help and materials if you’d like to lead an Anvil workshop yourself - just get in touch.

We hope to see you at an event soon!

Anvil News - September
26th of September 2018

Meetups, Security, Data Grids, and More

Do you attend a coding, Python or data-science meetup? Would you like Anvil to come and present there? We’re presenting at meetups across the UK, and events all over the world (including remote presentations). If you want us to stop by your event or user group, send an email to and let us know!

Meanwhile, here’s what’s new in Anvil this month:

Data Grids

Of course, this month’s big news is the release of Data Grids. It’s our most-requested feature, and a massive help to anyone working with tabular data. Check out our announcement and the Getting Started tutorial.

Enforcing secure passwords for your users

Password security is more important than ever. That’s why we’ve just introduced the “Require Secure Passwords” option in Anvil’s user authentication service.

When you select “Require Secure Passwords”, Anvil prevents your users from re-using a password that’s too short, or has already been leaked in a data breach. We can check for data breaches without revealing passwords to anyone, thanks to the k-anonymity feature from Have I Been Pwned. You can learn more about how it works in this blog post from Cloudflare.

“Require Secure Passwords” is enabled by default for all new apps, and you should turn it on for your existing apps too!


Another much-requested feature: Now, almost every component has a tooltip property. Set it to display some extra text when you hover your mouse over the component!

On-Site Installation

Did you know that you can install Anvil on your own servers? You can now get an on-site trial instance running in 10 minutes or less, easier than ever before! To learn more about running Anvil on your corporate network, or on your own cloud servers, contact us at

That’s it for this month. If you’ve got any questions, come and ask us on the Anvil user forum.

Happy coding!

Announcing Data Grids
12th of September 2018

Create interactive tables with minimal effort

If you’re writing a web app, chances are you’ll have data in tables. And at some point you’ll probably want to show your users a table of data they can page through.

Doing that in Anvil just got even easier. By popular demand, and without further ado:

Introducing the DataGrid component

Data Grids are an easy way to show data that naturally fits into rows and columns. With built-in support for paging, they can handle large numbers of rows while remaining performant.

Data Grids can be populated from any source. It’s easy to link them up to your Data Tables:

self.repeating_panel_1.items =

or you could set up some tabulated data yourself:

    self.repeating_panel_1.items = [
      {'ingredient': 'Flour', 'weight': 225, 'cost': 150},
      {'ingredient': 'Milk', 'weight': 150, 'cost': 100},
      {'ingredient': 'Eggs', 'weight': 175, 'cost': 80},
      {'ingredient': 'Butter', 'weight': 175, 'cost': 250},
      {'ingredient': 'Maple Syrup', 'weight': 250, 'cost': 300},

All of this is covered in our first Data Grid tutorial: Getting Started with Data Grids.

You can also get more advanced. For example, you can nest components inside rows of a data grid to group related data together (as described in our tutorial, Paginated Grouping with Data Grids):

You can create custom widgets that control the behaviour of the Data Grid itself. You can read how to create a search box, an add button, or a page number selector:

Data Grids are only limited by your imagination. Anything you can put together out of Anvil components, you can add to a Data Grid row. And because this is Anvil, you can write Python code to assemble Data Grids and make them behave however you like.

In the example above, we’ve built a full CRUD app in a single component! We’ve got data from a Data Table, displayed in a Data Grid, with a search box, page size selector, and widgets to add, edit, and delete rows.

Click the link to open it in the Anvil editor and have a play:

  Clone Example App

To find out more, take a look at our Data Grid tutorials:

  Read the tutorials

Anvil News - August
22nd of August 2018

SQL, T-Shirts, Embedding and more…

Are you going to PyCon UK in Cardiff next month? We’ll be there, showing people how to build full-stack web apps with nothing but Python, at our stall in the Great Hall. As always, we’ll give out a nifty Anvil T-shirt to anyone who builds an app with Anvil during the conference.

This time around, we used SciPy and Anvil to work out how many T-shirts we need to bring. The answer involved a little stats, a little SciPy, and a whole lot of Python, so I wrote it up as a blog post. Check it out: How Many T-shirts Do I Need for a Developer Conference?

Meanwhile, here’s what’s new in Anvil this month:

1. Get the Best out of Material Design

We’ve published a guide to making your apps look their best with Anvil’s Material Design theme. Change your colour palette, build a sidebar menu, or use custom CSS to control your app’s appearance.

Click here to read the guide

2. Direct SQL access to data tables

Anvil’s internal database is powered by Postgres. Now, if you’re a Dedicated Server user, you can connect directly to it and write queries with SQL! Look for the check-box in the Data Table configuration:

3. Embed your Anvil apps in other websites

We’ve made it easier to embed Anvil apps in other websites. When you open the Publish dialog, you now get a checkbox for “Embed this app in” a web page”. Enable it, then copy and paste the HTML snippet into any website to include your Anvil app there!

4. The Free Plan is bigger and better!

It’s great to see what hobby users, prototypers, educators and students have been doing with Anvil. We’ve made Anvil even better for them, by enabling more of our advanced features - like the Uplink and the Users service - on the Free plan. Check it out!

(You’ll still need to upgrade for a full Python server environment, to remove the Anvil banners, or to use your own domain name, though.)

5. Other Updates

As always, we’re making Anvil better all the time. Here are a few things you might have missed:

  • We’ve added a few more example apps to our examples page - including the time we built prototypes of two Silicon Valley startups in a couple of hours each!

  • We’ve made it easier to lay things out in our drag-and-drop designer. Look out for the dotted lines to see which container you’re dropping a container in.

  • If you’re storing encrypted App Secrets in your Anvil app, you can now enter longer, multi-line strings. (Great for private SSH keys!)

  • The modules for our Google and Facebook integrations have moved - they’re now and anvil.facebook. Don’t worry, your existing apps still work!

  • Your apps now load a little faster :)

Happy coding!

Learn More

Get the best out of Anvil with our free email course.