Docs

Limitations in py.space

Using py.space means installing packages and running code on servers we control. We place some limits on what you can do in order to limit abuse and keep py.space free for everyone. This page is a summary of those limits.

If your app is getting too big for a py.space widget, all of these limits can be raised or overcome using the full-fat Anvil platform, which also has a ton more features (and is also free).

Server environment

py.space widgets execute in a sandbox with 1GB of RAM and up to 1 virtual CPU (that’s “burst capacity” - if you use it all the time you’ll find yourself throttled or cut off). If you haven’t used a widget for a while, the first call may take a few extra seconds while we start up a new sandbox with all your packages installed.

When you specify packages to install, we install them for you; if your list of packages takes longer than 10 minutes to install in our sandbox environment, or takes up more than 500MB of disk space, the build will fail. We cache your installed packages for a while, but if you haven’t used a py.space widget in ages, we might have to reinstall your packages the first time you use it. (Package builds in our free sandbox are probably a bit slower than they are on your personal computer; this is because of the security measures we’re taking. We’re working on making it faster!)

Each script, HTTP request or GUI-initiated server call runs in a separate Python interpreter, which shuts down after the call is complete. HTTP requests or GUI server calls can run for a maximum of 30 seconds before timing out; scripts can run for a maximum of 5 minutes.

For full details about the py.space server environment, see this page.

Fair Usage

If your py.space widget uses too much compute or memory, or places too much load on our servers, we may take action to reduce its impact, up to and including suspending execution on your account.

Raising your limits with Anvil

If any of these limits seem a little confining to you, we’ve got good news! py.space is built on top of the Anvil web-app development platform, which has a lot more features than py.space. It’s got version control, a database, user authentication, and much much more. If your app is getting a bit big and complex for a py.space widget, we’d encourage you to check it out. Just choose Open in Anvil from the widget menu to try it out!

By default, all py.space widgets run within the resource limits of Anvil’s Free Plan – which means that anything you can do from a py.space widget, you can do for free in Anvil. If you want to spread your wings – install bigger packages, run longer scripts, use custom domains, consume more CPU, or store lots of persistent data, for example – you might want to upgrade to one of Anvil’s paid plans.


Do you still have questions?

Our Community Forum is full of helpful information and friendly experts.