Today's Upgrades: Always-On Tasks
We are officially live with our always-on tasks! All paying customers will get one always-on task, and you can add more by customizing your plan on our accounts page. Our infrastructure will try to keep your script always running (ie. we will restart it if your script errors and stops etc). We’d love to know what you think- Just drop us a line using the “Feedback” link, or email us at firstname.lastname@example.org!
We have also improved user experience working with log files. You can now access our API to delete log files (or wipe the file if your particular log file is currently in use), and we have better formatting in place when logging certain web app errors.
We also optimized the editor that you can access from the ‘Files’ tab to make consoles within it start faster and to avoid scripts rerunning unintentionally.
Auto-renewing your Let's Encrypt certificate with scheduled tasks
This blog post is out-of-date – we can now manage all of your Let’s Encrypt certificates automatically. See this help page for details.
Let’s Encrypt certificates are really useful for custom domains – you can get
HTTPS working on your site for free. Their one downside is that the certificate
only lasts for 90 days, so you need to remember to renew it.
The good news is that you can set up a scheduled task to do that all for you –
no need to put anything in your calendar.
Turning a Python script into a website
One question we often hear from people starting out with PythonAnywhere is “how do I turn this
script I’ve written into a website so that other people can run it?”
That’s actually a bigger topic than you might imagine, and a complete answer would wind up
having to explain almost everything about web development. So we won’t do all of that in this
blog post :-) The good news is that simple scripts can often be turned into simple websites
pretty easily, and in this blog post we’ll work through a couple of examples.
Let’s get started!
The PythonAnywhere newsletter, September 2018
Well, our last “monthly” newsletter was in September 2017. We must have shifted the bits in the period left one, or something like that :-)
Anyway, welcome to the September 2018 PythonAnywhere newsletter :-) Here’s what we’ve been up to.
Force HTTPS on your website
One smaller feature we added in our last system update was the ability to force
HTTPS without needing to change your code. Here’s a bit more information about
why you might want to do that, and how it works.
Python 3.7 now available!
If you signed up since 28 August, you’ll have Python 3.7 available on your account – you can use it just like any other Python version.
If you signed up before then, it’s a little more complicated, because adding Python 3.7 to your account requires changing your system image.
New feature: self-installation of SSL certificates!
This blog post is out-of-date – we can now manage all of your Let’s Encrypt certificates automatically, and have a UI to upload custom certificates. See this help page for details.
Our system update last week added on an API to let you install HTTP certificates yourself
instead of having to email us. We’ve been beta-testing it over the last seven days, and it’s
now ready to go live :-)
You can either use it by accessing the API directly from your code, or by using our helper scripts
(which you can
This is the first step towards a much improved system for HTTPS – watch this space for more information.
System update this morning
We deployed a new version of PythonAnywhere this morning. Everything went pretty smoothly; there were a few problems with some hosted websites shortly afterwards (an error in a load-distribution algorithm put too many websites on some servers, and not enough on others) but some sharp-eye customers spotted the problem and let us know, and we were able to rebalance things and fix the issue quickly.
There are a couple of great new features in the new system, but we’re doing some last-minute testing before making them live – watch this space for more information :-)
Blocked in Russia
We’ve heard reports from some Russian users that PythonAnywhere, and sites that we host, are blocked by their ISPs.
The specific error message that they get when visiting the sites in Chrome is ERR_CONNECTION_TIMED_OUT – Firefox
has a similar one.
This appears to be the fallout from the Russian government’s ongoing attempts to block the use of the Telegram
instant messaging app. Because Telegram use various cloud hosting providers, including AWS and Google, the government has responded by blocking
very large ranges of IPs owned by those providers. We’re included in those ranges.
Like a lot of companies, we’re updating our terms and conditions and privacy and cookies policy
in order to comply with the
The GDPR is a large regulatory change from the
European Union, and is mostly about people’s personal data and
how it is shared.
The new T&Cs and PP will come into effect on
10 May 2018
and if you carry on using PythonAnywhere after that date, you’ll be agreeing to them, so
we figured it would be a good idea to post an explanation about the highlights of the changes.