How Anvil works: browser-side and server-side code in Python

Are you going?

36 spots left

Location image of event venue


This is the March monthly meeting. Normally some of us go on to the pub afterwards.

Meredydd Luff will talk about the inner workings of Anvil (, a platform for building full-stack web apps with nothing but Python.

For those who've already been introduced to Anvil (perhaps at a previous CamPug meeting), this is the tech talk about how it all works underneath.

For everyone else:

Building for the modern web is complicated and error-prone: a typical web app requires five different languages and four or five frameworks just to get started. Wouldn't it be nicer if we could do it all in Python? With Anvil, you can design your page visually, write your browser-side and server-side code in pure Python, and even set up a built-in database in seconds. In this talk, Meredydd will walk us through how Anvil works under the bonnet, and the challenges of building a programming system that's easy to use without sacrificing power.

Find out more about Anvil and use it for free at


**How CamPUG uses**

We mainly use meetup as a way of publicising meetings, at which it is very good. We also use the RSVP mechanism to get some idea of how many people will turn up to a meeting, but this is very inaccurate - at best, we normally get between half and two-thirds of the "yes" numbers attending.

We do not require people to pay for meetings, or acquire tickets, and we do not "take a register" of who actually turns up. We don't even insist that people have to use meetup to indicate they're coming. It is important to me that this be a free and open meeting.

This does mean that we could have a problem when a meeting is very popular and reaches the practical room size - i.e., how many will safely fit in our meeting room. Given our new venue, we don't think that is likely to happen in the near future, but we have put a limit on the number of "yes" RSVP replies: larger than the actual room size, but hopefully not too large.