New release - a few new packages, some steps towards postgres, and forum post previews

Today’s upgrade included a few new packages in the standard server image:

  • OpenSCAD
  • FreeCAD
  • inkscape
  • Pillow for 3.3 and 3.4
  • flask-bootstrap
  • gensim
  • textblob

We also improved the default “Unhandled Exception” page, which is shown when a users’ web app allows an exception to bubble up to our part of the stack. We now include a slightly friendlier message, explaining to any of the users’ users that there’s an error, and explaining to the user where they can find their log files and look for debug info.

And in the background, we’ve deployed a bunch of infrastructure changes related to postgres support. We’re getting there, slowly slowly!

Oh yes, and we’ve enabled dynamic previews in the forums, so you get an idea of how the markdown syntax will translate. It actually uses the same library as stackoverflow, it’s called pagedown. Hope you find ’em useful!

Slides for Giles Thomas' EuroPython talk now online

Our founder, Giles Thomas, gave a high-level introduction to our load-balancing system as a talk at this summer’s EuroPython. There’s a video up on PyVideo: An HTTP request’s journey through a platform-as-a-service. And here are the slides [PDF].

PythonAnywhere is looking for a new developer

ancient greek cult initiation

This position is now filled

Fancy helping to build the Python world’s favourite PaaS (probably)? We’re looking for a “junior” programmer with plenty of smarts to come and join the team, learn the stuff we do, and inject some new ideas…

Read more…

New Release

Here’s what’s new in the latest version of PythonAnywhere that we released this morning:

  • User files are now on SSDs, so we’re expecting to see some performance improvements.
  • We’ve implemented a fix for the issue that we believe has been causing the recent outages and database access issues.
  • We’ve improved the general security of the PythonAnywhere web site.
  • We’ve added some minor fixes to the user interface

Outage Report for 15 July 2014

After a lengthy outage last night, we want to let you know about the events that led up to it and how we can improve our outage responses to reduce or eliminate downtime when things go wrong.

Read more…

Outage report: lengthy upgrade this morning

This morning we upgraded PythonAnywhere, and the upgrade process took much longer than expected. Here’s what happened.

Read more…

New release: Python 3.4, and more!

We released a new version of PythonAnywhere this morning. There were some nasty problems with the go-live (more about that later) but here’s what we added:

  • Python 3.4 support, both for web applications and consoles.
  • sftp and rsync
  • Move from Amazon’s us-east-1a region to us-east-1c – this will allow us to switch to newer, faster instances next week!
  • And various minor bugfixes.

Thanks to gregdelozier, Malcolm, robert, aaronzimmerman, Cartroo, barnsey, andmalc, corvax, giorgostzampanakis, dominochinese, stablum, algoqueue for the suggestions.

Minor release - bugfixes and performance tweaks

A minor release today, which included:

  • A fix for the cairo/matplotlib regression
  • Tweaks to log file permissions, to prevent an issue where they would become non-readable by the user
  • Moving from several smaller servers to fewer larger ones, for web and console servers. Overall visible performance impact should be minor, but positive.

Happy coding everyone!

PythonAnywhere News Round-up

It’s been about 6 months since we last delivered a state-of-the-PythonAnywhere address and, looking at everything that’s happened since the last one, it’s long-overdue.

Following the extremely … mixed … reaction to our upworthy/buzzfeed spoof report, we decided to gauge the reaction if we went in totally the opposite direction. So let’s get straight into PythonAnywhere’s very first newsletter of 2014 — the “style is for wimps” edition!

Read more…

Git push deployments on PythonAnywhere

Some of our frenemies in the PaaS world, who shall remain nameless, offer a “git push” model for deployment. People are fond of it, and sometimes ask us whether they could do that on PythonAnywhere too.

The answer is: you totally can! Because PythonAnywhere is, at heart, just a web-based UI wrapped around a fully-featured Linux server environment, you can do lots and lots of things.

Here are the ingredients:

  • You’ll need a paid account so that SSH access is enabled.
  • You set up a bare repo on PythonAnywhere, and set it as a remote to your local code repo.
  • And then you use a git hook to automatically deploy your code and reload the site on push.

Read more…