New release -- better virtualenv handling for webapps, tmux, mutt, and our education beta

Morning all!

A pleasingly smooth deploy this morning, allowing us to bring you some new features we hope you’ll like:

  • The web tab now has the option to specify a virtualenv, which will then be used by the uWSGI workers that run your web app. This avoids the ugly exec activate_this hack we had to recommend, and should avoid issues with shadowing. More info here and here.

  • Thanks to Conrad (yay new guy!), we’ve added tmux and mutt as available binaries in consoles, for all you terminal wizzzards out there.

  • And we’re doing a soft launch of our (very lean, very early) education beta. We’ve started to built out some more features to make PythonAnywhere a great place to teach + learn Python, so do get in touch if you’re and educator and want to get involved.

That’s about that! Keep hassling us for new features, and we’ll keep trying to deliver them as soon as we can…

#VATMESS - or, how a taxation change took 4 developers a week to handle

A lot of people are talking about the problems that are being caused by a recent change to taxation in the EU; this TechCrunch article gives a nice overview of the issues. But we thought it would be fun just to tell about our experience - for general interest, and as an example of what one UK startup had to do to implement these changes. Short version: it hasn’t been fun.

Read more…

New PythonAnywhere update: Mobile, UI, packages, reliability, and the dreaded EU VAT change

We released a bunch of updates to PythonAnywhere today :-) Short version: we’ve made some improvements to the iPad and Android experience, applied fixes to our in-browser console, added a bunch of new pre-installed packages, done a big database upgrade that should make unplanned outages rarer and shorter, and made changes required by EU VAT legislation (EU customers will soon be charged their local VAT rate instead of UK VAT).

Read more…

PythonAnywhere now supports Postgres

Finally!

tl;dr: upgrade to a Custom account and you can now add Postgres

Read more…

New release -- new console with 256 colours, some fixes to task logging, and the P-thing.

Exciting new deploy today!

A new console

Obviously, the most important thing we did was to switch out our javascript console for a new one that supports 256 colours! And slightly more sane copy + paste. And it works on Android, or at least it does on Lollipop. Giles recommends the Hackers keyboard. Still doesn’t work on my blackberry though.

For the curious, it’s based on hterm which is a part of Chromium…

Some new packages

Of secondary importance, we added a few new packages, including TA-lib, pytesseract, and a thing called ruffus.

Improved logging of scheduled tasks

Scheduled tasks now log directly to files in /var/log, rather than storing their output in our database. That means they’ll get log-rotated like everything else in there, and if you call flush on your sys.stdout, you may even be able to see live updates while tasks are still running. I think.

New database type supported.

Oh, and we also released a new database type, it’s called Postgres, I’m told it’s quite popular. Skip on over to the accounts page and get yourself a Custom account if you want to check it out.

Happy coding everyone!

Outage report: 1st November 2014

We had an outage this morning that lasted about an hour. We’ve established the cause, fixed the problem, and all sites are now back up. Apologies to all those affected. More detail follows.

Read more…

Maintenance release: trusty + process listings

Hi All,

A maintenance release today, so nothing too exciting. Still, a couple of things you may care about:

  • We’ve updated to Ubuntu Trusty. Although we weren’t vulnerable to shellshock, it’s nice to have the updated Bash, and to be on an LTS release

  • We’ve added an oft-requested feature to be able to view all your running console processes. You’ll find it at the bottom of the consoles page. The UI probably needs a bit of work, you need to hit refresh to update the list, but it’s a solution for when you think you have some detached processes chewing up your CPU quota! Let us know what you think.

Other than that, we’ve updated our client-side for our Postgres beta to 9.4, and added some of the PostGIS utilities. (Email us if you want to check out the beta). We also fixed an issue where a redirect loop would break the “reload” button on web apps, and we’ve added weasyprint and python-svn to the batteries included.

Try PythonAnywhere for free for a month!

Angkor Wat steps
Step Right Up Folks, Step Right Up...

OK, so we already have a free account, but we’d like to give out a free trial of our most popular paid plan, the “Web Developer” plan. Here’s what you have to do to claim your free schtuff.

Read more…

Site updates on 1 October 2014

We’ve just updated PythonAnywhere, and there’s some great news: Postgres is now in beta! We’ve switched it on for a select list of beta testers; if you’d like to join, drop us a line at support@pythonanywhere.com.

There have also been some minor tweaks and updates:

  • New installed packages: OpenCV, the libproj Ubuntu package (useful for some Python GIS packages), WeasyPrint,
  • General website speedup (improved minifying of CSS and JavaScript).
  • The “Web” and “Databases” tabs remember which sub-tab you’re on between visits.
  • Better validation on the web tab.
  • The page displayed for web apps that have their DNS set up to route to PythonAnywhere but haven’t been set up has a better explanation of what’s going on.

Test-Driving a docker-based Postgres service using py.test

[cross-posted at Obey The Testing Goat!]

We’ve been working on incorporating a Postgres database service into PythonAnywhere, and we decided to make it into a bit of a standalone project. The shiny is that we’re using Docker to containerise Postgres servers for our users, and while we were at it we thought we’d try a bit of a different approach to testing. I’d be interested in feedback – what do you like, what might you do differently?

Read more…