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

Different Versions of Python

Anvil lets you write everything in Python - both in the web browser and on the server.

Your Server Module code runs in a standard Python environment on the Anvil server. There are a few different environments to choose from.

Selecting a Python server runtime

Basic Python server environment

Basic Python is a PyPy Sandbox - this is a Python interpreter with extra security features that allow us to provide the server environment for free to everybody.

This is available in Python 3.6 (the default) or Python 2.7 versions.

Full Python server environment

The Full Python server environment is available on the Individual Plan and above

The Full Python server environment is an ordinary CPython interpreter - the standard version of Python that you probably have on your own machine. This is available on all paid tiers.

For each app, you can choose between Python 3.7 or Python 2.7 for your Server Modules.

Client-side Python

When you are writing code that runs in the web browser, there are limits to the language features and libraries you can use, because your code is being compiled to Javascript. Anvil uses Skulpt to compile Python to JavaScript in the client side.