Quickstart: TensorFlow-Examples on PythonAnywhere
Mar 4, 2016
by giles
Aymeric Damien’s “TensorFlow Examples” repository popped up on Hacker News today, and I decided to take a look. TensorFlow is an Open Source library Machine Intelligence, built by Google, and Aymeric’s examples are not only pretty neat, but they also have IPython notebook versions.
Here’s how I got it all running on a PythonAnywhere account, from a bash console.
Read more…
Security update applied for CVE-2016-0728
Jan 20, 2016
by giles
Yesterday, Yevgeny Pats of Perception Point security announced publicly
a local privilege escalation vulnerability in the Linux kernel,
which has been given the code CVE-2016-0728. Most Linux systems had this vulnerability.
Read more…
New stuff: UI changes, new packages, and limited Java
Jan 14, 2016
by giles
A big infrastructure update this morning, but we managed to fit in some nice new features too!
- A popular request, especially from people using PythonAnywhere in education: when you run a Python file from inside our in-browser code editor, it now shows the output of the file in a pane underneath the editor, instead of trying to pop up a new browser tab.
- Plotly is a popular package for generating interactive charts, especially in IPython notebooks. We now have it installed by default.
- For anyone who’s keen on using external databases that need ODBC to connect, we now have all of the operating system packages installed to support it on our site. Just run
pip2.7 install --user pyodbc
(adjusting the Python version as required) to get the Python package.
- We have no plans to become JavaAnywhere, but Java can be useful for some purposes, even in a Python program. We’ve started the process towards making it available; if you have Docker consoles enabled for your account, the Java command-line program will work. It doesn’t currently work in scheduled tasks or web applications. We’ll be extending support for Java in the future, but if all you want to do is run it from the command line, get in touch and we’ll enable it for your account. Feedback will definitely be appreciated!
Seasonal notebooks!
Dec 23, 2015
by giles
We’ve got a present for all of our paying customers – if you celebrate Christmas, you can call it a Christmas present, and if you don’t you can just call it a present :-)
IPython notebooks are now available on all paid accounts on PythonAnywhere. Give them a go! You can start a new one, or run one that you’ve saved or uploaded, from the “Files” tab. It’s a new feature, so we’re particularly keen on hearing any feedback you’d like to send us.
If you’re not a paying customer yet, you don’t need to feel left out – we’ll be supporting them (perhaps with a couple of limitations) on free accounts in the New Year.
Happy holidays to everyone, and we look forward to seeing you in the New Year.
Security advisory: please change your PythonAnywhere MySQL password
Nov 23, 2015
by giles
tl;dr: On 19 November we were notified of a security vulnerability on
PythonAnywhere. It could not have been used to access files on your
PythonAnywhere storage, including your code, nor was any personally
identifiable data in our databases exposed. We also have no indication that it
was ever exploited. It was fixed within two hours of notification. However,
as a precautionary measure, we are recommending that if you use MySQL on
PythonAnywhere, you should change your MySQL password.
Read more…
A beginner's guide to building a simple database-backed Flask website on PythonAnywhere
Nov 13, 2015
by giles
It’s really easy to get started with Flask on PythonAnywhere, but if it’s the
first database-backed website you’ve ever built, it can feel a little daunting.
Here are some step-by-step instructions. We’ll build a really simple website –
just a page where anyone can leave a comment, with the comments stored in a
database so that they last forever. We’ll also password-protect it so that
it doesn’t fill up with spam. Here’s what it will look like:
We assume that you’ve got a little bit of basic Python and HTML knowledge – for
example, that you’ve done an online course in both of them. Everything else
we’ll explain as we go along. Let’s get started!
Read more…
Share your code using gist consoles
Oct 30, 2015
by giles
Have you ever wanted to share some code with someone, and make it really easy for them to run it and see what it does? Perhaps an answer to a Stack Overflow question, or just something you want to link from an IRC chat where you’re explaining something? GitHub has gists, an excellent feature for sharing version-tracked code snippets, but sometimes just sharing the code isn’t enough – you want people to see what happens when they run it.
With PythonAnywhere, you can create a link that will run a gist from GitHub in a browser-based console. It’s really easy to set up!
Read more…
Docker Consoles (beta)
Sep 23, 2015
by harry
Here at PythonAnywhere industries, there’s nothing we love better than a bandwagon. Plus the logos are so cool! So it’s docker-fever in the office.
In all seriousness, we’ve been rolling our own sandboxing/virtualisation/isolation
solution and evolving it since the very first days of PythonAnywhere (4 years ago,
if you can believe that), based on chroot and cgroups and all that wonderful
containerey stuff. But we wanted to investigate Docker as an alternative
shrinkwrapped solution, and the first step of that is ready now.
Read more…
Outage report: 5 September 2015
Sep 7, 2015
by giles
From 20:30 to 23:50 UTC on 5 September, there were a number of problems on PythonAnywhere. Our own site, and those of our customers, were generally up and running, but were experiencing intermittent failures and frequent slowdowns. We’re still investigating the underlying cause of this issue; this blog post is an interim report.
Read more…
New release - Web app charts, MySQL upgrade and bug fixes
Aug 26, 2015
by glenn
Hit charts for web apps
The main change for this release is that we now report hits and errors to your web apps on the web app page. If you’re a paying user, you get pretty charts over a range of time periods. If you’re not, you’ll get a text report.
Web app error reporting
We’ve greatly improved the errors that are reported when you reload a web app.
Batteries included
As much as is possible, we have tried to bring the packages that we install for Python 3 to parity with Python 2. That means that the number of packages that come preinstalled for Python 3 has increased dramatically.
Database upgrade
All of your databases have been upgraded to MySQL 5.5.
Other stuff
We’ve also applied a number of small bug fixes, user interface improvements and stability fixes.